github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/emr/securityConfiguration.go (about) 1 // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. 2 // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** 3 4 package emr 5 6 import ( 7 "context" 8 "reflect" 9 10 "errors" 11 "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/internal" 12 "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 13 ) 14 15 // Provides a resource to manage AWS EMR Security Configurations 16 // 17 // ## Example Usage 18 // 19 // <!--Start PulumiCodeChooser --> 20 // ```go 21 // package main 22 // 23 // import ( 24 // 25 // "github.com/pulumi/pulumi-aws/sdk/v6/go/aws/emr" 26 // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 27 // 28 // ) 29 // 30 // func main() { 31 // pulumi.Run(func(ctx *pulumi.Context) error { 32 // _, err := emr.NewSecurityConfiguration(ctx, "foo", &emr.SecurityConfigurationArgs{ 33 // Name: pulumi.String("emrsc_other"), 34 // Configuration: pulumi.String(`{ 35 // "EncryptionConfiguration": { 36 // "AtRestEncryptionConfiguration": { 37 // "S3EncryptionConfiguration": { 38 // "EncryptionMode": "SSE-S3" 39 // }, 40 // "LocalDiskEncryptionConfiguration": { 41 // "EncryptionKeyProviderType": "AwsKms", 42 // "AwsKmsKey": "arn:aws:kms:us-west-2:187416307283:alias/my_emr_test_key" 43 // } 44 // }, 45 // "EnableInTransitEncryption": false, 46 // "EnableAtRestEncryption": true 47 // } 48 // } 49 // 50 // `), 51 // 52 // }) 53 // if err != nil { 54 // return err 55 // } 56 // return nil 57 // }) 58 // } 59 // 60 // ``` 61 // <!--End PulumiCodeChooser --> 62 // 63 // ## Import 64 // 65 // Using `pulumi import`, import EMR Security Configurations using the `name`. For example: 66 // 67 // ```sh 68 // $ pulumi import aws:emr/securityConfiguration:SecurityConfiguration sc example-sc-name 69 // ``` 70 type SecurityConfiguration struct { 71 pulumi.CustomResourceState 72 73 // A JSON formatted Security Configuration 74 Configuration pulumi.StringOutput `pulumi:"configuration"` 75 // Date the Security Configuration was created 76 CreationDate pulumi.StringOutput `pulumi:"creationDate"` 77 // The name of the EMR Security Configuration. By default generated by this provider. 78 Name pulumi.StringOutput `pulumi:"name"` 79 // Creates a unique name beginning with the specified 80 // prefix. Conflicts with `name`. 81 NamePrefix pulumi.StringOutput `pulumi:"namePrefix"` 82 } 83 84 // NewSecurityConfiguration registers a new resource with the given unique name, arguments, and options. 85 func NewSecurityConfiguration(ctx *pulumi.Context, 86 name string, args *SecurityConfigurationArgs, opts ...pulumi.ResourceOption) (*SecurityConfiguration, error) { 87 if args == nil { 88 return nil, errors.New("missing one or more required arguments") 89 } 90 91 if args.Configuration == nil { 92 return nil, errors.New("invalid value for required argument 'Configuration'") 93 } 94 opts = internal.PkgResourceDefaultOpts(opts) 95 var resource SecurityConfiguration 96 err := ctx.RegisterResource("aws:emr/securityConfiguration:SecurityConfiguration", name, args, &resource, opts...) 97 if err != nil { 98 return nil, err 99 } 100 return &resource, nil 101 } 102 103 // GetSecurityConfiguration gets an existing SecurityConfiguration resource's state with the given name, ID, and optional 104 // state properties that are used to uniquely qualify the lookup (nil if not required). 105 func GetSecurityConfiguration(ctx *pulumi.Context, 106 name string, id pulumi.IDInput, state *SecurityConfigurationState, opts ...pulumi.ResourceOption) (*SecurityConfiguration, error) { 107 var resource SecurityConfiguration 108 err := ctx.ReadResource("aws:emr/securityConfiguration:SecurityConfiguration", name, id, state, &resource, opts...) 109 if err != nil { 110 return nil, err 111 } 112 return &resource, nil 113 } 114 115 // Input properties used for looking up and filtering SecurityConfiguration resources. 116 type securityConfigurationState struct { 117 // A JSON formatted Security Configuration 118 Configuration *string `pulumi:"configuration"` 119 // Date the Security Configuration was created 120 CreationDate *string `pulumi:"creationDate"` 121 // The name of the EMR Security Configuration. By default generated by this provider. 122 Name *string `pulumi:"name"` 123 // Creates a unique name beginning with the specified 124 // prefix. Conflicts with `name`. 125 NamePrefix *string `pulumi:"namePrefix"` 126 } 127 128 type SecurityConfigurationState struct { 129 // A JSON formatted Security Configuration 130 Configuration pulumi.StringPtrInput 131 // Date the Security Configuration was created 132 CreationDate pulumi.StringPtrInput 133 // The name of the EMR Security Configuration. By default generated by this provider. 134 Name pulumi.StringPtrInput 135 // Creates a unique name beginning with the specified 136 // prefix. Conflicts with `name`. 137 NamePrefix pulumi.StringPtrInput 138 } 139 140 func (SecurityConfigurationState) ElementType() reflect.Type { 141 return reflect.TypeOf((*securityConfigurationState)(nil)).Elem() 142 } 143 144 type securityConfigurationArgs struct { 145 // A JSON formatted Security Configuration 146 Configuration string `pulumi:"configuration"` 147 // The name of the EMR Security Configuration. By default generated by this provider. 148 Name *string `pulumi:"name"` 149 // Creates a unique name beginning with the specified 150 // prefix. Conflicts with `name`. 151 NamePrefix *string `pulumi:"namePrefix"` 152 } 153 154 // The set of arguments for constructing a SecurityConfiguration resource. 155 type SecurityConfigurationArgs struct { 156 // A JSON formatted Security Configuration 157 Configuration pulumi.StringInput 158 // The name of the EMR Security Configuration. By default generated by this provider. 159 Name pulumi.StringPtrInput 160 // Creates a unique name beginning with the specified 161 // prefix. Conflicts with `name`. 162 NamePrefix pulumi.StringPtrInput 163 } 164 165 func (SecurityConfigurationArgs) ElementType() reflect.Type { 166 return reflect.TypeOf((*securityConfigurationArgs)(nil)).Elem() 167 } 168 169 type SecurityConfigurationInput interface { 170 pulumi.Input 171 172 ToSecurityConfigurationOutput() SecurityConfigurationOutput 173 ToSecurityConfigurationOutputWithContext(ctx context.Context) SecurityConfigurationOutput 174 } 175 176 func (*SecurityConfiguration) ElementType() reflect.Type { 177 return reflect.TypeOf((**SecurityConfiguration)(nil)).Elem() 178 } 179 180 func (i *SecurityConfiguration) ToSecurityConfigurationOutput() SecurityConfigurationOutput { 181 return i.ToSecurityConfigurationOutputWithContext(context.Background()) 182 } 183 184 func (i *SecurityConfiguration) ToSecurityConfigurationOutputWithContext(ctx context.Context) SecurityConfigurationOutput { 185 return pulumi.ToOutputWithContext(ctx, i).(SecurityConfigurationOutput) 186 } 187 188 // SecurityConfigurationArrayInput is an input type that accepts SecurityConfigurationArray and SecurityConfigurationArrayOutput values. 189 // You can construct a concrete instance of `SecurityConfigurationArrayInput` via: 190 // 191 // SecurityConfigurationArray{ SecurityConfigurationArgs{...} } 192 type SecurityConfigurationArrayInput interface { 193 pulumi.Input 194 195 ToSecurityConfigurationArrayOutput() SecurityConfigurationArrayOutput 196 ToSecurityConfigurationArrayOutputWithContext(context.Context) SecurityConfigurationArrayOutput 197 } 198 199 type SecurityConfigurationArray []SecurityConfigurationInput 200 201 func (SecurityConfigurationArray) ElementType() reflect.Type { 202 return reflect.TypeOf((*[]*SecurityConfiguration)(nil)).Elem() 203 } 204 205 func (i SecurityConfigurationArray) ToSecurityConfigurationArrayOutput() SecurityConfigurationArrayOutput { 206 return i.ToSecurityConfigurationArrayOutputWithContext(context.Background()) 207 } 208 209 func (i SecurityConfigurationArray) ToSecurityConfigurationArrayOutputWithContext(ctx context.Context) SecurityConfigurationArrayOutput { 210 return pulumi.ToOutputWithContext(ctx, i).(SecurityConfigurationArrayOutput) 211 } 212 213 // SecurityConfigurationMapInput is an input type that accepts SecurityConfigurationMap and SecurityConfigurationMapOutput values. 214 // You can construct a concrete instance of `SecurityConfigurationMapInput` via: 215 // 216 // SecurityConfigurationMap{ "key": SecurityConfigurationArgs{...} } 217 type SecurityConfigurationMapInput interface { 218 pulumi.Input 219 220 ToSecurityConfigurationMapOutput() SecurityConfigurationMapOutput 221 ToSecurityConfigurationMapOutputWithContext(context.Context) SecurityConfigurationMapOutput 222 } 223 224 type SecurityConfigurationMap map[string]SecurityConfigurationInput 225 226 func (SecurityConfigurationMap) ElementType() reflect.Type { 227 return reflect.TypeOf((*map[string]*SecurityConfiguration)(nil)).Elem() 228 } 229 230 func (i SecurityConfigurationMap) ToSecurityConfigurationMapOutput() SecurityConfigurationMapOutput { 231 return i.ToSecurityConfigurationMapOutputWithContext(context.Background()) 232 } 233 234 func (i SecurityConfigurationMap) ToSecurityConfigurationMapOutputWithContext(ctx context.Context) SecurityConfigurationMapOutput { 235 return pulumi.ToOutputWithContext(ctx, i).(SecurityConfigurationMapOutput) 236 } 237 238 type SecurityConfigurationOutput struct{ *pulumi.OutputState } 239 240 func (SecurityConfigurationOutput) ElementType() reflect.Type { 241 return reflect.TypeOf((**SecurityConfiguration)(nil)).Elem() 242 } 243 244 func (o SecurityConfigurationOutput) ToSecurityConfigurationOutput() SecurityConfigurationOutput { 245 return o 246 } 247 248 func (o SecurityConfigurationOutput) ToSecurityConfigurationOutputWithContext(ctx context.Context) SecurityConfigurationOutput { 249 return o 250 } 251 252 // A JSON formatted Security Configuration 253 func (o SecurityConfigurationOutput) Configuration() pulumi.StringOutput { 254 return o.ApplyT(func(v *SecurityConfiguration) pulumi.StringOutput { return v.Configuration }).(pulumi.StringOutput) 255 } 256 257 // Date the Security Configuration was created 258 func (o SecurityConfigurationOutput) CreationDate() pulumi.StringOutput { 259 return o.ApplyT(func(v *SecurityConfiguration) pulumi.StringOutput { return v.CreationDate }).(pulumi.StringOutput) 260 } 261 262 // The name of the EMR Security Configuration. By default generated by this provider. 263 func (o SecurityConfigurationOutput) Name() pulumi.StringOutput { 264 return o.ApplyT(func(v *SecurityConfiguration) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 265 } 266 267 // Creates a unique name beginning with the specified 268 // prefix. Conflicts with `name`. 269 func (o SecurityConfigurationOutput) NamePrefix() pulumi.StringOutput { 270 return o.ApplyT(func(v *SecurityConfiguration) pulumi.StringOutput { return v.NamePrefix }).(pulumi.StringOutput) 271 } 272 273 type SecurityConfigurationArrayOutput struct{ *pulumi.OutputState } 274 275 func (SecurityConfigurationArrayOutput) ElementType() reflect.Type { 276 return reflect.TypeOf((*[]*SecurityConfiguration)(nil)).Elem() 277 } 278 279 func (o SecurityConfigurationArrayOutput) ToSecurityConfigurationArrayOutput() SecurityConfigurationArrayOutput { 280 return o 281 } 282 283 func (o SecurityConfigurationArrayOutput) ToSecurityConfigurationArrayOutputWithContext(ctx context.Context) SecurityConfigurationArrayOutput { 284 return o 285 } 286 287 func (o SecurityConfigurationArrayOutput) Index(i pulumi.IntInput) SecurityConfigurationOutput { 288 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *SecurityConfiguration { 289 return vs[0].([]*SecurityConfiguration)[vs[1].(int)] 290 }).(SecurityConfigurationOutput) 291 } 292 293 type SecurityConfigurationMapOutput struct{ *pulumi.OutputState } 294 295 func (SecurityConfigurationMapOutput) ElementType() reflect.Type { 296 return reflect.TypeOf((*map[string]*SecurityConfiguration)(nil)).Elem() 297 } 298 299 func (o SecurityConfigurationMapOutput) ToSecurityConfigurationMapOutput() SecurityConfigurationMapOutput { 300 return o 301 } 302 303 func (o SecurityConfigurationMapOutput) ToSecurityConfigurationMapOutputWithContext(ctx context.Context) SecurityConfigurationMapOutput { 304 return o 305 } 306 307 func (o SecurityConfigurationMapOutput) MapIndex(k pulumi.StringInput) SecurityConfigurationOutput { 308 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *SecurityConfiguration { 309 return vs[0].(map[string]*SecurityConfiguration)[vs[1].(string)] 310 }).(SecurityConfigurationOutput) 311 } 312 313 func init() { 314 pulumi.RegisterInputType(reflect.TypeOf((*SecurityConfigurationInput)(nil)).Elem(), &SecurityConfiguration{}) 315 pulumi.RegisterInputType(reflect.TypeOf((*SecurityConfigurationArrayInput)(nil)).Elem(), SecurityConfigurationArray{}) 316 pulumi.RegisterInputType(reflect.TypeOf((*SecurityConfigurationMapInput)(nil)).Elem(), SecurityConfigurationMap{}) 317 pulumi.RegisterOutputType(SecurityConfigurationOutput{}) 318 pulumi.RegisterOutputType(SecurityConfigurationArrayOutput{}) 319 pulumi.RegisterOutputType(SecurityConfigurationMapOutput{}) 320 }