github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/msk/configuration.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 msk 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 an Amazon Managed Streaming for Kafka configuration. More information can be found on the [MSK Developer Guide](https://docs.aws.amazon.com/msk/latest/developerguide/msk-configuration.html). 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/msk" 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 := msk.NewConfiguration(ctx, "example", &msk.ConfigurationArgs{ 33 // KafkaVersions: pulumi.StringArray{ 34 // pulumi.String("2.1.0"), 35 // }, 36 // Name: pulumi.String("example"), 37 // ServerProperties: pulumi.String("auto.create.topics.enable = true\ndelete.topic.enable = true\n"), 38 // }) 39 // if err != nil { 40 // return err 41 // } 42 // return nil 43 // }) 44 // } 45 // 46 // ``` 47 // <!--End PulumiCodeChooser --> 48 // 49 // ## Import 50 // 51 // Using `pulumi import`, import MSK configurations using the configuration ARN. For example: 52 // 53 // ```sh 54 // $ pulumi import aws:msk/configuration:Configuration example arn:aws:kafka:us-west-2:123456789012:configuration/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3 55 // ``` 56 type Configuration struct { 57 pulumi.CustomResourceState 58 59 // Amazon Resource Name (ARN) of the configuration. 60 Arn pulumi.StringOutput `pulumi:"arn"` 61 // Description of the configuration. 62 Description pulumi.StringPtrOutput `pulumi:"description"` 63 // List of Apache Kafka versions which can use this configuration. 64 KafkaVersions pulumi.StringArrayOutput `pulumi:"kafkaVersions"` 65 // Latest revision of the configuration. 66 LatestRevision pulumi.IntOutput `pulumi:"latestRevision"` 67 // Name of the configuration. 68 Name pulumi.StringOutput `pulumi:"name"` 69 // Contents of the server.properties file. Supported properties are documented in the [MSK Developer Guide](https://docs.aws.amazon.com/msk/latest/developerguide/msk-configuration-properties.html). 70 ServerProperties pulumi.StringOutput `pulumi:"serverProperties"` 71 } 72 73 // NewConfiguration registers a new resource with the given unique name, arguments, and options. 74 func NewConfiguration(ctx *pulumi.Context, 75 name string, args *ConfigurationArgs, opts ...pulumi.ResourceOption) (*Configuration, error) { 76 if args == nil { 77 return nil, errors.New("missing one or more required arguments") 78 } 79 80 if args.ServerProperties == nil { 81 return nil, errors.New("invalid value for required argument 'ServerProperties'") 82 } 83 opts = internal.PkgResourceDefaultOpts(opts) 84 var resource Configuration 85 err := ctx.RegisterResource("aws:msk/configuration:Configuration", name, args, &resource, opts...) 86 if err != nil { 87 return nil, err 88 } 89 return &resource, nil 90 } 91 92 // GetConfiguration gets an existing Configuration 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 GetConfiguration(ctx *pulumi.Context, 95 name string, id pulumi.IDInput, state *ConfigurationState, opts ...pulumi.ResourceOption) (*Configuration, error) { 96 var resource Configuration 97 err := ctx.ReadResource("aws:msk/configuration:Configuration", 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 Configuration resources. 105 type configurationState struct { 106 // Amazon Resource Name (ARN) of the configuration. 107 Arn *string `pulumi:"arn"` 108 // Description of the configuration. 109 Description *string `pulumi:"description"` 110 // List of Apache Kafka versions which can use this configuration. 111 KafkaVersions []string `pulumi:"kafkaVersions"` 112 // Latest revision of the configuration. 113 LatestRevision *int `pulumi:"latestRevision"` 114 // Name of the configuration. 115 Name *string `pulumi:"name"` 116 // Contents of the server.properties file. Supported properties are documented in the [MSK Developer Guide](https://docs.aws.amazon.com/msk/latest/developerguide/msk-configuration-properties.html). 117 ServerProperties *string `pulumi:"serverProperties"` 118 } 119 120 type ConfigurationState struct { 121 // Amazon Resource Name (ARN) of the configuration. 122 Arn pulumi.StringPtrInput 123 // Description of the configuration. 124 Description pulumi.StringPtrInput 125 // List of Apache Kafka versions which can use this configuration. 126 KafkaVersions pulumi.StringArrayInput 127 // Latest revision of the configuration. 128 LatestRevision pulumi.IntPtrInput 129 // Name of the configuration. 130 Name pulumi.StringPtrInput 131 // Contents of the server.properties file. Supported properties are documented in the [MSK Developer Guide](https://docs.aws.amazon.com/msk/latest/developerguide/msk-configuration-properties.html). 132 ServerProperties pulumi.StringPtrInput 133 } 134 135 func (ConfigurationState) ElementType() reflect.Type { 136 return reflect.TypeOf((*configurationState)(nil)).Elem() 137 } 138 139 type configurationArgs struct { 140 // Description of the configuration. 141 Description *string `pulumi:"description"` 142 // List of Apache Kafka versions which can use this configuration. 143 KafkaVersions []string `pulumi:"kafkaVersions"` 144 // Name of the configuration. 145 Name *string `pulumi:"name"` 146 // Contents of the server.properties file. Supported properties are documented in the [MSK Developer Guide](https://docs.aws.amazon.com/msk/latest/developerguide/msk-configuration-properties.html). 147 ServerProperties string `pulumi:"serverProperties"` 148 } 149 150 // The set of arguments for constructing a Configuration resource. 151 type ConfigurationArgs struct { 152 // Description of the configuration. 153 Description pulumi.StringPtrInput 154 // List of Apache Kafka versions which can use this configuration. 155 KafkaVersions pulumi.StringArrayInput 156 // Name of the configuration. 157 Name pulumi.StringPtrInput 158 // Contents of the server.properties file. Supported properties are documented in the [MSK Developer Guide](https://docs.aws.amazon.com/msk/latest/developerguide/msk-configuration-properties.html). 159 ServerProperties pulumi.StringInput 160 } 161 162 func (ConfigurationArgs) ElementType() reflect.Type { 163 return reflect.TypeOf((*configurationArgs)(nil)).Elem() 164 } 165 166 type ConfigurationInput interface { 167 pulumi.Input 168 169 ToConfigurationOutput() ConfigurationOutput 170 ToConfigurationOutputWithContext(ctx context.Context) ConfigurationOutput 171 } 172 173 func (*Configuration) ElementType() reflect.Type { 174 return reflect.TypeOf((**Configuration)(nil)).Elem() 175 } 176 177 func (i *Configuration) ToConfigurationOutput() ConfigurationOutput { 178 return i.ToConfigurationOutputWithContext(context.Background()) 179 } 180 181 func (i *Configuration) ToConfigurationOutputWithContext(ctx context.Context) ConfigurationOutput { 182 return pulumi.ToOutputWithContext(ctx, i).(ConfigurationOutput) 183 } 184 185 // ConfigurationArrayInput is an input type that accepts ConfigurationArray and ConfigurationArrayOutput values. 186 // You can construct a concrete instance of `ConfigurationArrayInput` via: 187 // 188 // ConfigurationArray{ ConfigurationArgs{...} } 189 type ConfigurationArrayInput interface { 190 pulumi.Input 191 192 ToConfigurationArrayOutput() ConfigurationArrayOutput 193 ToConfigurationArrayOutputWithContext(context.Context) ConfigurationArrayOutput 194 } 195 196 type ConfigurationArray []ConfigurationInput 197 198 func (ConfigurationArray) ElementType() reflect.Type { 199 return reflect.TypeOf((*[]*Configuration)(nil)).Elem() 200 } 201 202 func (i ConfigurationArray) ToConfigurationArrayOutput() ConfigurationArrayOutput { 203 return i.ToConfigurationArrayOutputWithContext(context.Background()) 204 } 205 206 func (i ConfigurationArray) ToConfigurationArrayOutputWithContext(ctx context.Context) ConfigurationArrayOutput { 207 return pulumi.ToOutputWithContext(ctx, i).(ConfigurationArrayOutput) 208 } 209 210 // ConfigurationMapInput is an input type that accepts ConfigurationMap and ConfigurationMapOutput values. 211 // You can construct a concrete instance of `ConfigurationMapInput` via: 212 // 213 // ConfigurationMap{ "key": ConfigurationArgs{...} } 214 type ConfigurationMapInput interface { 215 pulumi.Input 216 217 ToConfigurationMapOutput() ConfigurationMapOutput 218 ToConfigurationMapOutputWithContext(context.Context) ConfigurationMapOutput 219 } 220 221 type ConfigurationMap map[string]ConfigurationInput 222 223 func (ConfigurationMap) ElementType() reflect.Type { 224 return reflect.TypeOf((*map[string]*Configuration)(nil)).Elem() 225 } 226 227 func (i ConfigurationMap) ToConfigurationMapOutput() ConfigurationMapOutput { 228 return i.ToConfigurationMapOutputWithContext(context.Background()) 229 } 230 231 func (i ConfigurationMap) ToConfigurationMapOutputWithContext(ctx context.Context) ConfigurationMapOutput { 232 return pulumi.ToOutputWithContext(ctx, i).(ConfigurationMapOutput) 233 } 234 235 type ConfigurationOutput struct{ *pulumi.OutputState } 236 237 func (ConfigurationOutput) ElementType() reflect.Type { 238 return reflect.TypeOf((**Configuration)(nil)).Elem() 239 } 240 241 func (o ConfigurationOutput) ToConfigurationOutput() ConfigurationOutput { 242 return o 243 } 244 245 func (o ConfigurationOutput) ToConfigurationOutputWithContext(ctx context.Context) ConfigurationOutput { 246 return o 247 } 248 249 // Amazon Resource Name (ARN) of the configuration. 250 func (o ConfigurationOutput) Arn() pulumi.StringOutput { 251 return o.ApplyT(func(v *Configuration) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 252 } 253 254 // Description of the configuration. 255 func (o ConfigurationOutput) Description() pulumi.StringPtrOutput { 256 return o.ApplyT(func(v *Configuration) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) 257 } 258 259 // List of Apache Kafka versions which can use this configuration. 260 func (o ConfigurationOutput) KafkaVersions() pulumi.StringArrayOutput { 261 return o.ApplyT(func(v *Configuration) pulumi.StringArrayOutput { return v.KafkaVersions }).(pulumi.StringArrayOutput) 262 } 263 264 // Latest revision of the configuration. 265 func (o ConfigurationOutput) LatestRevision() pulumi.IntOutput { 266 return o.ApplyT(func(v *Configuration) pulumi.IntOutput { return v.LatestRevision }).(pulumi.IntOutput) 267 } 268 269 // Name of the configuration. 270 func (o ConfigurationOutput) Name() pulumi.StringOutput { 271 return o.ApplyT(func(v *Configuration) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 272 } 273 274 // Contents of the server.properties file. Supported properties are documented in the [MSK Developer Guide](https://docs.aws.amazon.com/msk/latest/developerguide/msk-configuration-properties.html). 275 func (o ConfigurationOutput) ServerProperties() pulumi.StringOutput { 276 return o.ApplyT(func(v *Configuration) pulumi.StringOutput { return v.ServerProperties }).(pulumi.StringOutput) 277 } 278 279 type ConfigurationArrayOutput struct{ *pulumi.OutputState } 280 281 func (ConfigurationArrayOutput) ElementType() reflect.Type { 282 return reflect.TypeOf((*[]*Configuration)(nil)).Elem() 283 } 284 285 func (o ConfigurationArrayOutput) ToConfigurationArrayOutput() ConfigurationArrayOutput { 286 return o 287 } 288 289 func (o ConfigurationArrayOutput) ToConfigurationArrayOutputWithContext(ctx context.Context) ConfigurationArrayOutput { 290 return o 291 } 292 293 func (o ConfigurationArrayOutput) Index(i pulumi.IntInput) ConfigurationOutput { 294 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Configuration { 295 return vs[0].([]*Configuration)[vs[1].(int)] 296 }).(ConfigurationOutput) 297 } 298 299 type ConfigurationMapOutput struct{ *pulumi.OutputState } 300 301 func (ConfigurationMapOutput) ElementType() reflect.Type { 302 return reflect.TypeOf((*map[string]*Configuration)(nil)).Elem() 303 } 304 305 func (o ConfigurationMapOutput) ToConfigurationMapOutput() ConfigurationMapOutput { 306 return o 307 } 308 309 func (o ConfigurationMapOutput) ToConfigurationMapOutputWithContext(ctx context.Context) ConfigurationMapOutput { 310 return o 311 } 312 313 func (o ConfigurationMapOutput) MapIndex(k pulumi.StringInput) ConfigurationOutput { 314 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Configuration { 315 return vs[0].(map[string]*Configuration)[vs[1].(string)] 316 }).(ConfigurationOutput) 317 } 318 319 func init() { 320 pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationInput)(nil)).Elem(), &Configuration{}) 321 pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationArrayInput)(nil)).Elem(), ConfigurationArray{}) 322 pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationMapInput)(nil)).Elem(), ConfigurationMap{}) 323 pulumi.RegisterOutputType(ConfigurationOutput{}) 324 pulumi.RegisterOutputType(ConfigurationArrayOutput{}) 325 pulumi.RegisterOutputType(ConfigurationMapOutput{}) 326 }