Skip to content

Commit ccaa329

Browse files
Amazon EventBridge adds support for customer-managed keys on Archives and validations for two fields: eventSourceArn and kmsKeyIdentifier.
1 parent 9492b57 commit ccaa329

28 files changed

+447
-404
lines changed

generator/ServiceModels/eventbridge/eventbridge-2015-10-07.api.json

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -911,7 +911,7 @@
911911
"type":"structure",
912912
"members":{
913913
"ArchiveName":{"shape":"ArchiveName"},
914-
"EventSourceArn":{"shape":"Arn"},
914+
"EventSourceArn":{"shape":"EventBusArn"},
915915
"State":{"shape":"ArchiveState"},
916916
"StateReason":{"shape":"ArchiveStateReason"},
917917
"RetentionDays":{"shape":"RetentionDays"},
@@ -1284,10 +1284,11 @@
12841284
],
12851285
"members":{
12861286
"ArchiveName":{"shape":"ArchiveName"},
1287-
"EventSourceArn":{"shape":"Arn"},
1287+
"EventSourceArn":{"shape":"EventBusArn"},
12881288
"Description":{"shape":"ArchiveDescription"},
12891289
"EventPattern":{"shape":"EventPattern"},
1290-
"RetentionDays":{"shape":"RetentionDays"}
1290+
"RetentionDays":{"shape":"RetentionDays"},
1291+
"KmsKeyIdentifier":{"shape":"KmsKeyIdentifier"}
12911292
}
12921293
},
12931294
"CreateArchiveResponse":{
@@ -1605,11 +1606,12 @@
16051606
"members":{
16061607
"ArchiveArn":{"shape":"ArchiveArn"},
16071608
"ArchiveName":{"shape":"ArchiveName"},
1608-
"EventSourceArn":{"shape":"Arn"},
1609+
"EventSourceArn":{"shape":"EventBusArn"},
16091610
"Description":{"shape":"ArchiveDescription"},
16101611
"EventPattern":{"shape":"EventPattern"},
16111612
"State":{"shape":"ArchiveState"},
16121613
"StateReason":{"shape":"ArchiveStateReason"},
1614+
"KmsKeyIdentifier":{"shape":"KmsKeyIdentifier"},
16131615
"RetentionDays":{"shape":"RetentionDays"},
16141616
"SizeBytes":{"shape":"Long"},
16151617
"EventCount":{"shape":"Long"},
@@ -1750,7 +1752,7 @@
17501752
"Description":{"shape":"ReplayDescription"},
17511753
"State":{"shape":"ReplayState"},
17521754
"StateReason":{"shape":"ReplayStateReason"},
1753-
"EventSourceArn":{"shape":"Arn"},
1755+
"EventSourceArn":{"shape":"ArchiveArn"},
17541756
"Destination":{"shape":"ReplayDestination"},
17551757
"EventStartTime":{"shape":"Timestamp"},
17561758
"EventEndTime":{"shape":"Timestamp"},
@@ -1913,6 +1915,12 @@
19131915
"LastModifiedTime":{"shape":"Timestamp"}
19141916
}
19151917
},
1918+
"EventBusArn":{
1919+
"type":"string",
1920+
"max":1600,
1921+
"min":1,
1922+
"pattern":"^arn:aws([a-z]|\\-)*:events:([a-z]|\\d|\\-)*:([0-9]{12})?:.+\\/.+$"
1923+
},
19161924
"EventBusDescription":{
19171925
"type":"string",
19181926
"max":512
@@ -2104,7 +2112,8 @@
21042112
},
21052113
"KmsKeyIdentifier":{
21062114
"type":"string",
2107-
"max":2048
2115+
"max":2048,
2116+
"pattern":"^[a-zA-Z0-9_\\-/:]*$"
21082117
},
21092118
"LaunchType":{
21102119
"type":"string",
@@ -2149,7 +2158,7 @@
21492158
"type":"structure",
21502159
"members":{
21512160
"NamePrefix":{"shape":"ArchiveName"},
2152-
"EventSourceArn":{"shape":"Arn"},
2161+
"EventSourceArn":{"shape":"EventBusArn"},
21532162
"State":{"shape":"ArchiveState"},
21542163
"NextToken":{"shape":"NextToken"},
21552164
"Limit":{"shape":"LimitMax100"}
@@ -2261,7 +2270,7 @@
22612270
"members":{
22622271
"NamePrefix":{"shape":"ReplayName"},
22632272
"State":{"shape":"ReplayState"},
2264-
"EventSourceArn":{"shape":"Arn"},
2273+
"EventSourceArn":{"shape":"ArchiveArn"},
22652274
"NextToken":{"shape":"NextToken"},
22662275
"Limit":{"shape":"LimitMax100"}
22672276
}
@@ -2745,7 +2754,7 @@
27452754
"type":"structure",
27462755
"members":{
27472756
"ReplayName":{"shape":"ReplayName"},
2748-
"EventSourceArn":{"shape":"Arn"},
2757+
"EventSourceArn":{"shape":"ArchiveArn"},
27492758
"State":{"shape":"ReplayState"},
27502759
"StateReason":{"shape":"ReplayStateReason"},
27512760
"EventStartTime":{"shape":"Timestamp"},
@@ -3046,7 +3055,7 @@
30463055
"members":{
30473056
"ReplayName":{"shape":"ReplayName"},
30483057
"Description":{"shape":"ReplayDescription"},
3049-
"EventSourceArn":{"shape":"Arn"},
3058+
"EventSourceArn":{"shape":"ArchiveArn"},
30503059
"EventStartTime":{"shape":"Timestamp"},
30513060
"EventEndTime":{"shape":"Timestamp"},
30523061
"Destination":{"shape":"ReplayDestination"}
@@ -3267,7 +3276,8 @@
32673276
"ArchiveName":{"shape":"ArchiveName"},
32683277
"Description":{"shape":"ArchiveDescription"},
32693278
"EventPattern":{"shape":"EventPattern"},
3270-
"RetentionDays":{"shape":"RetentionDays"}
3279+
"RetentionDays":{"shape":"RetentionDays"},
3280+
"KmsKeyIdentifier":{"shape":"KmsKeyIdentifier"}
32713281
}
32723282
},
32733283
"UpdateArchiveResponse":{

generator/ServiceModels/eventbridge/eventbridge-2015-10-07.docs.json

Lines changed: 33 additions & 25 deletions
Large diffs are not rendered by default.

generator/ServiceModels/eventbridge/eventbridge-2015-10-07.normal.json

Lines changed: 45 additions & 26 deletions
Large diffs are not rendered by default.

sdk/code-analysis/ServiceAnalysis/EventBridge/Generated/PropertyValueRules.xml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,12 @@
7575
<property>Amazon.EventBridge.Model.CreateArchiveRequest.EventSourceArn</property>
7676
<min>1</min>
7777
<max>1600</max>
78+
<pattern>^arn:aws([a-z]|\-)*:events:([a-z]|\d|\-)*:([0-9]{12})?:.+\/.+$</pattern>
79+
</property-value-rule>
80+
<property-value-rule>
81+
<property>Amazon.EventBridge.Model.CreateArchiveRequest.KmsKeyIdentifier</property>
82+
<max>2048</max>
83+
<pattern>^[a-zA-Z0-9_\-/:]*$</pattern>
7884
</property-value-rule>
7985
<property-value-rule>
8086
<property>Amazon.EventBridge.Model.CreateArchiveRequest.RetentionDays</property>
@@ -156,6 +162,7 @@
156162
<property-value-rule>
157163
<property>Amazon.EventBridge.Model.CreateEventBusRequest.KmsKeyIdentifier</property>
158164
<max>2048</max>
165+
<pattern>^[a-zA-Z0-9_\-/:]*$</pattern>
159166
</property-value-rule>
160167
<property-value-rule>
161168
<property>Amazon.EventBridge.Model.CreateEventBusRequest.Name</property>
@@ -170,6 +177,7 @@
170177
<property-value-rule>
171178
<property>Amazon.EventBridge.Model.CreateEventBusResponse.KmsKeyIdentifier</property>
172179
<max>2048</max>
180+
<pattern>^[a-zA-Z0-9_\-/:]*$</pattern>
173181
</property-value-rule>
174182
<property-value-rule>
175183
<property>Amazon.EventBridge.Model.CreatePartnerEventSourceRequest.Account</property>
@@ -331,6 +339,12 @@
331339
<property>Amazon.EventBridge.Model.DescribeArchiveResponse.EventSourceArn</property>
332340
<min>1</min>
333341
<max>1600</max>
342+
<pattern>^arn:aws([a-z]|\-)*:events:([a-z]|\d|\-)*:([0-9]{12})?:.+\/.+$</pattern>
343+
</property-value-rule>
344+
<property-value-rule>
345+
<property>Amazon.EventBridge.Model.DescribeArchiveResponse.KmsKeyIdentifier</property>
346+
<max>2048</max>
347+
<pattern>^[a-zA-Z0-9_\-/:]*$</pattern>
334348
</property-value-rule>
335349
<property-value-rule>
336350
<property>Amazon.EventBridge.Model.DescribeArchiveResponse.RetentionDays</property>
@@ -441,6 +455,7 @@
441455
<property-value-rule>
442456
<property>Amazon.EventBridge.Model.DescribeEventBusResponse.KmsKeyIdentifier</property>
443457
<max>2048</max>
458+
<pattern>^[a-zA-Z0-9_\-/:]*$</pattern>
444459
</property-value-rule>
445460
<property-value-rule>
446461
<property>Amazon.EventBridge.Model.DescribeEventSourceRequest.Name</property>
@@ -469,6 +484,7 @@
469484
<property>Amazon.EventBridge.Model.DescribeReplayResponse.EventSourceArn</property>
470485
<min>1</min>
471486
<max>1600</max>
487+
<pattern>^arn:aws([a-z]|\-)*:events:([a-z]|\d|\-)*:([0-9]{12})?:.+\/.+$</pattern>
472488
</property-value-rule>
473489
<property-value-rule>
474490
<property>Amazon.EventBridge.Model.DescribeReplayResponse.ReplayArn</property>
@@ -598,6 +614,7 @@
598614
<property>Amazon.EventBridge.Model.ListArchivesRequest.EventSourceArn</property>
599615
<min>1</min>
600616
<max>1600</max>
617+
<pattern>^arn:aws([a-z]|\-)*:events:([a-z]|\d|\-)*:([0-9]{12})?:.+\/.+$</pattern>
601618
</property-value-rule>
602619
<property-value-rule>
603620
<property>Amazon.EventBridge.Model.ListArchivesRequest.Limit</property>
@@ -756,6 +773,7 @@
756773
<property>Amazon.EventBridge.Model.ListReplaysRequest.EventSourceArn</property>
757774
<min>1</min>
758775
<max>1600</max>
776+
<pattern>^arn:aws([a-z]|\-)*:events:([a-z]|\d|\-)*:([0-9]{12})?:.+\/.+$</pattern>
759777
</property-value-rule>
760778
<property-value-rule>
761779
<property>Amazon.EventBridge.Model.ListReplaysRequest.Limit</property>
@@ -972,6 +990,7 @@
972990
<property>Amazon.EventBridge.Model.StartReplayRequest.EventSourceArn</property>
973991
<min>1</min>
974992
<max>1600</max>
993+
<pattern>^arn:aws([a-z]|\-)*:events:([a-z]|\d|\-)*:([0-9]{12})?:.+\/.+$</pattern>
975994
</property-value-rule>
976995
<property-value-rule>
977996
<property>Amazon.EventBridge.Model.StartReplayRequest.ReplayName</property>
@@ -1052,6 +1071,11 @@
10521071
<property>Amazon.EventBridge.Model.UpdateArchiveRequest.EventPattern</property>
10531072
<max>4096</max>
10541073
</property-value-rule>
1074+
<property-value-rule>
1075+
<property>Amazon.EventBridge.Model.UpdateArchiveRequest.KmsKeyIdentifier</property>
1076+
<max>2048</max>
1077+
<pattern>^[a-zA-Z0-9_\-/:]*$</pattern>
1078+
</property-value-rule>
10551079
<property-value-rule>
10561080
<property>Amazon.EventBridge.Model.UpdateArchiveRequest.RetentionDays</property>
10571081
<min>0</min>
@@ -1138,6 +1162,7 @@
11381162
<property-value-rule>
11391163
<property>Amazon.EventBridge.Model.UpdateEventBusRequest.KmsKeyIdentifier</property>
11401164
<max>2048</max>
1165+
<pattern>^[a-zA-Z0-9_\-/:]*$</pattern>
11411166
</property-value-rule>
11421167
<property-value-rule>
11431168
<property>Amazon.EventBridge.Model.UpdateEventBusRequest.Name</property>
@@ -1152,6 +1177,7 @@
11521177
<property-value-rule>
11531178
<property>Amazon.EventBridge.Model.UpdateEventBusResponse.KmsKeyIdentifier</property>
11541179
<max>2048</max>
1180+
<pattern>^[a-zA-Z0-9_\-/:]*$</pattern>
11551181
</property-value-rule>
11561182
<property-value-rule>
11571183
<property>Amazon.EventBridge.Model.UpdateEventBusResponse.Name</property>
@@ -1202,6 +1228,7 @@
12021228
<property>Amazon.EventBridge.Model.Archive.EventSourceArn</property>
12031229
<min>1</min>
12041230
<max>1600</max>
1231+
<pattern>^arn:aws([a-z]|\-)*:events:([a-z]|\d|\-)*:([0-9]{12})?:.+\/.+$</pattern>
12051232
</property-value-rule>
12061233
<property-value-rule>
12071234
<property>Amazon.EventBridge.Model.Archive.RetentionDays</property>
@@ -1513,6 +1540,7 @@
15131540
<property>Amazon.EventBridge.Model.Replay.EventSourceArn</property>
15141541
<min>1</min>
15151542
<max>1600</max>
1543+
<pattern>^arn:aws([a-z]|\-)*:events:([a-z]|\d|\-)*:([0-9]{12})?:.+\/.+$</pattern>
15161544
</property-value-rule>
15171545
<property-value-rule>
15181546
<property>Amazon.EventBridge.Model.Replay.ReplayName</property>

sdk/src/Services/EventBridge/Generated/Model/AccessDeniedException.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
namespace Amazon.EventBridge.Model
3131
{
3232
/// <summary>
33-
/// You do not have the necessary permissons for this action.
33+
/// You do not have the necessary permissions for this action.
3434
/// </summary>
3535
#if !NETSTANDARD
3636
[Serializable]

sdk/src/Services/EventBridge/Generated/Model/ConnectivityResourceConfigurationArn.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@
3030
namespace Amazon.EventBridge.Model
3131
{
3232
/// <summary>
33-
/// The Amazon Resource Name (ARN) of the resource configuration for the resource endpoint.
33+
/// The Amazon Resource Name (ARN) of the Amazon VPC Lattice resource configuration for
34+
/// the resource endpoint.
3435
/// </summary>
3536
public partial class ConnectivityResourceConfigurationArn
3637
{
@@ -39,7 +40,8 @@ public partial class ConnectivityResourceConfigurationArn
3940
/// <summary>
4041
/// Gets and sets the property ResourceConfigurationArn.
4142
/// <para>
42-
/// The Amazon Resource Name (ARN) of the resource configuration for the resource endpoint.
43+
/// The Amazon Resource Name (ARN) of the Amazon VPC Lattice resource configuration for
44+
/// the resource endpoint.
4345
/// </para>
4446
/// </summary>
4547
[AWSProperty(Required=true, Min=0, Max=2048)]

sdk/src/Services/EventBridge/Generated/Model/CreateArchiveRequest.cs

Lines changed: 52 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -37,41 +37,26 @@ namespace Amazon.EventBridge.Model
3737
/// events sent to the archive, all events are sent to the archive except replayed events.
3838
/// Replayed events are not sent to an archive.
3939
///
40-
/// <note>
40+
/// <important>
4141
/// <para>
42-
/// Archives and schema discovery are not supported for event buses encrypted using a
43-
/// customer managed key. EventBridge returns an error if:
42+
/// If you have specified that EventBridge use a customer managed key for encrypting the
43+
/// source event bus, we strongly recommend you also specify a customer managed key for
44+
/// any archives for the event bus as well.
4445
/// </para>
45-
/// <ul> <li>
46+
///
4647
/// <para>
47-
/// You call <c> <a href="https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_CreateArchive.html">CreateArchive</a>
48-
/// </c> on an event bus set to use a customer managed key for encryption.
48+
/// For more information, see <a href="https://docs.aws.amazon.com/eventbridge/latest/userguide/encryption-archives.html">Encrypting
49+
/// archives</a> in the <i>Amazon EventBridge User Guide</i>.
4950
/// </para>
50-
/// </li> <li>
51-
/// <para>
52-
/// You call <c> <a href="https://docs.aws.amazon.com/eventbridge/latest/schema-reference/v1-discoverers.html#CreateDiscoverer">CreateDiscoverer</a>
53-
/// </c> on an event bus set to use a customer managed key for encryption.
54-
/// </para>
55-
/// </li> <li>
56-
/// <para>
57-
/// You call <c> <a href="https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_UpdatedEventBus.html">UpdatedEventBus</a>
58-
/// </c> to set a customer managed key on an event bus with an archives or schema discovery
59-
/// enabled.
60-
/// </para>
61-
/// </li> </ul>
62-
/// <para>
63-
/// To enable archives or schema discovery on an event bus, choose to use an Amazon Web
64-
/// Services owned key. For more information, see <a href="https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-encryption.html">Data
65-
/// encryption in EventBridge</a> in the <i>Amazon EventBridge User Guide</i>.
66-
/// </para>
67-
/// </note>
51+
/// </important>
6852
/// </summary>
6953
public partial class CreateArchiveRequest : AmazonEventBridgeRequest
7054
{
7155
private string _archiveName;
7256
private string _description;
7357
private string _eventPattern;
7458
private string _eventSourceArn;
59+
private string _kmsKeyIdentifier;
7560
private int? _retentionDays;
7661

7762
/// <summary>
@@ -150,6 +135,49 @@ internal bool IsSetEventSourceArn()
150135
return this._eventSourceArn != null;
151136
}
152137

138+
/// <summary>
139+
/// Gets and sets the property KmsKeyIdentifier.
140+
/// <para>
141+
/// The identifier of the KMS customer managed key for EventBridge to use, if you choose
142+
/// to use a customer managed key to encrypt this archive. The identifier can be the key
143+
/// Amazon Resource Name (ARN), KeyId, key alias, or key alias ARN.
144+
/// </para>
145+
///
146+
/// <para>
147+
/// If you do not specify a customer managed key identifier, EventBridge uses an Amazon
148+
/// Web Services owned key to encrypt the archive.
149+
/// </para>
150+
///
151+
/// <para>
152+
/// For more information, see <a href="https://docs.aws.amazon.com/kms/latest/developerguide/viewing-keys.html">Identify
153+
/// and view keys</a> in the <i>Key Management Service Developer Guide</i>.
154+
/// </para>
155+
/// <important>
156+
/// <para>
157+
/// If you have specified that EventBridge use a customer managed key for encrypting the
158+
/// source event bus, we strongly recommend you also specify a customer managed key for
159+
/// any archives for the event bus as well.
160+
/// </para>
161+
///
162+
/// <para>
163+
/// For more information, see <a href="https://docs.aws.amazon.com/eventbridge/latest/userguide/encryption-archives.html">Encrypting
164+
/// archives</a> in the <i>Amazon EventBridge User Guide</i>.
165+
/// </para>
166+
/// </important>
167+
/// </summary>
168+
[AWSProperty(Max=2048)]
169+
public string KmsKeyIdentifier
170+
{
171+
get { return this._kmsKeyIdentifier; }
172+
set { this._kmsKeyIdentifier = value; }
173+
}
174+
175+
// Check to see if KmsKeyIdentifier property is set
176+
internal bool IsSetKmsKeyIdentifier()
177+
{
178+
return this._kmsKeyIdentifier != null;
179+
}
180+
153181
/// <summary>
154182
/// Gets and sets the property RetentionDays.
155183
/// <para>

sdk/src/Services/EventBridge/Generated/Model/CreateConnectionRequest.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,13 +118,12 @@ internal bool IsSetDescription()
118118
/// <summary>
119119
/// Gets and sets the property InvocationConnectivityParameters.
120120
/// <para>
121-
/// For connections to private resource endpoints, the parameters to use for invoking
122-
/// the resource endpoint.
121+
/// For connections to private APIs, the parameters to use for invoking the API.
123122
/// </para>
124123
///
125124
/// <para>
126-
/// For more information, see <a href="https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-target-connection-private.html">Connecting
127-
/// to private resources</a> in the <i> <i>Amazon EventBridge User Guide</i> </i>.
125+
/// For more information, see <a href="https://docs.aws.amazon.com/eventbridge/latest/userguide/connection-private.html">Connecting
126+
/// to private APIs</a> in the <i> <i>Amazon EventBridge User Guide</i> </i>.
128127
/// </para>
129128
/// </summary>
130129
public ConnectivityResourceParameters InvocationConnectivityParameters

0 commit comments

Comments
 (0)