-
Notifications
You must be signed in to change notification settings - Fork 17
/
CfnStudioProps.go
133 lines (130 loc) · 7.66 KB
/
CfnStudioProps.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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
package awsemr
import (
"github.com/aws/aws-cdk-go/awscdk/v2"
)
// Properties for defining a `CfnStudio`.
//
// 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"
//
// cfnStudioProps := &CfnStudioProps{
// AuthMode: jsii.String("authMode"),
// DefaultS3Location: jsii.String("defaultS3Location"),
// EngineSecurityGroupId: jsii.String("engineSecurityGroupId"),
// Name: jsii.String("name"),
// ServiceRole: jsii.String("serviceRole"),
// SubnetIds: []*string{
// jsii.String("subnetIds"),
// },
// VpcId: jsii.String("vpcId"),
// WorkspaceSecurityGroupId: jsii.String("workspaceSecurityGroupId"),
//
// // the properties below are optional
// Description: jsii.String("description"),
// EncryptionKeyArn: jsii.String("encryptionKeyArn"),
// IdcInstanceArn: jsii.String("idcInstanceArn"),
// IdcUserAssignment: jsii.String("idcUserAssignment"),
// IdpAuthUrl: jsii.String("idpAuthUrl"),
// IdpRelayStateParameterName: jsii.String("idpRelayStateParameterName"),
// Tags: []cfnTag{
// &cfnTag{
// Key: jsii.String("key"),
// Value: jsii.String("value"),
// },
// },
// TrustedIdentityPropagationEnabled: jsii.Boolean(false),
// UserRole: jsii.String("userRole"),
// }
//
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html
//
type CfnStudioProps struct {
// Specifies whether the Studio authenticates users using IAM Identity Center or IAM.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-authmode
//
AuthMode *string `field:"required" json:"authMode" yaml:"authMode"`
// The Amazon S3 location to back up EMR Studio Workspaces and notebook files.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-defaults3location
//
DefaultS3Location *string `field:"required" json:"defaultS3Location" yaml:"defaultS3Location"`
// The ID of the Amazon EMR Studio Engine security group.
//
// The Engine security group allows inbound network traffic from the Workspace security group, and it must be in the same VPC specified by `VpcId` .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-enginesecuritygroupid
//
EngineSecurityGroupId *string `field:"required" json:"engineSecurityGroupId" yaml:"engineSecurityGroupId"`
// A descriptive name for the Amazon EMR Studio.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-name
//
Name *string `field:"required" json:"name" yaml:"name"`
// The Amazon Resource Name (ARN) of the IAM role that will be assumed by the Amazon EMR Studio.
//
// The service role provides a way for Amazon EMR Studio to interoperate with other AWS services.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-servicerole
//
ServiceRole *string `field:"required" json:"serviceRole" yaml:"serviceRole"`
// A list of subnet IDs to associate with the Amazon EMR Studio.
//
// A Studio can have a maximum of 5 subnets. The subnets must belong to the VPC specified by `VpcId` . Studio users can create a Workspace in any of the specified subnets.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-subnetids
//
SubnetIds *[]*string `field:"required" json:"subnetIds" yaml:"subnetIds"`
// The ID of the Amazon Virtual Private Cloud (Amazon VPC) to associate with the Studio.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-vpcid
//
VpcId *string `field:"required" json:"vpcId" yaml:"vpcId"`
// The ID of the Workspace security group associated with the Amazon EMR Studio.
//
// The Workspace security group allows outbound network traffic to resources in the Engine security group and to the internet.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-workspacesecuritygroupid
//
WorkspaceSecurityGroupId *string `field:"required" json:"workspaceSecurityGroupId" yaml:"workspaceSecurityGroupId"`
// A detailed description of the Amazon EMR Studio.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-description
//
Description *string `field:"optional" json:"description" yaml:"description"`
// The AWS KMS key identifier (ARN) used to encrypt Amazon EMR Studio workspace and notebook files when backed up to Amazon S3.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-encryptionkeyarn
//
EncryptionKeyArn *string `field:"optional" json:"encryptionKeyArn" yaml:"encryptionKeyArn"`
// The ARN of the IAM Identity Center instance the Studio application belongs to.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-idcinstancearn
//
IdcInstanceArn *string `field:"optional" json:"idcInstanceArn" yaml:"idcInstanceArn"`
// Indicates whether the Studio has `REQUIRED` or `OPTIONAL` IAM Identity Center user assignment.
//
// If the value is set to `REQUIRED` , users must be explicitly assigned to the Studio application to access the Studio.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-idcuserassignment
//
IdcUserAssignment *string `field:"optional" json:"idcUserAssignment" yaml:"idcUserAssignment"`
// Your identity provider's authentication endpoint.
//
// Amazon EMR Studio redirects federated users to this endpoint for authentication when logging in to a Studio with the Studio URL.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-idpauthurl
//
IdpAuthUrl *string `field:"optional" json:"idpAuthUrl" yaml:"idpAuthUrl"`
// The name of your identity provider's `RelayState` parameter.
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-idprelaystateparametername
//
IdpRelayStateParameterName *string `field:"optional" json:"idpRelayStateParameterName" yaml:"idpRelayStateParameterName"`
// An array of key-value pairs to apply to this resource.
//
// For more information, see [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-tags
//
Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
// Indicates whether the Studio has Trusted identity propagation enabled.
//
// The default value is `false` .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-trustedidentitypropagationenabled
//
TrustedIdentityPropagationEnabled interface{} `field:"optional" json:"trustedIdentityPropagationEnabled" yaml:"trustedIdentityPropagationEnabled"`
// The Amazon Resource Name (ARN) of the IAM user role that will be assumed by users and groups logged in to a Studio.
//
// The permissions attached to this IAM role can be scoped down for each user or group using session policies. You only need to specify `UserRole` when you set `AuthMode` to `SSO` .
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-emr-studio.html#cfn-emr-studio-userrole
//
UserRole *string `field:"optional" json:"userRole" yaml:"userRole"`
}