-
Notifications
You must be signed in to change notification settings - Fork 17
/
CfnSecurityConfigurationProps.go
85 lines (82 loc) · 3.05 KB
/
CfnSecurityConfigurationProps.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
74
75
76
77
78
79
80
81
82
83
84
package awsemr
// Properties for defining a `CfnSecurityConfiguration`.
//
// Example:
// import emr "github.com/aws/aws-cdk-go/awscdk"
//
//
// cfnSecurityConfiguration := emr.NewCfnSecurityConfiguration(this, jsii.String("EmrSecurityConfiguration"), &CfnSecurityConfigurationProps{
// Name: jsii.String("AddStepRuntimeRoleSecConfig"),
// SecurityConfiguration: jSON.parse(jsii.String(`
// {
// "AuthorizationConfiguration": {
// "IAMConfiguration": {
// "EnableApplicationScopedIAMRole": true,
// "ApplicationScopedIAMRoleConfiguration":
// {
// "PropagateSourceIdentity": true
// }
// },
// "LakeFormationConfiguration": {
// "AuthorizedSessionTagValue": "Amazon EMR"
// }
// }
// }`)),
// })
//
// task := tasks.NewEmrCreateCluster(this, jsii.String("Create Cluster"), &EmrCreateClusterProps{
// Instances: &InstancesConfigProperty{
// },
// Name: sfn.TaskInput_FromJsonPathAt(jsii.String("$.ClusterName")).value,
// SecurityConfiguration: cfnSecurityConfiguration.Name,
// })
//
// executionRole := iam.NewRole(this, jsii.String("Role"), &RoleProps{
// AssumedBy: iam.NewArnPrincipal(task.clusterRole.RoleArn),
// })
//
// executionRole.AssumeRolePolicy.AddStatements(
// iam.NewPolicyStatement(&PolicyStatementProps{
// Effect: iam.Effect_ALLOW,
// Principals: []iPrincipal{
// task.clusterRole,
// },
// Actions: []*string{
// jsii.String("sts:SetSourceIdentity"),
// },
// }),
// iam.NewPolicyStatement(&PolicyStatementProps{
// Effect: iam.Effect_ALLOW,
// Principals: []*iPrincipal{
// task.clusterRole,
// },
// Actions: []*string{
// jsii.String("sts:TagSession"),
// },
// Conditions: map[string]interface{}{
// "StringEquals": map[string]*string{
// "aws:RequestTag/LakeFormationAuthorizedCaller": jsii.String("Amazon EMR"),
// },
// },
// }))
//
// tasks.NewEmrAddStep(this, jsii.String("Task"), &EmrAddStepProps{
// ClusterId: jsii.String("ClusterId"),
// ExecutionRoleArn: executionRole.RoleArn,
// Name: jsii.String("StepName"),
// Jar: jsii.String("Jar"),
// ActionOnFailure: tasks.ActionOnFailure_CONTINUE,
// })
//
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-securityconfiguration.html
//
type CfnSecurityConfigurationProps struct {
// The security configuration details in JSON format.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-securityconfiguration.html#cfn-emr-securityconfiguration-securityconfiguration
//
SecurityConfiguration interface{} `field:"required" json:"securityConfiguration" yaml:"securityConfiguration"`
// The name of the security configuration.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-securityconfiguration.html#cfn-emr-securityconfiguration-name
//
Name *string `field:"optional" json:"name" yaml:"name"`
}