/
CfnEventBusPolicyProps.go
74 lines (71 loc) · 4.1 KB
/
CfnEventBusPolicyProps.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
package awsevents
// Properties for defining a `CfnEventBusPolicy`.
//
// Example:
// // The code below shows an example of how to instantiate this type.
// // The values are placeholders you should change.
// import "github.com/aws/aws-cdk-go/awscdk"
//
// var statement interface{}
//
// cfnEventBusPolicyProps := &CfnEventBusPolicyProps{
// StatementId: jsii.String("statementId"),
//
// // the properties below are optional
// Action: jsii.String("action"),
// Condition: &ConditionProperty{
// Key: jsii.String("key"),
// Type: jsii.String("type"),
// Value: jsii.String("value"),
// },
// EventBusName: jsii.String("eventBusName"),
// Principal: jsii.String("principal"),
// Statement: statement,
// }
//
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html
//
type CfnEventBusPolicyProps struct {
// 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) .
//
// > Each `StatementId` must be unique.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-statementid
//
StatementId *string `field:"required" json:"statementId" yaml:"statementId"`
// The action that you are enabling the other account to perform.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-action
//
Action *string `field:"optional" json:"action" yaml:"action"`
// 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* .
//
// 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.
//
// The `Condition` is a JSON string which must contain `Type` , `Key` , and `Value` fields.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-condition
//
Condition interface{} `field:"optional" json:"condition" yaml:"condition"`
// The name of the event bus associated with the rule.
//
// If you omit this, the default event bus is used.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-eventbusname
//
EventBusName *string `field:"optional" json:"eventBusName" yaml:"eventBusName"`
// 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.
//
// 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.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-principal
//
Principal *string `field:"optional" json:"principal" yaml:"principal"`
// 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.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-eventbuspolicy.html#cfn-events-eventbuspolicy-statement
//
Statement interface{} `field:"optional" json:"statement" yaml:"statement"`
}