UNPKG

123 kBTypeScriptView Raw
1import * as cdk from '@aws-cdk/core';
2import * as cfn_parse from '@aws-cdk/core/lib/helpers-internal';
3/**
4 * Properties for defining a `CfnApiDestination`
5 *
6 * @struct
7 * @stability external
8 *
9 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html
10 */
11export interface CfnApiDestinationProps {
12 /**
13 * The ARN of the connection to use for the API destination. The destination endpoint must support the authorization type specified for the connection.
14 *
15 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-connectionarn
16 */
17 readonly connectionArn: string;
18 /**
19 * The method to use for the request to the HTTP invocation endpoint.
20 *
21 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-httpmethod
22 */
23 readonly httpMethod: string;
24 /**
25 * The URL to the HTTP invocation endpoint for the API destination.
26 *
27 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-invocationendpoint
28 */
29 readonly invocationEndpoint: string;
30 /**
31 * A description for the API destination to create.
32 *
33 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-description
34 */
35 readonly description?: string;
36 /**
37 * The maximum number of requests per second to send to the HTTP invocation endpoint.
38 *
39 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-invocationratelimitpersecond
40 */
41 readonly invocationRateLimitPerSecond?: number;
42 /**
43 * The name for the API destination to create.
44 *
45 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-name
46 */
47 readonly name?: string;
48}
49/**
50 * A CloudFormation `AWS::Events::ApiDestination`
51 *
52 * Creates an API destination, which is an HTTP invocation endpoint configured as a target for events.
53 *
54 * When using ApiDesinations with OAuth authentication we recommend these best practices:
55 *
56 * - Create a secret in Secrets Manager with your OAuth credentials.
57 * - Reference that secret in your CloudFormation template for `AWS::Events::Connection` using CloudFormation dynamic reference syntax. For more information, see [Secrets Manager secrets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html#dynamic-references-secretsmanager) .
58 *
59 * When the Connection resource is created the secret will be passed to EventBridge and stored in the customer account using “Service Linked Secrets,” effectively creating two secrets. This will minimize the cost because the original secret is only accessed when a CloudFormation template is created or updated, not every time an event is sent to the ApiDestination. The secret stored in the customer account by EventBridge is the one used for each event sent to the ApiDestination and AWS is responsible for the fees.
60 *
61 * > The secret stored in the customer account by EventBridge can’t be updated directly, only when a CloudFormation template is updated.
62 *
63 * For examples of CloudFormation templates that use secrets, see [Examples](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#aws-resource-events-connection--examples) .
64 *
65 * @cloudformationResource AWS::Events::ApiDestination
66 * @stability external
67 *
68 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html
69 */
70export declare class CfnApiDestination extends cdk.CfnResource implements cdk.IInspectable {
71 /**
72 * The CloudFormation resource type name for this resource class.
73 */
74 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::Events::ApiDestination";
75 /**
76 * A factory method that creates a new instance of this class from an object
77 * containing the CloudFormation properties of this resource.
78 * Used in the @aws-cdk/cloudformation-include module.
79 *
80 * @internal
81 */
82 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnApiDestination;
83 /**
84 * The ARN of the API destination that was created by the request.
85 * @cloudformationAttribute Arn
86 */
87 readonly attrArn: string;
88 /**
89 * The ARN of the connection to use for the API destination. The destination endpoint must support the authorization type specified for the connection.
90 *
91 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-connectionarn
92 */
93 connectionArn: string;
94 /**
95 * The method to use for the request to the HTTP invocation endpoint.
96 *
97 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-httpmethod
98 */
99 httpMethod: string;
100 /**
101 * The URL to the HTTP invocation endpoint for the API destination.
102 *
103 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-invocationendpoint
104 */
105 invocationEndpoint: string;
106 /**
107 * A description for the API destination to create.
108 *
109 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-description
110 */
111 description: string | undefined;
112 /**
113 * The maximum number of requests per second to send to the HTTP invocation endpoint.
114 *
115 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-invocationratelimitpersecond
116 */
117 invocationRateLimitPerSecond: number | undefined;
118 /**
119 * The name for the API destination to create.
120 *
121 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-apidestination.html#cfn-events-apidestination-name
122 */
123 name: string | undefined;
124 /**
125 * Create a new `AWS::Events::ApiDestination`.
126 *
127 * @param scope - scope in which this resource is defined
128 * @param id - scoped id of the resource
129 * @param props - resource properties
130 */
131 constructor(scope: cdk.Construct, id: string, props: CfnApiDestinationProps);
132 /**
133 * Examines the CloudFormation resource and discloses attributes.
134 *
135 * @param inspector - tree inspector to collect and process attributes
136 *
137 */
138 inspect(inspector: cdk.TreeInspector): void;
139 protected get cfnProperties(): {
140 [key: string]: any;
141 };
142 protected renderProperties(props: {
143 [key: string]: any;
144 }): {
145 [key: string]: any;
146 };
147}
148/**
149 * Properties for defining a `CfnArchive`
150 *
151 * @struct
152 * @stability external
153 *
154 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html
155 */
156export interface CfnArchiveProps {
157 /**
158 * The ARN of the event bus that sends events to the archive.
159 *
160 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-sourcearn
161 */
162 readonly sourceArn: string;
163 /**
164 * The name for the archive to create.
165 *
166 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-archivename
167 */
168 readonly archiveName?: string;
169 /**
170 * A description for the archive.
171 *
172 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-description
173 */
174 readonly description?: string;
175 /**
176 * An event pattern to use to filter events sent to the archive.
177 *
178 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-eventpattern
179 */
180 readonly eventPattern?: any | cdk.IResolvable;
181 /**
182 * The number of days to retain events for. Default value is 0. If set to 0, events are retained indefinitely
183 *
184 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-retentiondays
185 */
186 readonly retentionDays?: number;
187}
188/**
189 * A CloudFormation `AWS::Events::Archive`
190 *
191 * Creates an archive of events with the specified settings. When you create an archive, incoming events might not immediately start being sent to the archive. Allow a short period of time for changes to take effect. If you do not specify a pattern to filter events sent to the archive, all events are sent to the archive except replayed events. Replayed events are not sent to an archive.
192 *
193 * @cloudformationResource AWS::Events::Archive
194 * @stability external
195 *
196 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html
197 */
198export declare class CfnArchive extends cdk.CfnResource implements cdk.IInspectable {
199 /**
200 * The CloudFormation resource type name for this resource class.
201 */
202 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::Events::Archive";
203 /**
204 * A factory method that creates a new instance of this class from an object
205 * containing the CloudFormation properties of this resource.
206 * Used in the @aws-cdk/cloudformation-include module.
207 *
208 * @internal
209 */
210 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnArchive;
211 /**
212 * The archive name.
213 * @cloudformationAttribute ArchiveName
214 */
215 readonly attrArchiveName: string;
216 /**
217 * The ARN of the archive created.
218 * @cloudformationAttribute Arn
219 */
220 readonly attrArn: string;
221 /**
222 * The ARN of the event bus that sends events to the archive.
223 *
224 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-sourcearn
225 */
226 sourceArn: string;
227 /**
228 * The name for the archive to create.
229 *
230 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-archivename
231 */
232 archiveName: string | undefined;
233 /**
234 * A description for the archive.
235 *
236 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-description
237 */
238 description: string | undefined;
239 /**
240 * An event pattern to use to filter events sent to the archive.
241 *
242 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-eventpattern
243 */
244 eventPattern: any | cdk.IResolvable | undefined;
245 /**
246 * The number of days to retain events for. Default value is 0. If set to 0, events are retained indefinitely
247 *
248 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-archive.html#cfn-events-archive-retentiondays
249 */
250 retentionDays: number | undefined;
251 /**
252 * Create a new `AWS::Events::Archive`.
253 *
254 * @param scope - scope in which this resource is defined
255 * @param id - scoped id of the resource
256 * @param props - resource properties
257 */
258 constructor(scope: cdk.Construct, id: string, props: CfnArchiveProps);
259 /**
260 * Examines the CloudFormation resource and discloses attributes.
261 *
262 * @param inspector - tree inspector to collect and process attributes
263 *
264 */
265 inspect(inspector: cdk.TreeInspector): void;
266 protected get cfnProperties(): {
267 [key: string]: any;
268 };
269 protected renderProperties(props: {
270 [key: string]: any;
271 }): {
272 [key: string]: any;
273 };
274}
275/**
276 * Properties for defining a `CfnConnection`
277 *
278 * @struct
279 * @stability external
280 *
281 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html
282 */
283export interface CfnConnectionProps {
284 /**
285 * The type of authorization to use for the connection.
286 *
287 * > OAUTH tokens are refreshed when a 401 or 407 response is returned.
288 *
289 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-authorizationtype
290 */
291 readonly authorizationType: string;
292 /**
293 * A `CreateConnectionAuthRequestParameters` object that contains the authorization parameters to use to authorize with the endpoint.
294 *
295 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-authparameters
296 */
297 readonly authParameters: CfnConnection.AuthParametersProperty | cdk.IResolvable;
298 /**
299 * A description for the connection to create.
300 *
301 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-description
302 */
303 readonly description?: string;
304 /**
305 * The name for the connection to create.
306 *
307 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-name
308 */
309 readonly name?: string;
310}
311/**
312 * A CloudFormation `AWS::Events::Connection`
313 *
314 * Creates a connection. A connection defines the authorization type and credentials to use for authorization with an API destination HTTP endpoint.
315 *
316 * @cloudformationResource AWS::Events::Connection
317 * @stability external
318 *
319 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html
320 */
321export declare class CfnConnection extends cdk.CfnResource implements cdk.IInspectable {
322 /**
323 * The CloudFormation resource type name for this resource class.
324 */
325 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::Events::Connection";
326 /**
327 * A factory method that creates a new instance of this class from an object
328 * containing the CloudFormation properties of this resource.
329 * Used in the @aws-cdk/cloudformation-include module.
330 *
331 * @internal
332 */
333 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnConnection;
334 /**
335 * The ARN of the connection that was created by the request.
336 * @cloudformationAttribute Arn
337 */
338 readonly attrArn: string;
339 /**
340 * The ARN for the secret created for the connection.
341 * @cloudformationAttribute SecretArn
342 */
343 readonly attrSecretArn: string;
344 /**
345 * The type of authorization to use for the connection.
346 *
347 * > OAUTH tokens are refreshed when a 401 or 407 response is returned.
348 *
349 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-authorizationtype
350 */
351 authorizationType: string;
352 /**
353 * A `CreateConnectionAuthRequestParameters` object that contains the authorization parameters to use to authorize with the endpoint.
354 *
355 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-authparameters
356 */
357 authParameters: CfnConnection.AuthParametersProperty | cdk.IResolvable;
358 /**
359 * A description for the connection to create.
360 *
361 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-description
362 */
363 description: string | undefined;
364 /**
365 * The name for the connection to create.
366 *
367 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-connection.html#cfn-events-connection-name
368 */
369 name: string | undefined;
370 /**
371 * Create a new `AWS::Events::Connection`.
372 *
373 * @param scope - scope in which this resource is defined
374 * @param id - scoped id of the resource
375 * @param props - resource properties
376 */
377 constructor(scope: cdk.Construct, id: string, props: CfnConnectionProps);
378 /**
379 * Examines the CloudFormation resource and discloses attributes.
380 *
381 * @param inspector - tree inspector to collect and process attributes
382 *
383 */
384 inspect(inspector: cdk.TreeInspector): void;
385 protected get cfnProperties(): {
386 [key: string]: any;
387 };
388 protected renderProperties(props: {
389 [key: string]: any;
390 }): {
391 [key: string]: any;
392 };
393}
394export declare namespace CfnConnection {
395 /**
396 * Contains the API key authorization parameters for the connection.
397 *
398 * @struct
399 * @stability external
400 *
401 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-apikeyauthparameters.html
402 */
403 interface ApiKeyAuthParametersProperty {
404 /**
405 * The name of the API key to use for authorization.
406 *
407 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-apikeyauthparameters.html#cfn-events-connection-apikeyauthparameters-apikeyname
408 */
409 readonly apiKeyName: string;
410 /**
411 * The value for the API key to use for authorization.
412 *
413 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-apikeyauthparameters.html#cfn-events-connection-apikeyauthparameters-apikeyvalue
414 */
415 readonly apiKeyValue: string;
416 }
417}
418export declare namespace CfnConnection {
419 /**
420 * Contains the authorization parameters to use for the connection.
421 *
422 * @struct
423 * @stability external
424 *
425 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-authparameters.html
426 */
427 interface AuthParametersProperty {
428 /**
429 * The API Key parameters to use for authorization.
430 *
431 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-authparameters.html#cfn-events-connection-authparameters-apikeyauthparameters
432 */
433 readonly apiKeyAuthParameters?: CfnConnection.ApiKeyAuthParametersProperty | cdk.IResolvable;
434 /**
435 * The authorization parameters for Basic authorization.
436 *
437 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-authparameters.html#cfn-events-connection-authparameters-basicauthparameters
438 */
439 readonly basicAuthParameters?: CfnConnection.BasicAuthParametersProperty | cdk.IResolvable;
440 /**
441 * Additional parameters for the connection that are passed through with every invocation to the HTTP endpoint.
442 *
443 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-authparameters.html#cfn-events-connection-authparameters-invocationhttpparameters
444 */
445 readonly invocationHttpParameters?: CfnConnection.ConnectionHttpParametersProperty | cdk.IResolvable;
446 /**
447 * The OAuth parameters to use for authorization.
448 *
449 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-authparameters.html#cfn-events-connection-authparameters-oauthparameters
450 */
451 readonly oAuthParameters?: CfnConnection.OAuthParametersProperty | cdk.IResolvable;
452 }
453}
454export declare namespace CfnConnection {
455 /**
456 * Contains the Basic authorization parameters for the connection.
457 *
458 * @struct
459 * @stability external
460 *
461 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-basicauthparameters.html
462 */
463 interface BasicAuthParametersProperty {
464 /**
465 * The password associated with the user name to use for Basic authorization.
466 *
467 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-basicauthparameters.html#cfn-events-connection-basicauthparameters-password
468 */
469 readonly password: string;
470 /**
471 * The user name to use for Basic authorization.
472 *
473 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-basicauthparameters.html#cfn-events-connection-basicauthparameters-username
474 */
475 readonly username: string;
476 }
477}
478export declare namespace CfnConnection {
479 /**
480 * Contains the OAuth authorization parameters to use for the connection.
481 *
482 * @struct
483 * @stability external
484 *
485 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-clientparameters.html
486 */
487 interface ClientParametersProperty {
488 /**
489 * The client ID to use for OAuth authorization.
490 *
491 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-clientparameters.html#cfn-events-connection-clientparameters-clientid
492 */
493 readonly clientId: string;
494 /**
495 * The client secret assciated with the client ID to use for OAuth authorization.
496 *
497 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-clientparameters.html#cfn-events-connection-clientparameters-clientsecret
498 */
499 readonly clientSecret: string;
500 }
501}
502export declare namespace CfnConnection {
503 /**
504 * Contains additional parameters for the connection.
505 *
506 * @struct
507 * @stability external
508 *
509 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-connectionhttpparameters.html
510 */
511 interface ConnectionHttpParametersProperty {
512 /**
513 * Contains additional body string parameters for the connection.
514 *
515 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-connectionhttpparameters.html#cfn-events-connection-connectionhttpparameters-bodyparameters
516 */
517 readonly bodyParameters?: Array<CfnConnection.ParameterProperty | cdk.IResolvable> | cdk.IResolvable;
518 /**
519 * Contains additional header parameters for the connection.
520 *
521 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-connectionhttpparameters.html#cfn-events-connection-connectionhttpparameters-headerparameters
522 */
523 readonly headerParameters?: Array<CfnConnection.ParameterProperty | cdk.IResolvable> | cdk.IResolvable;
524 /**
525 * Contains additional query string parameters for the connection.
526 *
527 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-connectionhttpparameters.html#cfn-events-connection-connectionhttpparameters-querystringparameters
528 */
529 readonly queryStringParameters?: Array<CfnConnection.ParameterProperty | cdk.IResolvable> | cdk.IResolvable;
530 }
531}
532export declare namespace CfnConnection {
533 /**
534 * Contains the OAuth authorization parameters to use for the connection.
535 *
536 * @struct
537 * @stability external
538 *
539 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-oauthparameters.html
540 */
541 interface OAuthParametersProperty {
542 /**
543 * The URL to the authorization endpoint when OAuth is specified as the authorization type.
544 *
545 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-oauthparameters.html#cfn-events-connection-oauthparameters-authorizationendpoint
546 */
547 readonly authorizationEndpoint: string;
548 /**
549 * A `CreateConnectionOAuthClientRequestParameters` object that contains the client parameters for OAuth authorization.
550 *
551 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-oauthparameters.html#cfn-events-connection-oauthparameters-clientparameters
552 */
553 readonly clientParameters: CfnConnection.ClientParametersProperty | cdk.IResolvable;
554 /**
555 * The method to use for the authorization request.
556 *
557 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-oauthparameters.html#cfn-events-connection-oauthparameters-httpmethod
558 */
559 readonly httpMethod: string;
560 /**
561 * A `ConnectionHttpParameters` object that contains details about the additional parameters to use for the connection.
562 *
563 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-oauthparameters.html#cfn-events-connection-oauthparameters-oauthhttpparameters
564 */
565 readonly oAuthHttpParameters?: CfnConnection.ConnectionHttpParametersProperty | cdk.IResolvable;
566 }
567}
568export declare namespace CfnConnection {
569 /**
570 * Additional query string parameter for the connection. You can include up to 100 additional query string parameters per request. Each additional parameter counts towards the event payload size, which cannot exceed 64 KB.
571 *
572 * @struct
573 * @stability external
574 *
575 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-parameter.html
576 */
577 interface ParameterProperty {
578 /**
579 * Specifies whether the value is secret.
580 *
581 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-parameter.html#cfn-events-connection-parameter-isvaluesecret
582 */
583 readonly isValueSecret?: boolean | cdk.IResolvable;
584 /**
585 * The key for a query string parameter.
586 *
587 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-parameter.html#cfn-events-connection-parameter-key
588 */
589 readonly key: string;
590 /**
591 * The value associated with the key for the query string parameter.
592 *
593 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-connection-parameter.html#cfn-events-connection-parameter-value
594 */
595 readonly value: string;
596 }
597}
598/**
599 * Properties for defining a `CfnEndpoint`
600 *
601 * @struct
602 * @stability external
603 *
604 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html
605 */
606export interface CfnEndpointProps {
607 /**
608 * The event buses being used by the endpoint.
609 *
610 * *Exactly* : `2`
611 *
612 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-eventbuses
613 */
614 readonly eventBuses: Array<CfnEndpoint.EndpointEventBusProperty | cdk.IResolvable> | cdk.IResolvable;
615 /**
616 * The name of the endpoint.
617 *
618 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-name
619 */
620 readonly name: string;
621 /**
622 * The routing configuration of the endpoint.
623 *
624 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-routingconfig
625 */
626 readonly routingConfig: CfnEndpoint.RoutingConfigProperty | cdk.IResolvable;
627 /**
628 * A description for the endpoint.
629 *
630 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-description
631 */
632 readonly description?: string;
633 /**
634 * Whether event replication was enabled or disabled for this endpoint. The default state is `ENABLED` which means you must supply a `RoleArn` . If you don't have a `RoleArn` or you don't want event replication enabled, set the state to `DISABLED` .
635 *
636 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-replicationconfig
637 */
638 readonly replicationConfig?: CfnEndpoint.ReplicationConfigProperty | cdk.IResolvable;
639 /**
640 * The ARN of the role used by event replication for the endpoint.
641 *
642 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-rolearn
643 */
644 readonly roleArn?: string;
645}
646/**
647 * A CloudFormation `AWS::Events::Endpoint`
648 *
649 * A global endpoint used to improve your application's availability by making it regional-fault tolerant. For more information about global endpoints, see [Making applications Regional-fault tolerant with global endpoints and event replication](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-global-endpoints.html) in the Amazon EventBridge User Guide.
650 *
651 * @cloudformationResource AWS::Events::Endpoint
652 * @stability external
653 *
654 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html
655 */
656export declare class CfnEndpoint extends cdk.CfnResource implements cdk.IInspectable {
657 /**
658 * The CloudFormation resource type name for this resource class.
659 */
660 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::Events::Endpoint";
661 /**
662 * A factory method that creates a new instance of this class from an object
663 * containing the CloudFormation properties of this resource.
664 * Used in the @aws-cdk/cloudformation-include module.
665 *
666 * @internal
667 */
668 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnEndpoint;
669 /**
670 * The ARN of the endpoint.
671 * @cloudformationAttribute Arn
672 */
673 readonly attrArn: string;
674 /**
675 * The ID of the endpoint.
676 * @cloudformationAttribute EndpointId
677 */
678 readonly attrEndpointId: string;
679 /**
680 * The URL of the endpoint.
681 * @cloudformationAttribute EndpointUrl
682 */
683 readonly attrEndpointUrl: string;
684 /**
685 * The current state of the endpoint.
686 * @cloudformationAttribute State
687 */
688 readonly attrState: string;
689 /**
690 * The reason the endpoint is in its current state.
691 * @cloudformationAttribute StateReason
692 */
693 readonly attrStateReason: string;
694 /**
695 * The event buses being used by the endpoint.
696 *
697 * *Exactly* : `2`
698 *
699 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-eventbuses
700 */
701 eventBuses: Array<CfnEndpoint.EndpointEventBusProperty | cdk.IResolvable> | cdk.IResolvable;
702 /**
703 * The name of the endpoint.
704 *
705 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-name
706 */
707 name: string;
708 /**
709 * The routing configuration of the endpoint.
710 *
711 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-routingconfig
712 */
713 routingConfig: CfnEndpoint.RoutingConfigProperty | cdk.IResolvable;
714 /**
715 * A description for the endpoint.
716 *
717 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-description
718 */
719 description: string | undefined;
720 /**
721 * Whether event replication was enabled or disabled for this endpoint. The default state is `ENABLED` which means you must supply a `RoleArn` . If you don't have a `RoleArn` or you don't want event replication enabled, set the state to `DISABLED` .
722 *
723 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-replicationconfig
724 */
725 replicationConfig: CfnEndpoint.ReplicationConfigProperty | cdk.IResolvable | undefined;
726 /**
727 * The ARN of the role used by event replication for the endpoint.
728 *
729 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-endpoint.html#cfn-events-endpoint-rolearn
730 */
731 roleArn: string | undefined;
732 /**
733 * Create a new `AWS::Events::Endpoint`.
734 *
735 * @param scope - scope in which this resource is defined
736 * @param id - scoped id of the resource
737 * @param props - resource properties
738 */
739 constructor(scope: cdk.Construct, id: string, props: CfnEndpointProps);
740 /**
741 * Examines the CloudFormation resource and discloses attributes.
742 *
743 * @param inspector - tree inspector to collect and process attributes
744 *
745 */
746 inspect(inspector: cdk.TreeInspector): void;
747 protected get cfnProperties(): {
748 [key: string]: any;
749 };
750 protected renderProperties(props: {
751 [key: string]: any;
752 }): {
753 [key: string]: any;
754 };
755}
756export declare namespace CfnEndpoint {
757 /**
758 * The event buses the endpoint is associated with.
759 *
760 * @struct
761 * @stability external
762 *
763 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-endpointeventbus.html
764 */
765 interface EndpointEventBusProperty {
766 /**
767 * The ARN of the event bus the endpoint is associated with.
768 *
769 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-endpointeventbus.html#cfn-events-endpoint-endpointeventbus-eventbusarn
770 */
771 readonly eventBusArn: string;
772 }
773}
774export declare namespace CfnEndpoint {
775 /**
776 * The failover configuration for an endpoint. This includes what triggers failover and what happens when it's triggered.
777 *
778 * @struct
779 * @stability external
780 *
781 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-failoverconfig.html
782 */
783 interface FailoverConfigProperty {
784 /**
785 * The main Region of the endpoint.
786 *
787 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-failoverconfig.html#cfn-events-endpoint-failoverconfig-primary
788 */
789 readonly primary: CfnEndpoint.PrimaryProperty | cdk.IResolvable;
790 /**
791 * The Region that events are routed to when failover is triggered or event replication is enabled.
792 *
793 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-failoverconfig.html#cfn-events-endpoint-failoverconfig-secondary
794 */
795 readonly secondary: CfnEndpoint.SecondaryProperty | cdk.IResolvable;
796 }
797}
798export declare namespace CfnEndpoint {
799 /**
800 * The primary Region of the endpoint.
801 *
802 * @struct
803 * @stability external
804 *
805 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-primary.html
806 */
807 interface PrimaryProperty {
808 /**
809 * The ARN of the health check used by the endpoint to determine whether failover is triggered.
810 *
811 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-primary.html#cfn-events-endpoint-primary-healthcheck
812 */
813 readonly healthCheck: string;
814 }
815}
816export declare namespace CfnEndpoint {
817 /**
818 * Endpoints can replicate all events to the secondary Region.
819 *
820 * @struct
821 * @stability external
822 *
823 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-replicationconfig.html
824 */
825 interface ReplicationConfigProperty {
826 /**
827 * The state of event replication.
828 *
829 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-replicationconfig.html#cfn-events-endpoint-replicationconfig-state
830 */
831 readonly state: string;
832 }
833}
834export declare namespace CfnEndpoint {
835 /**
836 * The routing configuration of the endpoint.
837 *
838 * @struct
839 * @stability external
840 *
841 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-routingconfig.html
842 */
843 interface RoutingConfigProperty {
844 /**
845 * The failover configuration for an endpoint. This includes what triggers failover and what happens when it's triggered.
846 *
847 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-routingconfig.html#cfn-events-endpoint-routingconfig-failoverconfig
848 */
849 readonly failoverConfig: CfnEndpoint.FailoverConfigProperty | cdk.IResolvable;
850 }
851}
852export declare namespace CfnEndpoint {
853 /**
854 * The secondary Region that processes events when failover is triggered or replication is enabled.
855 *
856 * @struct
857 * @stability external
858 *
859 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-secondary.html
860 */
861 interface SecondaryProperty {
862 /**
863 * Defines the secondary Region.
864 *
865 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-endpoint-secondary.html#cfn-events-endpoint-secondary-route
866 */
867 readonly route: string;
868 }
869}
870/**
871 * Properties for defining a `CfnEventBus`
872 *
873 * @struct
874 * @stability external
875 *
876 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html
877 */
878export interface CfnEventBusProps {
879 /**
880 * The name of the new event bus.
881 *
882 * Custom event bus names can't contain the `/` character, but you can use the `/` character in partner event bus names. In addition, for partner event buses, the name must exactly match the name of the partner event source that this event bus is matched to.
883 *
884 * You can't use the name `default` for a custom event bus, as this name is already used for your account's default event bus.
885 *
886 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html#cfn-events-eventbus-name
887 */
888 readonly name: string;
889 /**
890 * If you are creating a partner event bus, this specifies the partner event source that the new event bus will be matched with.
891 *
892 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html#cfn-events-eventbus-eventsourcename
893 */
894 readonly eventSourceName?: string;
895 /**
896 * Tags to associate with the event bus.
897 *
898 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html#cfn-events-eventbus-tags
899 */
900 readonly tags?: CfnEventBus.TagEntryProperty[];
901}
902/**
903 * A CloudFormation `AWS::Events::EventBus`
904 *
905 * Creates a new event bus within your account. This can be a custom event bus which you can use to receive events from your custom applications and services, or it can be a partner event bus which can be matched to a partner event source.
906 *
907 * @cloudformationResource AWS::Events::EventBus
908 * @stability external
909 *
910 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html
911 */
912export declare class CfnEventBus extends cdk.CfnResource implements cdk.IInspectable {
913 /**
914 * The CloudFormation resource type name for this resource class.
915 */
916 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::Events::EventBus";
917 /**
918 * A factory method that creates a new instance of this class from an object
919 * containing the CloudFormation properties of this resource.
920 * Used in the @aws-cdk/cloudformation-include module.
921 *
922 * @internal
923 */
924 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnEventBus;
925 /**
926 * The ARN of the event bus, such as `arn:aws:events:us-east-2:123456789012:event-bus/aws.partner/PartnerName/acct1/repo1` .
927 * @cloudformationAttribute Arn
928 */
929 readonly attrArn: string;
930 /**
931 * The name of the event bus, such as `PartnerName/acct1/repo1` .
932 * @cloudformationAttribute Name
933 */
934 readonly attrName: string;
935 /**
936 * The policy for the event bus in JSON form.
937 * @cloudformationAttribute Policy
938 */
939 readonly attrPolicy: string;
940 /**
941 * The name of the new event bus.
942 *
943 * Custom event bus names can't contain the `/` character, but you can use the `/` character in partner event bus names. In addition, for partner event buses, the name must exactly match the name of the partner event source that this event bus is matched to.
944 *
945 * You can't use the name `default` for a custom event bus, as this name is already used for your account's default event bus.
946 *
947 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html#cfn-events-eventbus-name
948 */
949 name: string;
950 /**
951 * If you are creating a partner event bus, this specifies the partner event source that the new event bus will be matched with.
952 *
953 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html#cfn-events-eventbus-eventsourcename
954 */
955 eventSourceName: string | undefined;
956 /**
957 * Tags to associate with the event bus.
958 *
959 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbus.html#cfn-events-eventbus-tags
960 */
961 tags: CfnEventBus.TagEntryProperty[] | undefined;
962 /**
963 * Create a new `AWS::Events::EventBus`.
964 *
965 * @param scope - scope in which this resource is defined
966 * @param id - scoped id of the resource
967 * @param props - resource properties
968 */
969 constructor(scope: cdk.Construct, id: string, props: CfnEventBusProps);
970 /**
971 * Examines the CloudFormation resource and discloses attributes.
972 *
973 * @param inspector - tree inspector to collect and process attributes
974 *
975 */
976 inspect(inspector: cdk.TreeInspector): void;
977 protected get cfnProperties(): {
978 [key: string]: any;
979 };
980 protected renderProperties(props: {
981 [key: string]: any;
982 }): {
983 [key: string]: any;
984 };
985}
986export declare namespace CfnEventBus {
987 /**
988 * A key-value pair associated with an AWS resource. In EventBridge, rules and event buses support tagging.
989 *
990 * @struct
991 * @stability external
992 *
993 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbus-tagentry.html
994 */
995 interface TagEntryProperty {
996 /**
997 * A string you can use to assign a value. The combination of tag keys and values can help you organize and categorize your resources.
998 *
999 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbus-tagentry.html#cfn-events-eventbus-tagentry-key
1000 */
1001 readonly key: string;
1002 /**
1003 * The value for the specified tag key.
1004 *
1005 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbus-tagentry.html#cfn-events-eventbus-tagentry-value
1006 */
1007 readonly value: string;
1008 }
1009}
1010/**
1011 * Properties for defining a `CfnEventBusPolicy`
1012 *
1013 * @struct
1014 * @stability external
1015 *
1016 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html
1017 */
1018export interface CfnEventBusPolicyProps {
1019 /**
1020 * An identifier string for the external account that you are granting permissions to. If you later want to revoke the permission for this external account, specify this `StatementId` when you run [RemovePermission](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_RemovePermission.html) .
1021 *
1022 * > Each `StatementId` must be unique.
1023 *
1024 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-statementid
1025 */
1026 readonly statementId: string;
1027 /**
1028 * The action that you are enabling the other account to perform.
1029 *
1030 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-action
1031 */
1032 readonly action?: string;
1033 /**
1034 * This parameter enables you to limit the permission to accounts that fulfill a certain condition, such as being a member of a certain AWS organization. For more information about AWS Organizations, see [What Is AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html) in the *AWS Organizations User Guide* .
1035 *
1036 * If you specify `Condition` with an AWS organization ID, and specify "*" as the value for `Principal` , you grant permission to all the accounts in the named organization.
1037 *
1038 * The `Condition` is a JSON string which must contain `Type` , `Key` , and `Value` fields.
1039 *
1040 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-condition
1041 */
1042 readonly condition?: CfnEventBusPolicy.ConditionProperty | cdk.IResolvable;
1043 /**
1044 * The name of the event bus associated with the rule. If you omit this, the default event bus is used.
1045 *
1046 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-eventbusname
1047 */
1048 readonly eventBusName?: string;
1049 /**
1050 * The 12-digit AWS account ID that you are permitting to put events to your default event bus. Specify "*" to permit any account to put events to your default event bus.
1051 *
1052 * If you specify "*" without specifying `Condition` , avoid creating rules that may match undesirable events. To create more secure rules, make sure that the event pattern for each rule contains an `account` field with a specific account ID from which to receive events. Rules with an account field do not match any events sent from other accounts.
1053 *
1054 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-principal
1055 */
1056 readonly principal?: string;
1057 /**
1058 * A JSON string that describes the permission policy statement. You can include a `Policy` parameter in the request instead of using the `StatementId` , `Action` , `Principal` , or `Condition` parameters.
1059 *
1060 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-statement
1061 */
1062 readonly statement?: any | cdk.IResolvable;
1063}
1064/**
1065 * A CloudFormation `AWS::Events::EventBusPolicy`
1066 *
1067 * Running `PutPermission` permits the specified AWS account or AWS organization to put events to the specified *event bus* . Amazon EventBridge (CloudWatch Events) rules in your account are triggered by these events arriving to an event bus in your account.
1068 *
1069 * For another account to send events to your account, that external account must have an EventBridge rule with your account's event bus as a target.
1070 *
1071 * To enable multiple AWS accounts to put events to your event bus, run `PutPermission` once for each of these accounts. Or, if all the accounts are members of the same AWS organization, you can run `PutPermission` once specifying `Principal` as "*" and specifying the AWS organization ID in `Condition` , to grant permissions to all accounts in that organization.
1072 *
1073 * If you grant permissions using an organization, then accounts in that organization must specify a `RoleArn` with proper permissions when they use `PutTarget` to add your account's event bus as a target. For more information, see [Sending and Receiving Events Between AWS Accounts](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-cross-account-event-delivery.html) in the *Amazon EventBridge User Guide* .
1074 *
1075 * The permission policy on the event bus cannot exceed 10 KB in size.
1076 *
1077 * @cloudformationResource AWS::Events::EventBusPolicy
1078 * @stability external
1079 *
1080 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html
1081 */
1082export declare class CfnEventBusPolicy extends cdk.CfnResource implements cdk.IInspectable {
1083 /**
1084 * The CloudFormation resource type name for this resource class.
1085 */
1086 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::Events::EventBusPolicy";
1087 /**
1088 * A factory method that creates a new instance of this class from an object
1089 * containing the CloudFormation properties of this resource.
1090 * Used in the @aws-cdk/cloudformation-include module.
1091 *
1092 * @internal
1093 */
1094 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnEventBusPolicy;
1095 /**
1096 * An identifier string for the external account that you are granting permissions to. If you later want to revoke the permission for this external account, specify this `StatementId` when you run [RemovePermission](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_RemovePermission.html) .
1097 *
1098 * > Each `StatementId` must be unique.
1099 *
1100 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-statementid
1101 */
1102 statementId: string;
1103 /**
1104 * The action that you are enabling the other account to perform.
1105 *
1106 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-action
1107 */
1108 action: string | undefined;
1109 /**
1110 * This parameter enables you to limit the permission to accounts that fulfill a certain condition, such as being a member of a certain AWS organization. For more information about AWS Organizations, see [What Is AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html) in the *AWS Organizations User Guide* .
1111 *
1112 * If you specify `Condition` with an AWS organization ID, and specify "*" as the value for `Principal` , you grant permission to all the accounts in the named organization.
1113 *
1114 * The `Condition` is a JSON string which must contain `Type` , `Key` , and `Value` fields.
1115 *
1116 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-condition
1117 */
1118 condition: CfnEventBusPolicy.ConditionProperty | cdk.IResolvable | undefined;
1119 /**
1120 * The name of the event bus associated with the rule. If you omit this, the default event bus is used.
1121 *
1122 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-eventbusname
1123 */
1124 eventBusName: string | undefined;
1125 /**
1126 * The 12-digit AWS account ID that you are permitting to put events to your default event bus. Specify "*" to permit any account to put events to your default event bus.
1127 *
1128 * If you specify "*" without specifying `Condition` , avoid creating rules that may match undesirable events. To create more secure rules, make sure that the event pattern for each rule contains an `account` field with a specific account ID from which to receive events. Rules with an account field do not match any events sent from other accounts.
1129 *
1130 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-principal
1131 */
1132 principal: string | undefined;
1133 /**
1134 * A JSON string that describes the permission policy statement. You can include a `Policy` parameter in the request instead of using the `StatementId` , `Action` , `Principal` , or `Condition` parameters.
1135 *
1136 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-statement
1137 */
1138 statement: any | cdk.IResolvable | undefined;
1139 /**
1140 * Create a new `AWS::Events::EventBusPolicy`.
1141 *
1142 * @param scope - scope in which this resource is defined
1143 * @param id - scoped id of the resource
1144 * @param props - resource properties
1145 */
1146 constructor(scope: cdk.Construct, id: string, props: CfnEventBusPolicyProps);
1147 /**
1148 * Examines the CloudFormation resource and discloses attributes.
1149 *
1150 * @param inspector - tree inspector to collect and process attributes
1151 *
1152 */
1153 inspect(inspector: cdk.TreeInspector): void;
1154 protected get cfnProperties(): {
1155 [key: string]: any;
1156 };
1157 protected renderProperties(props: {
1158 [key: string]: any;
1159 }): {
1160 [key: string]: any;
1161 };
1162}
1163export declare namespace CfnEventBusPolicy {
1164 /**
1165 * A JSON string which you can use to limit the event bus permissions you are granting to only accounts that fulfill the condition. Currently, the only supported condition is membership in a certain AWS organization. The string must contain `Type` , `Key` , and `Value` fields. The `Value` field specifies the ID of the AWS organization. Following is an example value for `Condition` :
1166 *
1167 * `'{"Type" : "StringEquals", "Key": "aws:PrincipalOrgID", "Value": "o-1234567890"}'`
1168 *
1169 * @struct
1170 * @stability external
1171 *
1172 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html
1173 */
1174 interface ConditionProperty {
1175 /**
1176 * Specifies the key for the condition. Currently the only supported key is `aws:PrincipalOrgID` .
1177 *
1178 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html#cfn-events-eventbuspolicy-condition-key
1179 */
1180 readonly key?: string;
1181 /**
1182 * Specifies the type of condition. Currently the only supported value is `StringEquals` .
1183 *
1184 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html#cfn-events-eventbuspolicy-condition-type
1185 */
1186 readonly type?: string;
1187 /**
1188 * Specifies the value for the key. Currently, this must be the ID of the organization.
1189 *
1190 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-eventbuspolicy-condition.html#cfn-events-eventbuspolicy-condition-value
1191 */
1192 readonly value?: string;
1193 }
1194}
1195/**
1196 * Properties for defining a `CfnRule`
1197 *
1198 * @struct
1199 * @stability external
1200 *
1201 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html
1202 */
1203export interface CfnRuleProps {
1204 /**
1205 * The description of the rule.
1206 *
1207 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-description
1208 */
1209 readonly description?: string;
1210 /**
1211 * The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is used.
1212 *
1213 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventbusname
1214 */
1215 readonly eventBusName?: string;
1216 /**
1217 * The event pattern of the rule. For more information, see [Events and Event Patterns](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) in the *Amazon EventBridge User Guide* .
1218 *
1219 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern
1220 */
1221 readonly eventPattern?: any | cdk.IResolvable;
1222 /**
1223 * The name of the rule.
1224 *
1225 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-name
1226 */
1227 readonly name?: string;
1228 /**
1229 * The Amazon Resource Name (ARN) of the role that is used for target invocation.
1230 *
1231 * If you're setting an event bus in another account as the target and that account granted permission to your account through an organization instead of directly by the account ID, you must specify a `RoleArn` with proper permissions in the `Target` structure, instead of here in this parameter.
1232 *
1233 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-rolearn
1234 */
1235 readonly roleArn?: string;
1236 /**
1237 * The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 minutes)". For more information, see [Creating an Amazon EventBridge rule that runs on a schedule](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html) .
1238 *
1239 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-scheduleexpression
1240 */
1241 readonly scheduleExpression?: string;
1242 /**
1243 * The state of the rule.
1244 *
1245 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state
1246 */
1247 readonly state?: string;
1248 /**
1249 * Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule.
1250 *
1251 * Targets are the resources that are invoked when a rule is triggered.
1252 *
1253 * > Each rule can have up to five (5) targets associated with it at one time.
1254 *
1255 * You can configure the following as targets for Events:
1256 *
1257 * - [API destination](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-api-destinations.html)
1258 * - [API Gateway](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-api-gateway-target.html)
1259 * - Batch job queue
1260 * - CloudWatch group
1261 * - CodeBuild project
1262 * - CodePipeline
1263 * - EC2 `CreateSnapshot` API call
1264 * - EC2 Image Builder
1265 * - EC2 `RebootInstances` API call
1266 * - EC2 `StopInstances` API call
1267 * - EC2 `TerminateInstances` API call
1268 * - ECS task
1269 * - [Event bus in a different account or Region](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cross-account.html)
1270 * - [Event bus in the same account and Region](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-bus-to-bus.html)
1271 * - Firehose delivery stream
1272 * - Glue workflow
1273 * - [Incident Manager response plan](https://docs.aws.amazon.com//incident-manager/latest/userguide/incident-creation.html#incident-tracking-auto-eventbridge)
1274 * - Inspector assessment template
1275 * - Kinesis stream
1276 * - Lambda function
1277 * - Redshift cluster
1278 * - SageMaker Pipeline
1279 * - SNS topic
1280 * - SQS queue
1281 * - Step Functions state machine
1282 * - Systems Manager Automation
1283 * - Systems Manager OpsItem
1284 * - Systems Manager Run Command
1285 *
1286 * Creating rules with built-in targets is supported only in the AWS Management Console . The built-in targets are `EC2 CreateSnapshot API call` , `EC2 RebootInstances API call` , `EC2 StopInstances API call` , and `EC2 TerminateInstances API call` .
1287 *
1288 * For some target types, `PutTargets` provides target-specific parameters. If the target is a Kinesis data stream, you can optionally specify which shard the event goes to by using the `KinesisParameters` argument. To invoke a command on multiple EC2 instances with one rule, you can use the `RunCommandParameters` field.
1289 *
1290 * To be able to make API calls against the resources that you own, Amazon EventBridge needs the appropriate permissions. For AWS Lambda and Amazon SNS resources, EventBridge relies on resource-based policies. For EC2 instances, Kinesis Data Streams, AWS Step Functions state machines and API Gateway APIs, EventBridge relies on IAM roles that you specify in the `RoleARN` argument in `PutTargets` . For more information, see [Authentication and Access Control](https://docs.aws.amazon.com/eventbridge/latest/userguide/auth-and-access-control-eventbridge.html) in the *Amazon EventBridge User Guide* .
1291 *
1292 * If another AWS account is in the same region and has granted you permission (using `PutPermission` ), you can send events to that account. Set that account's event bus as a target of the rules in your account. To send the matched events to the other account, specify that account's event bus as the `Arn` value when you run `PutTargets` . If your account sends events to another account, your account is charged for each sent event. Each event sent to another account is charged as a custom event. The account receiving the event is not charged. For more information, see [Amazon EventBridge Pricing](https://docs.aws.amazon.com/eventbridge/pricing/) .
1293 *
1294 * > `Input` , `InputPath` , and `InputTransformer` are not available with `PutTarget` if the target is an event bus of a different AWS account.
1295 *
1296 * If you are setting the event bus of another account as the target, and that account granted permission to your account through an organization instead of directly by the account ID, then you must specify a `RoleArn` with proper permissions in the `Target` structure. For more information, see [Sending and Receiving Events Between AWS Accounts](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-cross-account-event-delivery.html) in the *Amazon EventBridge User Guide* .
1297 *
1298 * For more information about enabling cross-account events, see [PutPermission](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutPermission.html) .
1299 *
1300 * *Input* , *InputPath* , and *InputTransformer* are mutually exclusive and optional parameters of a target. When a rule is triggered due to a matched event:
1301 *
1302 * - If none of the following arguments are specified for a target, then the entire event is passed to the target in JSON format (unless the target is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from the event is passed to the target).
1303 * - If *Input* is specified in the form of valid JSON, then the matched event is overridden with this constant.
1304 * - If *InputPath* is specified in the form of JSONPath (for example, `$.detail` ), then only the part of the event specified in the path is passed to the target (for example, only the detail part of the event is passed).
1305 * - If *InputTransformer* is specified, then one or more specified JSONPaths are extracted from the event and used as values in a template that you specify as the input to the target.
1306 *
1307 * When you specify `InputPath` or `InputTransformer` , you must use JSON dot notation, not bracket notation.
1308 *
1309 * When you add targets to a rule and the associated rule triggers soon after, new or updated targets might not be immediately invoked. Allow a short period of time for changes to take effect.
1310 *
1311 * This action can partially fail if too many requests are made at the same time. If that happens, `FailedEntryCount` is non-zero in the response and each entry in `FailedEntries` provides the ID of the failed target and the error code.
1312 *
1313 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-targets
1314 */
1315 readonly targets?: Array<CfnRule.TargetProperty | cdk.IResolvable> | cdk.IResolvable;
1316}
1317/**
1318 * A CloudFormation `AWS::Events::Rule`
1319 *
1320 * Creates or updates the specified rule. Rules are enabled by default, or based on value of the state. You can disable a rule using [DisableRule](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_DisableRule.html) .
1321 *
1322 * A single rule watches for events from a single event bus. Events generated by AWS services go to your account's default event bus. Events generated by SaaS partner services or applications go to the matching partner event bus. If you have custom applications or services, you can specify whether their events go to your default event bus or a custom event bus that you have created. For more information, see [CreateEventBus](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_CreateEventBus.html) .
1323 *
1324 * If you are updating an existing rule, the rule is replaced with what you specify in this `PutRule` command. If you omit arguments in `PutRule` , the old values for those arguments are not kept. Instead, they are replaced with null values.
1325 *
1326 * When you create or update a rule, incoming events might not immediately start matching to new or updated rules. Allow a short period of time for changes to take effect.
1327 *
1328 * A rule must contain at least an EventPattern or ScheduleExpression. Rules with EventPatterns are triggered when a matching event is observed. Rules with ScheduleExpressions self-trigger based on the given schedule. A rule can have both an EventPattern and a ScheduleExpression, in which case the rule triggers on matching events as well as on a schedule.
1329 *
1330 * Most services in AWS treat : or / as the same character in Amazon Resource Names (ARNs). However, EventBridge uses an exact match in event patterns and rules. Be sure to use the correct ARN characters when creating event patterns so that they match the ARN syntax in the event you want to match.
1331 *
1332 * In EventBridge, it is possible to create rules that lead to infinite loops, where a rule is fired repeatedly. For example, a rule might detect that ACLs have changed on an S3 bucket, and trigger software to change them to the desired state. If the rule is not written carefully, the subsequent change to the ACLs fires the rule again, creating an infinite loop.
1333 *
1334 * To prevent this, write the rules so that the triggered actions do not re-fire the same rule. For example, your rule could fire only if ACLs are found to be in a bad state, instead of after any change.
1335 *
1336 * An infinite loop can quickly cause higher than expected charges. We recommend that you use budgeting, which alerts you when charges exceed your specified limit. For more information, see [Managing Your Costs with Budgets](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/budgets-managing-costs.html) .
1337 *
1338 * @cloudformationResource AWS::Events::Rule
1339 * @stability external
1340 *
1341 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html
1342 */
1343export declare class CfnRule extends cdk.CfnResource implements cdk.IInspectable {
1344 /**
1345 * The CloudFormation resource type name for this resource class.
1346 */
1347 static readonly CFN_RESOURCE_TYPE_NAME = "AWS::Events::Rule";
1348 /**
1349 * A factory method that creates a new instance of this class from an object
1350 * containing the CloudFormation properties of this resource.
1351 * Used in the @aws-cdk/cloudformation-include module.
1352 *
1353 * @internal
1354 */
1355 static _fromCloudFormation(scope: cdk.Construct, id: string, resourceAttributes: any, options: cfn_parse.FromCloudFormationOptions): CfnRule;
1356 /**
1357 * The ARN of the rule, such as `arn:aws:events:us-east-2:123456789012:rule/example` .
1358 * @cloudformationAttribute Arn
1359 */
1360 readonly attrArn: string;
1361 /**
1362 * The description of the rule.
1363 *
1364 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-description
1365 */
1366 description: string | undefined;
1367 /**
1368 * The name or ARN of the event bus associated with the rule. If you omit this, the default event bus is used.
1369 *
1370 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventbusname
1371 */
1372 eventBusName: string | undefined;
1373 /**
1374 * The event pattern of the rule. For more information, see [Events and Event Patterns](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) in the *Amazon EventBridge User Guide* .
1375 *
1376 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern
1377 */
1378 eventPattern: any | cdk.IResolvable | undefined;
1379 /**
1380 * The name of the rule.
1381 *
1382 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-name
1383 */
1384 name: string | undefined;
1385 /**
1386 * The Amazon Resource Name (ARN) of the role that is used for target invocation.
1387 *
1388 * If you're setting an event bus in another account as the target and that account granted permission to your account through an organization instead of directly by the account ID, you must specify a `RoleArn` with proper permissions in the `Target` structure, instead of here in this parameter.
1389 *
1390 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-rolearn
1391 */
1392 roleArn: string | undefined;
1393 /**
1394 * The scheduling expression. For example, "cron(0 20 * * ? *)", "rate(5 minutes)". For more information, see [Creating an Amazon EventBridge rule that runs on a schedule](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html) .
1395 *
1396 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-scheduleexpression
1397 */
1398 scheduleExpression: string | undefined;
1399 /**
1400 * The state of the rule.
1401 *
1402 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state
1403 */
1404 state: string | undefined;
1405 /**
1406 * Adds the specified targets to the specified rule, or updates the targets if they are already associated with the rule.
1407 *
1408 * Targets are the resources that are invoked when a rule is triggered.
1409 *
1410 * > Each rule can have up to five (5) targets associated with it at one time.
1411 *
1412 * You can configure the following as targets for Events:
1413 *
1414 * - [API destination](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-api-destinations.html)
1415 * - [API Gateway](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-api-gateway-target.html)
1416 * - Batch job queue
1417 * - CloudWatch group
1418 * - CodeBuild project
1419 * - CodePipeline
1420 * - EC2 `CreateSnapshot` API call
1421 * - EC2 Image Builder
1422 * - EC2 `RebootInstances` API call
1423 * - EC2 `StopInstances` API call
1424 * - EC2 `TerminateInstances` API call
1425 * - ECS task
1426 * - [Event bus in a different account or Region](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-cross-account.html)
1427 * - [Event bus in the same account and Region](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-bus-to-bus.html)
1428 * - Firehose delivery stream
1429 * - Glue workflow
1430 * - [Incident Manager response plan](https://docs.aws.amazon.com//incident-manager/latest/userguide/incident-creation.html#incident-tracking-auto-eventbridge)
1431 * - Inspector assessment template
1432 * - Kinesis stream
1433 * - Lambda function
1434 * - Redshift cluster
1435 * - SageMaker Pipeline
1436 * - SNS topic
1437 * - SQS queue
1438 * - Step Functions state machine
1439 * - Systems Manager Automation
1440 * - Systems Manager OpsItem
1441 * - Systems Manager Run Command
1442 *
1443 * Creating rules with built-in targets is supported only in the AWS Management Console . The built-in targets are `EC2 CreateSnapshot API call` , `EC2 RebootInstances API call` , `EC2 StopInstances API call` , and `EC2 TerminateInstances API call` .
1444 *
1445 * For some target types, `PutTargets` provides target-specific parameters. If the target is a Kinesis data stream, you can optionally specify which shard the event goes to by using the `KinesisParameters` argument. To invoke a command on multiple EC2 instances with one rule, you can use the `RunCommandParameters` field.
1446 *
1447 * To be able to make API calls against the resources that you own, Amazon EventBridge needs the appropriate permissions. For AWS Lambda and Amazon SNS resources, EventBridge relies on resource-based policies. For EC2 instances, Kinesis Data Streams, AWS Step Functions state machines and API Gateway APIs, EventBridge relies on IAM roles that you specify in the `RoleARN` argument in `PutTargets` . For more information, see [Authentication and Access Control](https://docs.aws.amazon.com/eventbridge/latest/userguide/auth-and-access-control-eventbridge.html) in the *Amazon EventBridge User Guide* .
1448 *
1449 * If another AWS account is in the same region and has granted you permission (using `PutPermission` ), you can send events to that account. Set that account's event bus as a target of the rules in your account. To send the matched events to the other account, specify that account's event bus as the `Arn` value when you run `PutTargets` . If your account sends events to another account, your account is charged for each sent event. Each event sent to another account is charged as a custom event. The account receiving the event is not charged. For more information, see [Amazon EventBridge Pricing](https://docs.aws.amazon.com/eventbridge/pricing/) .
1450 *
1451 * > `Input` , `InputPath` , and `InputTransformer` are not available with `PutTarget` if the target is an event bus of a different AWS account.
1452 *
1453 * If you are setting the event bus of another account as the target, and that account granted permission to your account through an organization instead of directly by the account ID, then you must specify a `RoleArn` with proper permissions in the `Target` structure. For more information, see [Sending and Receiving Events Between AWS Accounts](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-cross-account-event-delivery.html) in the *Amazon EventBridge User Guide* .
1454 *
1455 * For more information about enabling cross-account events, see [PutPermission](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutPermission.html) .
1456 *
1457 * *Input* , *InputPath* , and *InputTransformer* are mutually exclusive and optional parameters of a target. When a rule is triggered due to a matched event:
1458 *
1459 * - If none of the following arguments are specified for a target, then the entire event is passed to the target in JSON format (unless the target is Amazon EC2 Run Command or Amazon ECS task, in which case nothing from the event is passed to the target).
1460 * - If *Input* is specified in the form of valid JSON, then the matched event is overridden with this constant.
1461 * - If *InputPath* is specified in the form of JSONPath (for example, `$.detail` ), then only the part of the event specified in the path is passed to the target (for example, only the detail part of the event is passed).
1462 * - If *InputTransformer* is specified, then one or more specified JSONPaths are extracted from the event and used as values in a template that you specify as the input to the target.
1463 *
1464 * When you specify `InputPath` or `InputTransformer` , you must use JSON dot notation, not bracket notation.
1465 *
1466 * When you add targets to a rule and the associated rule triggers soon after, new or updated targets might not be immediately invoked. Allow a short period of time for changes to take effect.
1467 *
1468 * This action can partially fail if too many requests are made at the same time. If that happens, `FailedEntryCount` is non-zero in the response and each entry in `FailedEntries` provides the ID of the failed target and the error code.
1469 *
1470 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-targets
1471 */
1472 targets: Array<CfnRule.TargetProperty | cdk.IResolvable> | cdk.IResolvable | undefined;
1473 /**
1474 * Create a new `AWS::Events::Rule`.
1475 *
1476 * @param scope - scope in which this resource is defined
1477 * @param id - scoped id of the resource
1478 * @param props - resource properties
1479 */
1480 constructor(scope: cdk.Construct, id: string, props?: CfnRuleProps);
1481 /**
1482 * Examines the CloudFormation resource and discloses attributes.
1483 *
1484 * @param inspector - tree inspector to collect and process attributes
1485 *
1486 */
1487 inspect(inspector: cdk.TreeInspector): void;
1488 protected get cfnProperties(): {
1489 [key: string]: any;
1490 };
1491 protected renderProperties(props: {
1492 [key: string]: any;
1493 }): {
1494 [key: string]: any;
1495 };
1496}
1497export declare namespace CfnRule {
1498 /**
1499 * This structure specifies the VPC subnets and security groups for the task, and whether a public IP address is to be used. This structure is relevant only for ECS tasks that use the `awsvpc` network mode.
1500 *
1501 * @struct
1502 * @stability external
1503 *
1504 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-awsvpcconfiguration.html
1505 */
1506 interface AwsVpcConfigurationProperty {
1507 /**
1508 * Specifies whether the task's elastic network interface receives a public IP address. You can specify `ENABLED` only when `LaunchType` in `EcsParameters` is set to `FARGATE` .
1509 *
1510 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-awsvpcconfiguration.html#cfn-events-rule-awsvpcconfiguration-assignpublicip
1511 */
1512 readonly assignPublicIp?: string;
1513 /**
1514 * Specifies the security groups associated with the task. These security groups must all be in the same VPC. You can specify as many as five security groups. If you do not specify a security group, the default security group for the VPC is used.
1515 *
1516 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-awsvpcconfiguration.html#cfn-events-rule-awsvpcconfiguration-securitygroups
1517 */
1518 readonly securityGroups?: string[];
1519 /**
1520 * Specifies the subnets associated with the task. These subnets must all be in the same VPC. You can specify as many as 16 subnets.
1521 *
1522 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-awsvpcconfiguration.html#cfn-events-rule-awsvpcconfiguration-subnets
1523 */
1524 readonly subnets: string[];
1525 }
1526}
1527export declare namespace CfnRule {
1528 /**
1529 * The array properties for the submitted job, such as the size of the array. The array size can be between 2 and 10,000. If you specify array properties for a job, it becomes an array job. This parameter is used only if the target is an AWS Batch job.
1530 *
1531 * @struct
1532 * @stability external
1533 *
1534 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batcharrayproperties.html
1535 */
1536 interface BatchArrayPropertiesProperty {
1537 /**
1538 * The size of the array, if this is an array batch job. Valid values are integers between 2 and 10,000.
1539 *
1540 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batcharrayproperties.html#cfn-events-rule-batcharrayproperties-size
1541 */
1542 readonly size?: number;
1543 }
1544}
1545export declare namespace CfnRule {
1546 /**
1547 * The custom parameters to be used when the target is an AWS Batch job.
1548 *
1549 * @struct
1550 * @stability external
1551 *
1552 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchparameters.html
1553 */
1554 interface BatchParametersProperty {
1555 /**
1556 * The array properties for the submitted job, such as the size of the array. The array size can be between 2 and 10,000. If you specify array properties for a job, it becomes an array job. This parameter is used only if the target is an AWS Batch job.
1557 *
1558 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchparameters.html#cfn-events-rule-batchparameters-arrayproperties
1559 */
1560 readonly arrayProperties?: CfnRule.BatchArrayPropertiesProperty | cdk.IResolvable;
1561 /**
1562 * The ARN or name of the job definition to use if the event target is an AWS Batch job. This job definition must already exist.
1563 *
1564 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchparameters.html#cfn-events-rule-batchparameters-jobdefinition
1565 */
1566 readonly jobDefinition: string;
1567 /**
1568 * The name to use for this execution of the job, if the target is an AWS Batch job.
1569 *
1570 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchparameters.html#cfn-events-rule-batchparameters-jobname
1571 */
1572 readonly jobName: string;
1573 /**
1574 * The retry strategy to use for failed jobs, if the target is an AWS Batch job. The retry strategy is the number of times to retry the failed job execution. Valid values are 1–10. When you specify a retry strategy here, it overrides the retry strategy defined in the job definition.
1575 *
1576 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchparameters.html#cfn-events-rule-batchparameters-retrystrategy
1577 */
1578 readonly retryStrategy?: CfnRule.BatchRetryStrategyProperty | cdk.IResolvable;
1579 }
1580}
1581export declare namespace CfnRule {
1582 /**
1583 * The retry strategy to use for failed jobs, if the target is an AWS Batch job. If you specify a retry strategy here, it overrides the retry strategy defined in the job definition.
1584 *
1585 * @struct
1586 * @stability external
1587 *
1588 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchretrystrategy.html
1589 */
1590 interface BatchRetryStrategyProperty {
1591 /**
1592 * The number of times to attempt to retry, if the job fails. Valid values are 1–10.
1593 *
1594 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchretrystrategy.html#cfn-events-rule-batchretrystrategy-attempts
1595 */
1596 readonly attempts?: number;
1597 }
1598}
1599export declare namespace CfnRule {
1600 /**
1601 * The details of a capacity provider strategy. To learn more, see [CapacityProviderStrategyItem](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CapacityProviderStrategyItem.html) in the Amazon ECS API Reference.
1602 *
1603 * @struct
1604 * @stability external
1605 *
1606 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-capacityproviderstrategyitem.html
1607 */
1608 interface CapacityProviderStrategyItemProperty {
1609 /**
1610 * The base value designates how many tasks, at a minimum, to run on the specified capacity provider. Only one capacity provider in a capacity provider strategy can have a base defined. If no value is specified, the default value of 0 is used.
1611 *
1612 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-capacityproviderstrategyitem.html#cfn-events-rule-capacityproviderstrategyitem-base
1613 */
1614 readonly base?: number;
1615 /**
1616 * The short name of the capacity provider.
1617 *
1618 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-capacityproviderstrategyitem.html#cfn-events-rule-capacityproviderstrategyitem-capacityprovider
1619 */
1620 readonly capacityProvider: string;
1621 /**
1622 * The weight value designates the relative percentage of the total number of tasks launched that should use the specified capacity provider. The weight value is taken into consideration after the base value, if defined, is satisfied.
1623 *
1624 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-capacityproviderstrategyitem.html#cfn-events-rule-capacityproviderstrategyitem-weight
1625 */
1626 readonly weight?: number;
1627 }
1628}
1629export declare namespace CfnRule {
1630 /**
1631 * A `DeadLetterConfig` object that contains information about a dead-letter queue configuration.
1632 *
1633 * @struct
1634 * @stability external
1635 *
1636 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-deadletterconfig.html
1637 */
1638 interface DeadLetterConfigProperty {
1639 /**
1640 * The ARN of the SQS queue specified as the target for the dead-letter queue.
1641 *
1642 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-deadletterconfig.html#cfn-events-rule-deadletterconfig-arn
1643 */
1644 readonly arn?: string;
1645 }
1646}
1647export declare namespace CfnRule {
1648 /**
1649 * The custom parameters to be used when the target is an Amazon ECS task.
1650 *
1651 * @struct
1652 * @stability external
1653 *
1654 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html
1655 */
1656 interface EcsParametersProperty {
1657 /**
1658 * The capacity provider strategy to use for the task.
1659 *
1660 * If a `capacityProviderStrategy` is specified, the `launchType` parameter must be omitted. If no `capacityProviderStrategy` or launchType is specified, the `defaultCapacityProviderStrategy` for the cluster is used.
1661 *
1662 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-capacityproviderstrategy
1663 */
1664 readonly capacityProviderStrategy?: Array<CfnRule.CapacityProviderStrategyItemProperty | cdk.IResolvable> | cdk.IResolvable;
1665 /**
1666 * Specifies whether to enable Amazon ECS managed tags for the task. For more information, see [Tagging Your Amazon ECS Resources](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html) in the Amazon Elastic Container Service Developer Guide.
1667 *
1668 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-enableecsmanagedtags
1669 */
1670 readonly enableEcsManagedTags?: boolean | cdk.IResolvable;
1671 /**
1672 * Whether or not to enable the execute command functionality for the containers in this task. If true, this enables execute command functionality on all containers in the task.
1673 *
1674 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-enableexecutecommand
1675 */
1676 readonly enableExecuteCommand?: boolean | cdk.IResolvable;
1677 /**
1678 * Specifies an ECS task group for the task. The maximum length is 255 characters.
1679 *
1680 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-group
1681 */
1682 readonly group?: string;
1683 /**
1684 * Specifies the launch type on which your task is running. The launch type that you specify here must match one of the launch type (compatibilities) of the target task. The `FARGATE` value is supported only in the Regions where AWS Fargate with Amazon ECS is supported. For more information, see [AWS Fargate on Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS-Fargate.html) in the *Amazon Elastic Container Service Developer Guide* .
1685 *
1686 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-launchtype
1687 */
1688 readonly launchType?: string;
1689 /**
1690 * Use this structure if the Amazon ECS task uses the `awsvpc` network mode. This structure specifies the VPC subnets and security groups associated with the task, and whether a public IP address is to be used. This structure is required if `LaunchType` is `FARGATE` because the `awsvpc` mode is required for Fargate tasks.
1691 *
1692 * If you specify `NetworkConfiguration` when the target ECS task does not use the `awsvpc` network mode, the task fails.
1693 *
1694 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-networkconfiguration
1695 */
1696 readonly networkConfiguration?: CfnRule.NetworkConfigurationProperty | cdk.IResolvable;
1697 /**
1698 * An array of placement constraint objects to use for the task. You can specify up to 10 constraints per task (including constraints in the task definition and those specified at runtime).
1699 *
1700 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-placementconstraints
1701 */
1702 readonly placementConstraints?: Array<CfnRule.PlacementConstraintProperty | cdk.IResolvable> | cdk.IResolvable;
1703 /**
1704 * The placement strategy objects to use for the task. You can specify a maximum of five strategy rules per task.
1705 *
1706 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-placementstrategies
1707 */
1708 readonly placementStrategies?: Array<CfnRule.PlacementStrategyProperty | cdk.IResolvable> | cdk.IResolvable;
1709 /**
1710 * Specifies the platform version for the task. Specify only the numeric portion of the platform version, such as `1.1.0` .
1711 *
1712 * This structure is used only if `LaunchType` is `FARGATE` . For more information about valid platform versions, see [AWS Fargate Platform Versions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html) in the *Amazon Elastic Container Service Developer Guide* .
1713 *
1714 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-platformversion
1715 */
1716 readonly platformVersion?: string;
1717 /**
1718 * Specifies whether to propagate the tags from the task definition to the task. If no value is specified, the tags are not propagated. Tags can only be propagated to the task during task creation. To add tags to a task after task creation, use the TagResource API action.
1719 *
1720 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-propagatetags
1721 */
1722 readonly propagateTags?: string;
1723 /**
1724 * The reference ID to use for the task.
1725 *
1726 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-referenceid
1727 */
1728 readonly referenceId?: string;
1729 /**
1730 * The metadata that you apply to the task to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. To learn more, see [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html#ECS-RunTask-request-tags) in the Amazon ECS API Reference.
1731 *
1732 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-taglist
1733 */
1734 readonly tagList?: Array<cdk.CfnTag | cdk.IResolvable> | cdk.IResolvable;
1735 /**
1736 * The number of tasks to create based on `TaskDefinition` . The default is 1.
1737 *
1738 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-taskcount
1739 */
1740 readonly taskCount?: number;
1741 /**
1742 * The ARN of the task definition to use if the event target is an Amazon ECS task.
1743 *
1744 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-ecsparameters.html#cfn-events-rule-ecsparameters-taskdefinitionarn
1745 */
1746 readonly taskDefinitionArn: string;
1747 }
1748}
1749export declare namespace CfnRule {
1750 /**
1751 * These are custom parameter to be used when the target is an API Gateway APIs or EventBridge ApiDestinations. In the latter case, these are merged with any InvocationParameters specified on the Connection, with any values from the Connection taking precedence.
1752 *
1753 * @struct
1754 * @stability external
1755 *
1756 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-httpparameters.html
1757 */
1758 interface HttpParametersProperty {
1759 /**
1760 * The headers that need to be sent as part of request invoking the API Gateway API or EventBridge ApiDestination.
1761 *
1762 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-httpparameters.html#cfn-events-rule-httpparameters-headerparameters
1763 */
1764 readonly headerParameters?: {
1765 [key: string]: (string);
1766 } | cdk.IResolvable;
1767 /**
1768 * The path parameter values to be used to populate API Gateway API or EventBridge ApiDestination path wildcards ("*").
1769 *
1770 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-httpparameters.html#cfn-events-rule-httpparameters-pathparametervalues
1771 */
1772 readonly pathParameterValues?: string[];
1773 /**
1774 * The query string keys/values that need to be sent as part of request invoking the API Gateway API or EventBridge ApiDestination.
1775 *
1776 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-httpparameters.html#cfn-events-rule-httpparameters-querystringparameters
1777 */
1778 readonly queryStringParameters?: {
1779 [key: string]: (string);
1780 } | cdk.IResolvable;
1781 }
1782}
1783export declare namespace CfnRule {
1784 /**
1785 * Contains the parameters needed for you to provide custom input to a target based on one or more pieces of data extracted from the event.
1786 *
1787 * @struct
1788 * @stability external
1789 *
1790 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-inputtransformer.html
1791 */
1792 interface InputTransformerProperty {
1793 /**
1794 * Map of JSON paths to be extracted from the event. You can then insert these in the template in `InputTemplate` to produce the output you want to be sent to the target.
1795 *
1796 * `InputPathsMap` is an array key-value pairs, where each value is a valid JSON path. You can have as many as 100 key-value pairs. You must use JSON dot notation, not bracket notation.
1797 *
1798 * The keys cannot start with " AWS ."
1799 *
1800 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-inputtransformer.html#cfn-events-rule-inputtransformer-inputpathsmap
1801 */
1802 readonly inputPathsMap?: {
1803 [key: string]: (string);
1804 } | cdk.IResolvable;
1805 /**
1806 * Input template where you specify placeholders that will be filled with the values of the keys from `InputPathsMap` to customize the data sent to the target. Enclose each `InputPathsMaps` value in brackets: < *value* >
1807 *
1808 * If `InputTemplate` is a JSON object (surrounded by curly braces), the following restrictions apply:
1809 *
1810 * - The placeholder cannot be used as an object key.
1811 *
1812 * The following example shows the syntax for using `InputPathsMap` and `InputTemplate` .
1813 *
1814 * `"InputTransformer":`
1815 *
1816 * `{`
1817 *
1818 * `"InputPathsMap": {"instance": "$.detail.instance","status": "$.detail.status"},`
1819 *
1820 * `"InputTemplate": "<instance> is in state <status>"`
1821 *
1822 * `}`
1823 *
1824 * To have the `InputTemplate` include quote marks within a JSON string, escape each quote marks with a slash, as in the following example:
1825 *
1826 * `"InputTransformer":`
1827 *
1828 * `{`
1829 *
1830 * `"InputPathsMap": {"instance": "$.detail.instance","status": "$.detail.status"},`
1831 *
1832 * `"InputTemplate": "<instance> is in state \"<status>\""`
1833 *
1834 * `}`
1835 *
1836 * The `InputTemplate` can also be valid JSON with varibles in quotes or out, as in the following example:
1837 *
1838 * `"InputTransformer":`
1839 *
1840 * `{`
1841 *
1842 * `"InputPathsMap": {"instance": "$.detail.instance","status": "$.detail.status"},`
1843 *
1844 * `"InputTemplate": '{"myInstance": <instance>,"myStatus": "<instance> is in state \"<status>\""}'`
1845 *
1846 * `}`
1847 *
1848 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-inputtransformer.html#cfn-events-rule-inputtransformer-inputtemplate
1849 */
1850 readonly inputTemplate: string;
1851 }
1852}
1853export declare namespace CfnRule {
1854 /**
1855 * This object enables you to specify a JSON path to extract from the event and use as the partition key for the Amazon Kinesis data stream, so that you can control the shard to which the event goes. If you do not include this parameter, the default is to use the `eventId` as the partition key.
1856 *
1857 * @struct
1858 * @stability external
1859 *
1860 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-kinesisparameters.html
1861 */
1862 interface KinesisParametersProperty {
1863 /**
1864 * The JSON path to be extracted from the event and used as the partition key. For more information, see [Amazon Kinesis Streams Key Concepts](https://docs.aws.amazon.com/streams/latest/dev/key-concepts.html#partition-key) in the *Amazon Kinesis Streams Developer Guide* .
1865 *
1866 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-kinesisparameters.html#cfn-events-rule-kinesisparameters-partitionkeypath
1867 */
1868 readonly partitionKeyPath: string;
1869 }
1870}
1871export declare namespace CfnRule {
1872 /**
1873 * This structure specifies the network configuration for an ECS task.
1874 *
1875 * @struct
1876 * @stability external
1877 *
1878 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-networkconfiguration.html
1879 */
1880 interface NetworkConfigurationProperty {
1881 /**
1882 * Use this structure to specify the VPC subnets and security groups for the task, and whether a public IP address is to be used. This structure is relevant only for ECS tasks that use the `awsvpc` network mode.
1883 *
1884 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-networkconfiguration.html#cfn-events-rule-networkconfiguration-awsvpcconfiguration
1885 */
1886 readonly awsVpcConfiguration?: CfnRule.AwsVpcConfigurationProperty | cdk.IResolvable;
1887 }
1888}
1889export declare namespace CfnRule {
1890 /**
1891 * An object representing a constraint on task placement. To learn more, see [Task Placement Constraints](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html) in the Amazon Elastic Container Service Developer Guide.
1892 *
1893 * @struct
1894 * @stability external
1895 *
1896 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-placementconstraint.html
1897 */
1898 interface PlacementConstraintProperty {
1899 /**
1900 * A cluster query language expression to apply to the constraint. You cannot specify an expression if the constraint type is `distinctInstance` . To learn more, see [Cluster Query Language](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html) in the Amazon Elastic Container Service Developer Guide.
1901 *
1902 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-placementconstraint.html#cfn-events-rule-placementconstraint-expression
1903 */
1904 readonly expression?: string;
1905 /**
1906 * The type of constraint. Use distinctInstance to ensure that each task in a particular group is running on a different container instance. Use memberOf to restrict the selection to a group of valid candidates.
1907 *
1908 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-placementconstraint.html#cfn-events-rule-placementconstraint-type
1909 */
1910 readonly type?: string;
1911 }
1912}
1913export declare namespace CfnRule {
1914 /**
1915 * The task placement strategy for a task or service. To learn more, see [Task Placement Strategies](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-strategies.html) in the Amazon Elastic Container Service Service Developer Guide.
1916 *
1917 * @struct
1918 * @stability external
1919 *
1920 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-placementstrategy.html
1921 */
1922 interface PlacementStrategyProperty {
1923 /**
1924 * The field to apply the placement strategy against. For the spread placement strategy, valid values are instanceId (or host, which has the same effect), or any platform or custom attribute that is applied to a container instance, such as attribute:ecs.availability-zone. For the binpack placement strategy, valid values are cpu and memory. For the random placement strategy, this field is not used.
1925 *
1926 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-placementstrategy.html#cfn-events-rule-placementstrategy-field
1927 */
1928 readonly field?: string;
1929 /**
1930 * The type of placement strategy. The random placement strategy randomly places tasks on available candidates. The spread placement strategy spreads placement across available candidates evenly based on the field parameter. The binpack strategy places tasks on available candidates that have the least available amount of the resource that is specified with the field parameter. For example, if you binpack on memory, a task is placed on the instance with the least amount of remaining memory (but still enough to run the task).
1931 *
1932 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-placementstrategy.html#cfn-events-rule-placementstrategy-type
1933 */
1934 readonly type?: string;
1935 }
1936}
1937export declare namespace CfnRule {
1938 /**
1939 * These are custom parameters to be used when the target is a Amazon Redshift cluster to invoke the Amazon Redshift Data API ExecuteStatement based on EventBridge events.
1940 *
1941 * @struct
1942 * @stability external
1943 *
1944 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-redshiftdataparameters.html
1945 */
1946 interface RedshiftDataParametersProperty {
1947 /**
1948 * The name of the database. Required when authenticating using temporary credentials.
1949 *
1950 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-redshiftdataparameters.html#cfn-events-rule-redshiftdataparameters-database
1951 */
1952 readonly database: string;
1953 /**
1954 * The database user name. Required when authenticating using temporary credentials.
1955 *
1956 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-redshiftdataparameters.html#cfn-events-rule-redshiftdataparameters-dbuser
1957 */
1958 readonly dbUser?: string;
1959 /**
1960 * The name or ARN of the secret that enables access to the database. Required when authenticating using AWS Secrets Manager.
1961 *
1962 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-redshiftdataparameters.html#cfn-events-rule-redshiftdataparameters-secretmanagerarn
1963 */
1964 readonly secretManagerArn?: string;
1965 /**
1966 * The SQL statement text to run.
1967 *
1968 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-redshiftdataparameters.html#cfn-events-rule-redshiftdataparameters-sql
1969 */
1970 readonly sql: string;
1971 /**
1972 * The name of the SQL statement. You can name the SQL statement when you create it to identify the query.
1973 *
1974 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-redshiftdataparameters.html#cfn-events-rule-redshiftdataparameters-statementname
1975 */
1976 readonly statementName?: string;
1977 /**
1978 * Indicates whether to send an event back to EventBridge after the SQL statement runs.
1979 *
1980 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-redshiftdataparameters.html#cfn-events-rule-redshiftdataparameters-withevent
1981 */
1982 readonly withEvent?: boolean | cdk.IResolvable;
1983 }
1984}
1985export declare namespace CfnRule {
1986 /**
1987 * A `RetryPolicy` object that includes information about the retry policy settings.
1988 *
1989 * @struct
1990 * @stability external
1991 *
1992 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-retrypolicy.html
1993 */
1994 interface RetryPolicyProperty {
1995 /**
1996 * The maximum amount of time, in seconds, to continue to make retry attempts.
1997 *
1998 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-retrypolicy.html#cfn-events-rule-retrypolicy-maximumeventageinseconds
1999 */
2000 readonly maximumEventAgeInSeconds?: number;
2001 /**
2002 * The maximum number of retry attempts to make before the request fails. Retry attempts continue until either the maximum number of attempts is made or until the duration of the `MaximumEventAgeInSeconds` is met.
2003 *
2004 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-retrypolicy.html#cfn-events-rule-retrypolicy-maximumretryattempts
2005 */
2006 readonly maximumRetryAttempts?: number;
2007 }
2008}
2009export declare namespace CfnRule {
2010 /**
2011 * This parameter contains the criteria (either InstanceIds or a tag) used to specify which EC2 instances are to be sent the command.
2012 *
2013 * @struct
2014 * @stability external
2015 *
2016 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-runcommandparameters.html
2017 */
2018 interface RunCommandParametersProperty {
2019 /**
2020 * Currently, we support including only one RunCommandTarget block, which specifies either an array of InstanceIds or a tag.
2021 *
2022 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-runcommandparameters.html#cfn-events-rule-runcommandparameters-runcommandtargets
2023 */
2024 readonly runCommandTargets: Array<CfnRule.RunCommandTargetProperty | cdk.IResolvable> | cdk.IResolvable;
2025 }
2026}
2027export declare namespace CfnRule {
2028 /**
2029 * Information about the EC2 instances that are to be sent the command, specified as key-value pairs. Each `RunCommandTarget` block can include only one key, but this key may specify multiple values.
2030 *
2031 * @struct
2032 * @stability external
2033 *
2034 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-runcommandtarget.html
2035 */
2036 interface RunCommandTargetProperty {
2037 /**
2038 * Can be either `tag:` *tag-key* or `InstanceIds` .
2039 *
2040 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-runcommandtarget.html#cfn-events-rule-runcommandtarget-key
2041 */
2042 readonly key: string;
2043 /**
2044 * If `Key` is `tag:` *tag-key* , `Values` is a list of tag values. If `Key` is `InstanceIds` , `Values` is a list of Amazon EC2 instance IDs.
2045 *
2046 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-runcommandtarget.html#cfn-events-rule-runcommandtarget-values
2047 */
2048 readonly values: string[];
2049 }
2050}
2051export declare namespace CfnRule {
2052 /**
2053 * Name/Value pair of a parameter to start execution of a SageMaker Model Building Pipeline.
2054 *
2055 * @struct
2056 * @stability external
2057 *
2058 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-sagemakerpipelineparameter.html
2059 */
2060 interface SageMakerPipelineParameterProperty {
2061 /**
2062 * Name of parameter to start execution of a SageMaker Model Building Pipeline.
2063 *
2064 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-sagemakerpipelineparameter.html#cfn-events-rule-sagemakerpipelineparameter-name
2065 */
2066 readonly name: string;
2067 /**
2068 * Value of parameter to start execution of a SageMaker Model Building Pipeline.
2069 *
2070 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-sagemakerpipelineparameter.html#cfn-events-rule-sagemakerpipelineparameter-value
2071 */
2072 readonly value: string;
2073 }
2074}
2075export declare namespace CfnRule {
2076 /**
2077 * These are custom parameters to use when the target is a SageMaker Model Building Pipeline that starts based on EventBridge events.
2078 *
2079 * @struct
2080 * @stability external
2081 *
2082 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-sagemakerpipelineparameters.html
2083 */
2084 interface SageMakerPipelineParametersProperty {
2085 /**
2086 * List of Parameter names and values for SageMaker Model Building Pipeline execution.
2087 *
2088 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-sagemakerpipelineparameters.html#cfn-events-rule-sagemakerpipelineparameters-pipelineparameterlist
2089 */
2090 readonly pipelineParameterList?: Array<CfnRule.SageMakerPipelineParameterProperty | cdk.IResolvable> | cdk.IResolvable;
2091 }
2092}
2093export declare namespace CfnRule {
2094 /**
2095 * This structure includes the custom parameter to be used when the target is an SQS FIFO queue.
2096 *
2097 * @struct
2098 * @stability external
2099 *
2100 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-sqsparameters.html
2101 */
2102 interface SqsParametersProperty {
2103 /**
2104 * The FIFO message group ID to use as the target.
2105 *
2106 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-sqsparameters.html#cfn-events-rule-sqsparameters-messagegroupid
2107 */
2108 readonly messageGroupId: string;
2109 }
2110}
2111export declare namespace CfnRule {
2112 /**
2113 * A key-value pair associated with an ECS Target of an EventBridge rule. The tag will be propagated to ECS by EventBridge when starting an ECS task based on a matched event.
2114 *
2115 * > Currently, tags are only available when using ECS with EventBridge .
2116 *
2117 * @struct
2118 * @stability external
2119 *
2120 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-tag.html
2121 */
2122 interface TagProperty {
2123 /**
2124 * A string you can use to assign a value. The combination of tag keys and values can help you organize and categorize your resources.
2125 *
2126 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-tag.html#cfn-events-rule-tag-key
2127 */
2128 readonly key?: string;
2129 /**
2130 * The value for the specified tag key.
2131 *
2132 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-tag.html#cfn-events-rule-tag-value
2133 */
2134 readonly value?: string;
2135 }
2136}
2137export declare namespace CfnRule {
2138 /**
2139 * Targets are the resources to be invoked when a rule is triggered. For a complete list of services and resources that can be set as a target, see [PutTargets](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutTargets.html) .
2140 *
2141 * If you are setting the event bus of another account as the target, and that account granted permission to your account through an organization instead of directly by the account ID, then you must specify a `RoleArn` with proper permissions in the `Target` structure. For more information, see [Sending and Receiving Events Between AWS Accounts](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-cross-account-event-delivery.html) in the *Amazon EventBridge User Guide* .
2142 *
2143 * @struct
2144 * @stability external
2145 *
2146 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html
2147 */
2148 interface TargetProperty {
2149 /**
2150 * The Amazon Resource Name (ARN) of the target.
2151 *
2152 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-arn
2153 */
2154 readonly arn: string;
2155 /**
2156 * If the event target is an AWS Batch job, this contains the job definition, job name, and other parameters. For more information, see [Jobs](https://docs.aws.amazon.com/batch/latest/userguide/jobs.html) in the *AWS Batch User Guide* .
2157 *
2158 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-batchparameters
2159 */
2160 readonly batchParameters?: CfnRule.BatchParametersProperty | cdk.IResolvable;
2161 /**
2162 * The `DeadLetterConfig` that defines the target queue to send dead-letter queue events to.
2163 *
2164 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-deadletterconfig
2165 */
2166 readonly deadLetterConfig?: CfnRule.DeadLetterConfigProperty | cdk.IResolvable;
2167 /**
2168 * Contains the Amazon ECS task definition and task count to be used, if the event target is an Amazon ECS task. For more information about Amazon ECS tasks, see [Task Definitions](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_defintions.html) in the *Amazon EC2 Container Service Developer Guide* .
2169 *
2170 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-ecsparameters
2171 */
2172 readonly ecsParameters?: CfnRule.EcsParametersProperty | cdk.IResolvable;
2173 /**
2174 * Contains the HTTP parameters to use when the target is a API Gateway endpoint or EventBridge ApiDestination.
2175 *
2176 * If you specify an API Gateway API or EventBridge ApiDestination as a target, you can use this parameter to specify headers, path parameters, and query string keys/values as part of your target invoking request. If you're using ApiDestinations, the corresponding Connection can also have these values configured. In case of any conflicting keys, values from the Connection take precedence.
2177 *
2178 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-httpparameters
2179 */
2180 readonly httpParameters?: CfnRule.HttpParametersProperty | cdk.IResolvable;
2181 /**
2182 * The ID of the target within the specified rule. Use this ID to reference the target when updating the rule. We recommend using a memorable and unique string.
2183 *
2184 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-id
2185 */
2186 readonly id: string;
2187 /**
2188 * Valid JSON text passed to the target. In this case, nothing from the event itself is passed to the target. For more information, see [The JavaScript Object Notation (JSON) Data Interchange Format](https://docs.aws.amazon.com/http://www.rfc-editor.org/rfc/rfc7159.txt) .
2189 *
2190 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-input
2191 */
2192 readonly input?: string;
2193 /**
2194 * The value of the JSONPath that is used for extracting part of the matched event when passing it to the target. You may use JSON dot notation or bracket notation. For more information about JSON paths, see [JSONPath](https://docs.aws.amazon.com/http://goessner.net/articles/JsonPath/) .
2195 *
2196 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-inputpath
2197 */
2198 readonly inputPath?: string;
2199 /**
2200 * Settings to enable you to provide custom input to a target based on certain event data. You can extract one or more key-value pairs from the event and then use that data to send customized input to the target.
2201 *
2202 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-inputtransformer
2203 */
2204 readonly inputTransformer?: CfnRule.InputTransformerProperty | cdk.IResolvable;
2205 /**
2206 * The custom parameter you can use to control the shard assignment, when the target is a Kinesis data stream. If you do not include this parameter, the default is to use the `eventId` as the partition key.
2207 *
2208 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-kinesisparameters
2209 */
2210 readonly kinesisParameters?: CfnRule.KinesisParametersProperty | cdk.IResolvable;
2211 /**
2212 * Contains the Amazon Redshift Data API parameters to use when the target is a Amazon Redshift cluster.
2213 *
2214 * If you specify a Amazon Redshift Cluster as a Target, you can use this to specify parameters to invoke the Amazon Redshift Data API ExecuteStatement based on EventBridge events.
2215 *
2216 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-redshiftdataparameters
2217 */
2218 readonly redshiftDataParameters?: CfnRule.RedshiftDataParametersProperty | cdk.IResolvable;
2219 /**
2220 * The `RetryPolicy` object that contains the retry policy configuration to use for the dead-letter queue.
2221 *
2222 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy
2223 */
2224 readonly retryPolicy?: CfnRule.RetryPolicyProperty | cdk.IResolvable;
2225 /**
2226 * The Amazon Resource Name (ARN) of the IAM role to be used for this target when the rule is triggered. If one rule triggers multiple targets, you can use a different IAM role for each target.
2227 *
2228 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-rolearn
2229 */
2230 readonly roleArn?: string;
2231 /**
2232 * Parameters used when you are using the rule to invoke Amazon EC2 Run Command.
2233 *
2234 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-runcommandparameters
2235 */
2236 readonly runCommandParameters?: CfnRule.RunCommandParametersProperty | cdk.IResolvable;
2237 /**
2238 * Contains the SageMaker Model Building Pipeline parameters to start execution of a SageMaker Model Building Pipeline.
2239 *
2240 * If you specify a SageMaker Model Building Pipeline as a target, you can use this to specify parameters to start a pipeline execution based on EventBridge events.
2241 *
2242 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-sagemakerpipelineparameters
2243 */
2244 readonly sageMakerPipelineParameters?: CfnRule.SageMakerPipelineParametersProperty | cdk.IResolvable;
2245 /**
2246 * Contains the message group ID to use when the target is a FIFO queue.
2247 *
2248 * If you specify an SQS FIFO queue as a target, the queue must have content-based deduplication enabled.
2249 *
2250 * @link http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-sqsparameters
2251 */
2252 readonly sqsParameters?: CfnRule.SqsParametersProperty | cdk.IResolvable;
2253 }
2254}