github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/glue/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 glue 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 // Manages a Glue Security Configuration. 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/glue" 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 := glue.NewSecurityConfiguration(ctx, "example", &glue.SecurityConfigurationArgs{ 33 // Name: pulumi.String("example"), 34 // EncryptionConfiguration: &glue.SecurityConfigurationEncryptionConfigurationArgs{ 35 // CloudwatchEncryption: &glue.SecurityConfigurationEncryptionConfigurationCloudwatchEncryptionArgs{ 36 // CloudwatchEncryptionMode: pulumi.String("DISABLED"), 37 // }, 38 // JobBookmarksEncryption: &glue.SecurityConfigurationEncryptionConfigurationJobBookmarksEncryptionArgs{ 39 // JobBookmarksEncryptionMode: pulumi.String("DISABLED"), 40 // }, 41 // S3Encryption: &glue.SecurityConfigurationEncryptionConfigurationS3EncryptionArgs{ 42 // KmsKeyArn: pulumi.Any(exampleAwsKmsKey.Arn), 43 // S3EncryptionMode: pulumi.String("SSE-KMS"), 44 // }, 45 // }, 46 // }) 47 // if err != nil { 48 // return err 49 // } 50 // return nil 51 // }) 52 // } 53 // 54 // ``` 55 // <!--End PulumiCodeChooser --> 56 // 57 // ## Import 58 // 59 // Using `pulumi import`, import Glue Security Configurations using `name`. For example: 60 // 61 // ```sh 62 // $ pulumi import aws:glue/securityConfiguration:SecurityConfiguration example example 63 // ``` 64 type SecurityConfiguration struct { 65 pulumi.CustomResourceState 66 67 // Configuration block containing encryption configuration. Detailed below. 68 EncryptionConfiguration SecurityConfigurationEncryptionConfigurationOutput `pulumi:"encryptionConfiguration"` 69 // Name of the security configuration. 70 Name pulumi.StringOutput `pulumi:"name"` 71 } 72 73 // NewSecurityConfiguration registers a new resource with the given unique name, arguments, and options. 74 func NewSecurityConfiguration(ctx *pulumi.Context, 75 name string, args *SecurityConfigurationArgs, opts ...pulumi.ResourceOption) (*SecurityConfiguration, error) { 76 if args == nil { 77 return nil, errors.New("missing one or more required arguments") 78 } 79 80 if args.EncryptionConfiguration == nil { 81 return nil, errors.New("invalid value for required argument 'EncryptionConfiguration'") 82 } 83 opts = internal.PkgResourceDefaultOpts(opts) 84 var resource SecurityConfiguration 85 err := ctx.RegisterResource("aws:glue/securityConfiguration:SecurityConfiguration", name, args, &resource, opts...) 86 if err != nil { 87 return nil, err 88 } 89 return &resource, nil 90 } 91 92 // GetSecurityConfiguration gets an existing SecurityConfiguration resource's state with the given name, ID, and optional 93 // state properties that are used to uniquely qualify the lookup (nil if not required). 94 func GetSecurityConfiguration(ctx *pulumi.Context, 95 name string, id pulumi.IDInput, state *SecurityConfigurationState, opts ...pulumi.ResourceOption) (*SecurityConfiguration, error) { 96 var resource SecurityConfiguration 97 err := ctx.ReadResource("aws:glue/securityConfiguration:SecurityConfiguration", name, id, state, &resource, opts...) 98 if err != nil { 99 return nil, err 100 } 101 return &resource, nil 102 } 103 104 // Input properties used for looking up and filtering SecurityConfiguration resources. 105 type securityConfigurationState struct { 106 // Configuration block containing encryption configuration. Detailed below. 107 EncryptionConfiguration *SecurityConfigurationEncryptionConfiguration `pulumi:"encryptionConfiguration"` 108 // Name of the security configuration. 109 Name *string `pulumi:"name"` 110 } 111 112 type SecurityConfigurationState struct { 113 // Configuration block containing encryption configuration. Detailed below. 114 EncryptionConfiguration SecurityConfigurationEncryptionConfigurationPtrInput 115 // Name of the security configuration. 116 Name pulumi.StringPtrInput 117 } 118 119 func (SecurityConfigurationState) ElementType() reflect.Type { 120 return reflect.TypeOf((*securityConfigurationState)(nil)).Elem() 121 } 122 123 type securityConfigurationArgs struct { 124 // Configuration block containing encryption configuration. Detailed below. 125 EncryptionConfiguration SecurityConfigurationEncryptionConfiguration `pulumi:"encryptionConfiguration"` 126 // Name of the security configuration. 127 Name *string `pulumi:"name"` 128 } 129 130 // The set of arguments for constructing a SecurityConfiguration resource. 131 type SecurityConfigurationArgs struct { 132 // Configuration block containing encryption configuration. Detailed below. 133 EncryptionConfiguration SecurityConfigurationEncryptionConfigurationInput 134 // Name of the security configuration. 135 Name pulumi.StringPtrInput 136 } 137 138 func (SecurityConfigurationArgs) ElementType() reflect.Type { 139 return reflect.TypeOf((*securityConfigurationArgs)(nil)).Elem() 140 } 141 142 type SecurityConfigurationInput interface { 143 pulumi.Input 144 145 ToSecurityConfigurationOutput() SecurityConfigurationOutput 146 ToSecurityConfigurationOutputWithContext(ctx context.Context) SecurityConfigurationOutput 147 } 148 149 func (*SecurityConfiguration) ElementType() reflect.Type { 150 return reflect.TypeOf((**SecurityConfiguration)(nil)).Elem() 151 } 152 153 func (i *SecurityConfiguration) ToSecurityConfigurationOutput() SecurityConfigurationOutput { 154 return i.ToSecurityConfigurationOutputWithContext(context.Background()) 155 } 156 157 func (i *SecurityConfiguration) ToSecurityConfigurationOutputWithContext(ctx context.Context) SecurityConfigurationOutput { 158 return pulumi.ToOutputWithContext(ctx, i).(SecurityConfigurationOutput) 159 } 160 161 // SecurityConfigurationArrayInput is an input type that accepts SecurityConfigurationArray and SecurityConfigurationArrayOutput values. 162 // You can construct a concrete instance of `SecurityConfigurationArrayInput` via: 163 // 164 // SecurityConfigurationArray{ SecurityConfigurationArgs{...} } 165 type SecurityConfigurationArrayInput interface { 166 pulumi.Input 167 168 ToSecurityConfigurationArrayOutput() SecurityConfigurationArrayOutput 169 ToSecurityConfigurationArrayOutputWithContext(context.Context) SecurityConfigurationArrayOutput 170 } 171 172 type SecurityConfigurationArray []SecurityConfigurationInput 173 174 func (SecurityConfigurationArray) ElementType() reflect.Type { 175 return reflect.TypeOf((*[]*SecurityConfiguration)(nil)).Elem() 176 } 177 178 func (i SecurityConfigurationArray) ToSecurityConfigurationArrayOutput() SecurityConfigurationArrayOutput { 179 return i.ToSecurityConfigurationArrayOutputWithContext(context.Background()) 180 } 181 182 func (i SecurityConfigurationArray) ToSecurityConfigurationArrayOutputWithContext(ctx context.Context) SecurityConfigurationArrayOutput { 183 return pulumi.ToOutputWithContext(ctx, i).(SecurityConfigurationArrayOutput) 184 } 185 186 // SecurityConfigurationMapInput is an input type that accepts SecurityConfigurationMap and SecurityConfigurationMapOutput values. 187 // You can construct a concrete instance of `SecurityConfigurationMapInput` via: 188 // 189 // SecurityConfigurationMap{ "key": SecurityConfigurationArgs{...} } 190 type SecurityConfigurationMapInput interface { 191 pulumi.Input 192 193 ToSecurityConfigurationMapOutput() SecurityConfigurationMapOutput 194 ToSecurityConfigurationMapOutputWithContext(context.Context) SecurityConfigurationMapOutput 195 } 196 197 type SecurityConfigurationMap map[string]SecurityConfigurationInput 198 199 func (SecurityConfigurationMap) ElementType() reflect.Type { 200 return reflect.TypeOf((*map[string]*SecurityConfiguration)(nil)).Elem() 201 } 202 203 func (i SecurityConfigurationMap) ToSecurityConfigurationMapOutput() SecurityConfigurationMapOutput { 204 return i.ToSecurityConfigurationMapOutputWithContext(context.Background()) 205 } 206 207 func (i SecurityConfigurationMap) ToSecurityConfigurationMapOutputWithContext(ctx context.Context) SecurityConfigurationMapOutput { 208 return pulumi.ToOutputWithContext(ctx, i).(SecurityConfigurationMapOutput) 209 } 210 211 type SecurityConfigurationOutput struct{ *pulumi.OutputState } 212 213 func (SecurityConfigurationOutput) ElementType() reflect.Type { 214 return reflect.TypeOf((**SecurityConfiguration)(nil)).Elem() 215 } 216 217 func (o SecurityConfigurationOutput) ToSecurityConfigurationOutput() SecurityConfigurationOutput { 218 return o 219 } 220 221 func (o SecurityConfigurationOutput) ToSecurityConfigurationOutputWithContext(ctx context.Context) SecurityConfigurationOutput { 222 return o 223 } 224 225 // Configuration block containing encryption configuration. Detailed below. 226 func (o SecurityConfigurationOutput) EncryptionConfiguration() SecurityConfigurationEncryptionConfigurationOutput { 227 return o.ApplyT(func(v *SecurityConfiguration) SecurityConfigurationEncryptionConfigurationOutput { 228 return v.EncryptionConfiguration 229 }).(SecurityConfigurationEncryptionConfigurationOutput) 230 } 231 232 // Name of the security configuration. 233 func (o SecurityConfigurationOutput) Name() pulumi.StringOutput { 234 return o.ApplyT(func(v *SecurityConfiguration) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 235 } 236 237 type SecurityConfigurationArrayOutput struct{ *pulumi.OutputState } 238 239 func (SecurityConfigurationArrayOutput) ElementType() reflect.Type { 240 return reflect.TypeOf((*[]*SecurityConfiguration)(nil)).Elem() 241 } 242 243 func (o SecurityConfigurationArrayOutput) ToSecurityConfigurationArrayOutput() SecurityConfigurationArrayOutput { 244 return o 245 } 246 247 func (o SecurityConfigurationArrayOutput) ToSecurityConfigurationArrayOutputWithContext(ctx context.Context) SecurityConfigurationArrayOutput { 248 return o 249 } 250 251 func (o SecurityConfigurationArrayOutput) Index(i pulumi.IntInput) SecurityConfigurationOutput { 252 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *SecurityConfiguration { 253 return vs[0].([]*SecurityConfiguration)[vs[1].(int)] 254 }).(SecurityConfigurationOutput) 255 } 256 257 type SecurityConfigurationMapOutput struct{ *pulumi.OutputState } 258 259 func (SecurityConfigurationMapOutput) ElementType() reflect.Type { 260 return reflect.TypeOf((*map[string]*SecurityConfiguration)(nil)).Elem() 261 } 262 263 func (o SecurityConfigurationMapOutput) ToSecurityConfigurationMapOutput() SecurityConfigurationMapOutput { 264 return o 265 } 266 267 func (o SecurityConfigurationMapOutput) ToSecurityConfigurationMapOutputWithContext(ctx context.Context) SecurityConfigurationMapOutput { 268 return o 269 } 270 271 func (o SecurityConfigurationMapOutput) MapIndex(k pulumi.StringInput) SecurityConfigurationOutput { 272 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *SecurityConfiguration { 273 return vs[0].(map[string]*SecurityConfiguration)[vs[1].(string)] 274 }).(SecurityConfigurationOutput) 275 } 276 277 func init() { 278 pulumi.RegisterInputType(reflect.TypeOf((*SecurityConfigurationInput)(nil)).Elem(), &SecurityConfiguration{}) 279 pulumi.RegisterInputType(reflect.TypeOf((*SecurityConfigurationArrayInput)(nil)).Elem(), SecurityConfigurationArray{}) 280 pulumi.RegisterInputType(reflect.TypeOf((*SecurityConfigurationMapInput)(nil)).Elem(), SecurityConfigurationMap{}) 281 pulumi.RegisterOutputType(SecurityConfigurationOutput{}) 282 pulumi.RegisterOutputType(SecurityConfigurationArrayOutput{}) 283 pulumi.RegisterOutputType(SecurityConfigurationMapOutput{}) 284 }