github.com/pulumi/pulumi-aws/sdk/v6@v6.32.0/go/aws/appconfig/configurationProfile.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 appconfig 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 an AppConfig Configuration Profile resource. 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/appconfig" 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 := appconfig.NewConfigurationProfile(ctx, "example", &appconfig.ConfigurationProfileArgs{ 33 // ApplicationId: pulumi.Any(exampleAwsAppconfigApplication.Id), 34 // Description: pulumi.String("Example Configuration Profile"), 35 // Name: pulumi.String("example-configuration-profile-tf"), 36 // LocationUri: pulumi.String("hosted"), 37 // Validators: appconfig.ConfigurationProfileValidatorArray{ 38 // &appconfig.ConfigurationProfileValidatorArgs{ 39 // Content: pulumi.Any(exampleAwsLambdaFunction.Arn), 40 // Type: pulumi.String("LAMBDA"), 41 // }, 42 // }, 43 // Tags: pulumi.StringMap{ 44 // "Type": pulumi.String("AppConfig Configuration Profile"), 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 AppConfig Configuration Profiles using the configuration profile ID and application ID separated by a colon (`:`). For example: 60 // 61 // ```sh 62 // $ pulumi import aws:appconfig/configurationProfile:ConfigurationProfile example 71abcde:11xxxxx 63 // ``` 64 type ConfigurationProfile struct { 65 pulumi.CustomResourceState 66 67 // Application ID. Must be between 4 and 7 characters in length. 68 ApplicationId pulumi.StringOutput `pulumi:"applicationId"` 69 // ARN of the AppConfig Configuration Profile. 70 Arn pulumi.StringOutput `pulumi:"arn"` 71 // The configuration profile ID. 72 ConfigurationProfileId pulumi.StringOutput `pulumi:"configurationProfileId"` 73 // Description of the configuration profile. Can be at most 1024 characters. 74 Description pulumi.StringPtrOutput `pulumi:"description"` 75 // The identifier for an Key Management Service key to encrypt new configuration data versions in the AppConfig hosted configuration store. This attribute is only used for hosted configuration types. The identifier can be an KMS key ID, alias, or the Amazon Resource Name (ARN) of the key ID or alias. 76 KmsKeyIdentifier pulumi.StringPtrOutput `pulumi:"kmsKeyIdentifier"` 77 // URI to locate the configuration. You can specify the AWS AppConfig hosted configuration store, Systems Manager (SSM) document, an SSM Parameter Store parameter, or an Amazon S3 object. For the hosted configuration store, specify `hosted`. For an SSM document, specify either the document name in the format `ssm-document://<Document_name>` or the ARN. For a parameter, specify either the parameter name in the format `ssm-parameter://<Parameter_name>` or the ARN. For an Amazon S3 object, specify the URI in the following format: `s3://<bucket>/<objectKey>`. 78 LocationUri pulumi.StringOutput `pulumi:"locationUri"` 79 // Name for the configuration profile. Must be between 1 and 64 characters in length. 80 Name pulumi.StringOutput `pulumi:"name"` 81 // ARN of an IAM role with permission to access the configuration at the specified `locationUri`. A retrieval role ARN is not required for configurations stored in the AWS AppConfig `hosted` configuration store. It is required for all other sources that store your configuration. 82 RetrievalRoleArn pulumi.StringPtrOutput `pulumi:"retrievalRoleArn"` 83 // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 84 Tags pulumi.StringMapOutput `pulumi:"tags"` 85 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 86 // 87 // Deprecated: Please use `tags` instead. 88 TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` 89 // Type of configurations contained in the profile. Valid values: `AWS.AppConfig.FeatureFlags` and `AWS.Freeform`. Default: `AWS.Freeform`. 90 Type pulumi.StringPtrOutput `pulumi:"type"` 91 // Set of methods for validating the configuration. Maximum of 2. See Validator below for more details. 92 Validators ConfigurationProfileValidatorArrayOutput `pulumi:"validators"` 93 } 94 95 // NewConfigurationProfile registers a new resource with the given unique name, arguments, and options. 96 func NewConfigurationProfile(ctx *pulumi.Context, 97 name string, args *ConfigurationProfileArgs, opts ...pulumi.ResourceOption) (*ConfigurationProfile, error) { 98 if args == nil { 99 return nil, errors.New("missing one or more required arguments") 100 } 101 102 if args.ApplicationId == nil { 103 return nil, errors.New("invalid value for required argument 'ApplicationId'") 104 } 105 if args.LocationUri == nil { 106 return nil, errors.New("invalid value for required argument 'LocationUri'") 107 } 108 opts = internal.PkgResourceDefaultOpts(opts) 109 var resource ConfigurationProfile 110 err := ctx.RegisterResource("aws:appconfig/configurationProfile:ConfigurationProfile", name, args, &resource, opts...) 111 if err != nil { 112 return nil, err 113 } 114 return &resource, nil 115 } 116 117 // GetConfigurationProfile gets an existing ConfigurationProfile resource's state with the given name, ID, and optional 118 // state properties that are used to uniquely qualify the lookup (nil if not required). 119 func GetConfigurationProfile(ctx *pulumi.Context, 120 name string, id pulumi.IDInput, state *ConfigurationProfileState, opts ...pulumi.ResourceOption) (*ConfigurationProfile, error) { 121 var resource ConfigurationProfile 122 err := ctx.ReadResource("aws:appconfig/configurationProfile:ConfigurationProfile", name, id, state, &resource, opts...) 123 if err != nil { 124 return nil, err 125 } 126 return &resource, nil 127 } 128 129 // Input properties used for looking up and filtering ConfigurationProfile resources. 130 type configurationProfileState struct { 131 // Application ID. Must be between 4 and 7 characters in length. 132 ApplicationId *string `pulumi:"applicationId"` 133 // ARN of the AppConfig Configuration Profile. 134 Arn *string `pulumi:"arn"` 135 // The configuration profile ID. 136 ConfigurationProfileId *string `pulumi:"configurationProfileId"` 137 // Description of the configuration profile. Can be at most 1024 characters. 138 Description *string `pulumi:"description"` 139 // The identifier for an Key Management Service key to encrypt new configuration data versions in the AppConfig hosted configuration store. This attribute is only used for hosted configuration types. The identifier can be an KMS key ID, alias, or the Amazon Resource Name (ARN) of the key ID or alias. 140 KmsKeyIdentifier *string `pulumi:"kmsKeyIdentifier"` 141 // URI to locate the configuration. You can specify the AWS AppConfig hosted configuration store, Systems Manager (SSM) document, an SSM Parameter Store parameter, or an Amazon S3 object. For the hosted configuration store, specify `hosted`. For an SSM document, specify either the document name in the format `ssm-document://<Document_name>` or the ARN. For a parameter, specify either the parameter name in the format `ssm-parameter://<Parameter_name>` or the ARN. For an Amazon S3 object, specify the URI in the following format: `s3://<bucket>/<objectKey>`. 142 LocationUri *string `pulumi:"locationUri"` 143 // Name for the configuration profile. Must be between 1 and 64 characters in length. 144 Name *string `pulumi:"name"` 145 // ARN of an IAM role with permission to access the configuration at the specified `locationUri`. A retrieval role ARN is not required for configurations stored in the AWS AppConfig `hosted` configuration store. It is required for all other sources that store your configuration. 146 RetrievalRoleArn *string `pulumi:"retrievalRoleArn"` 147 // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 148 Tags map[string]string `pulumi:"tags"` 149 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 150 // 151 // Deprecated: Please use `tags` instead. 152 TagsAll map[string]string `pulumi:"tagsAll"` 153 // Type of configurations contained in the profile. Valid values: `AWS.AppConfig.FeatureFlags` and `AWS.Freeform`. Default: `AWS.Freeform`. 154 Type *string `pulumi:"type"` 155 // Set of methods for validating the configuration. Maximum of 2. See Validator below for more details. 156 Validators []ConfigurationProfileValidator `pulumi:"validators"` 157 } 158 159 type ConfigurationProfileState struct { 160 // Application ID. Must be between 4 and 7 characters in length. 161 ApplicationId pulumi.StringPtrInput 162 // ARN of the AppConfig Configuration Profile. 163 Arn pulumi.StringPtrInput 164 // The configuration profile ID. 165 ConfigurationProfileId pulumi.StringPtrInput 166 // Description of the configuration profile. Can be at most 1024 characters. 167 Description pulumi.StringPtrInput 168 // The identifier for an Key Management Service key to encrypt new configuration data versions in the AppConfig hosted configuration store. This attribute is only used for hosted configuration types. The identifier can be an KMS key ID, alias, or the Amazon Resource Name (ARN) of the key ID or alias. 169 KmsKeyIdentifier pulumi.StringPtrInput 170 // URI to locate the configuration. You can specify the AWS AppConfig hosted configuration store, Systems Manager (SSM) document, an SSM Parameter Store parameter, or an Amazon S3 object. For the hosted configuration store, specify `hosted`. For an SSM document, specify either the document name in the format `ssm-document://<Document_name>` or the ARN. For a parameter, specify either the parameter name in the format `ssm-parameter://<Parameter_name>` or the ARN. For an Amazon S3 object, specify the URI in the following format: `s3://<bucket>/<objectKey>`. 171 LocationUri pulumi.StringPtrInput 172 // Name for the configuration profile. Must be between 1 and 64 characters in length. 173 Name pulumi.StringPtrInput 174 // ARN of an IAM role with permission to access the configuration at the specified `locationUri`. A retrieval role ARN is not required for configurations stored in the AWS AppConfig `hosted` configuration store. It is required for all other sources that store your configuration. 175 RetrievalRoleArn pulumi.StringPtrInput 176 // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 177 Tags pulumi.StringMapInput 178 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 179 // 180 // Deprecated: Please use `tags` instead. 181 TagsAll pulumi.StringMapInput 182 // Type of configurations contained in the profile. Valid values: `AWS.AppConfig.FeatureFlags` and `AWS.Freeform`. Default: `AWS.Freeform`. 183 Type pulumi.StringPtrInput 184 // Set of methods for validating the configuration. Maximum of 2. See Validator below for more details. 185 Validators ConfigurationProfileValidatorArrayInput 186 } 187 188 func (ConfigurationProfileState) ElementType() reflect.Type { 189 return reflect.TypeOf((*configurationProfileState)(nil)).Elem() 190 } 191 192 type configurationProfileArgs struct { 193 // Application ID. Must be between 4 and 7 characters in length. 194 ApplicationId string `pulumi:"applicationId"` 195 // Description of the configuration profile. Can be at most 1024 characters. 196 Description *string `pulumi:"description"` 197 // The identifier for an Key Management Service key to encrypt new configuration data versions in the AppConfig hosted configuration store. This attribute is only used for hosted configuration types. The identifier can be an KMS key ID, alias, or the Amazon Resource Name (ARN) of the key ID or alias. 198 KmsKeyIdentifier *string `pulumi:"kmsKeyIdentifier"` 199 // URI to locate the configuration. You can specify the AWS AppConfig hosted configuration store, Systems Manager (SSM) document, an SSM Parameter Store parameter, or an Amazon S3 object. For the hosted configuration store, specify `hosted`. For an SSM document, specify either the document name in the format `ssm-document://<Document_name>` or the ARN. For a parameter, specify either the parameter name in the format `ssm-parameter://<Parameter_name>` or the ARN. For an Amazon S3 object, specify the URI in the following format: `s3://<bucket>/<objectKey>`. 200 LocationUri string `pulumi:"locationUri"` 201 // Name for the configuration profile. Must be between 1 and 64 characters in length. 202 Name *string `pulumi:"name"` 203 // ARN of an IAM role with permission to access the configuration at the specified `locationUri`. A retrieval role ARN is not required for configurations stored in the AWS AppConfig `hosted` configuration store. It is required for all other sources that store your configuration. 204 RetrievalRoleArn *string `pulumi:"retrievalRoleArn"` 205 // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 206 Tags map[string]string `pulumi:"tags"` 207 // Type of configurations contained in the profile. Valid values: `AWS.AppConfig.FeatureFlags` and `AWS.Freeform`. Default: `AWS.Freeform`. 208 Type *string `pulumi:"type"` 209 // Set of methods for validating the configuration. Maximum of 2. See Validator below for more details. 210 Validators []ConfigurationProfileValidator `pulumi:"validators"` 211 } 212 213 // The set of arguments for constructing a ConfigurationProfile resource. 214 type ConfigurationProfileArgs struct { 215 // Application ID. Must be between 4 and 7 characters in length. 216 ApplicationId pulumi.StringInput 217 // Description of the configuration profile. Can be at most 1024 characters. 218 Description pulumi.StringPtrInput 219 // The identifier for an Key Management Service key to encrypt new configuration data versions in the AppConfig hosted configuration store. This attribute is only used for hosted configuration types. The identifier can be an KMS key ID, alias, or the Amazon Resource Name (ARN) of the key ID or alias. 220 KmsKeyIdentifier pulumi.StringPtrInput 221 // URI to locate the configuration. You can specify the AWS AppConfig hosted configuration store, Systems Manager (SSM) document, an SSM Parameter Store parameter, or an Amazon S3 object. For the hosted configuration store, specify `hosted`. For an SSM document, specify either the document name in the format `ssm-document://<Document_name>` or the ARN. For a parameter, specify either the parameter name in the format `ssm-parameter://<Parameter_name>` or the ARN. For an Amazon S3 object, specify the URI in the following format: `s3://<bucket>/<objectKey>`. 222 LocationUri pulumi.StringInput 223 // Name for the configuration profile. Must be between 1 and 64 characters in length. 224 Name pulumi.StringPtrInput 225 // ARN of an IAM role with permission to access the configuration at the specified `locationUri`. A retrieval role ARN is not required for configurations stored in the AWS AppConfig `hosted` configuration store. It is required for all other sources that store your configuration. 226 RetrievalRoleArn pulumi.StringPtrInput 227 // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 228 Tags pulumi.StringMapInput 229 // Type of configurations contained in the profile. Valid values: `AWS.AppConfig.FeatureFlags` and `AWS.Freeform`. Default: `AWS.Freeform`. 230 Type pulumi.StringPtrInput 231 // Set of methods for validating the configuration. Maximum of 2. See Validator below for more details. 232 Validators ConfigurationProfileValidatorArrayInput 233 } 234 235 func (ConfigurationProfileArgs) ElementType() reflect.Type { 236 return reflect.TypeOf((*configurationProfileArgs)(nil)).Elem() 237 } 238 239 type ConfigurationProfileInput interface { 240 pulumi.Input 241 242 ToConfigurationProfileOutput() ConfigurationProfileOutput 243 ToConfigurationProfileOutputWithContext(ctx context.Context) ConfigurationProfileOutput 244 } 245 246 func (*ConfigurationProfile) ElementType() reflect.Type { 247 return reflect.TypeOf((**ConfigurationProfile)(nil)).Elem() 248 } 249 250 func (i *ConfigurationProfile) ToConfigurationProfileOutput() ConfigurationProfileOutput { 251 return i.ToConfigurationProfileOutputWithContext(context.Background()) 252 } 253 254 func (i *ConfigurationProfile) ToConfigurationProfileOutputWithContext(ctx context.Context) ConfigurationProfileOutput { 255 return pulumi.ToOutputWithContext(ctx, i).(ConfigurationProfileOutput) 256 } 257 258 // ConfigurationProfileArrayInput is an input type that accepts ConfigurationProfileArray and ConfigurationProfileArrayOutput values. 259 // You can construct a concrete instance of `ConfigurationProfileArrayInput` via: 260 // 261 // ConfigurationProfileArray{ ConfigurationProfileArgs{...} } 262 type ConfigurationProfileArrayInput interface { 263 pulumi.Input 264 265 ToConfigurationProfileArrayOutput() ConfigurationProfileArrayOutput 266 ToConfigurationProfileArrayOutputWithContext(context.Context) ConfigurationProfileArrayOutput 267 } 268 269 type ConfigurationProfileArray []ConfigurationProfileInput 270 271 func (ConfigurationProfileArray) ElementType() reflect.Type { 272 return reflect.TypeOf((*[]*ConfigurationProfile)(nil)).Elem() 273 } 274 275 func (i ConfigurationProfileArray) ToConfigurationProfileArrayOutput() ConfigurationProfileArrayOutput { 276 return i.ToConfigurationProfileArrayOutputWithContext(context.Background()) 277 } 278 279 func (i ConfigurationProfileArray) ToConfigurationProfileArrayOutputWithContext(ctx context.Context) ConfigurationProfileArrayOutput { 280 return pulumi.ToOutputWithContext(ctx, i).(ConfigurationProfileArrayOutput) 281 } 282 283 // ConfigurationProfileMapInput is an input type that accepts ConfigurationProfileMap and ConfigurationProfileMapOutput values. 284 // You can construct a concrete instance of `ConfigurationProfileMapInput` via: 285 // 286 // ConfigurationProfileMap{ "key": ConfigurationProfileArgs{...} } 287 type ConfigurationProfileMapInput interface { 288 pulumi.Input 289 290 ToConfigurationProfileMapOutput() ConfigurationProfileMapOutput 291 ToConfigurationProfileMapOutputWithContext(context.Context) ConfigurationProfileMapOutput 292 } 293 294 type ConfigurationProfileMap map[string]ConfigurationProfileInput 295 296 func (ConfigurationProfileMap) ElementType() reflect.Type { 297 return reflect.TypeOf((*map[string]*ConfigurationProfile)(nil)).Elem() 298 } 299 300 func (i ConfigurationProfileMap) ToConfigurationProfileMapOutput() ConfigurationProfileMapOutput { 301 return i.ToConfigurationProfileMapOutputWithContext(context.Background()) 302 } 303 304 func (i ConfigurationProfileMap) ToConfigurationProfileMapOutputWithContext(ctx context.Context) ConfigurationProfileMapOutput { 305 return pulumi.ToOutputWithContext(ctx, i).(ConfigurationProfileMapOutput) 306 } 307 308 type ConfigurationProfileOutput struct{ *pulumi.OutputState } 309 310 func (ConfigurationProfileOutput) ElementType() reflect.Type { 311 return reflect.TypeOf((**ConfigurationProfile)(nil)).Elem() 312 } 313 314 func (o ConfigurationProfileOutput) ToConfigurationProfileOutput() ConfigurationProfileOutput { 315 return o 316 } 317 318 func (o ConfigurationProfileOutput) ToConfigurationProfileOutputWithContext(ctx context.Context) ConfigurationProfileOutput { 319 return o 320 } 321 322 // Application ID. Must be between 4 and 7 characters in length. 323 func (o ConfigurationProfileOutput) ApplicationId() pulumi.StringOutput { 324 return o.ApplyT(func(v *ConfigurationProfile) pulumi.StringOutput { return v.ApplicationId }).(pulumi.StringOutput) 325 } 326 327 // ARN of the AppConfig Configuration Profile. 328 func (o ConfigurationProfileOutput) Arn() pulumi.StringOutput { 329 return o.ApplyT(func(v *ConfigurationProfile) pulumi.StringOutput { return v.Arn }).(pulumi.StringOutput) 330 } 331 332 // The configuration profile ID. 333 func (o ConfigurationProfileOutput) ConfigurationProfileId() pulumi.StringOutput { 334 return o.ApplyT(func(v *ConfigurationProfile) pulumi.StringOutput { return v.ConfigurationProfileId }).(pulumi.StringOutput) 335 } 336 337 // Description of the configuration profile. Can be at most 1024 characters. 338 func (o ConfigurationProfileOutput) Description() pulumi.StringPtrOutput { 339 return o.ApplyT(func(v *ConfigurationProfile) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) 340 } 341 342 // The identifier for an Key Management Service key to encrypt new configuration data versions in the AppConfig hosted configuration store. This attribute is only used for hosted configuration types. The identifier can be an KMS key ID, alias, or the Amazon Resource Name (ARN) of the key ID or alias. 343 func (o ConfigurationProfileOutput) KmsKeyIdentifier() pulumi.StringPtrOutput { 344 return o.ApplyT(func(v *ConfigurationProfile) pulumi.StringPtrOutput { return v.KmsKeyIdentifier }).(pulumi.StringPtrOutput) 345 } 346 347 // URI to locate the configuration. You can specify the AWS AppConfig hosted configuration store, Systems Manager (SSM) document, an SSM Parameter Store parameter, or an Amazon S3 object. For the hosted configuration store, specify `hosted`. For an SSM document, specify either the document name in the format `ssm-document://<Document_name>` or the ARN. For a parameter, specify either the parameter name in the format `ssm-parameter://<Parameter_name>` or the ARN. For an Amazon S3 object, specify the URI in the following format: `s3://<bucket>/<objectKey>`. 348 func (o ConfigurationProfileOutput) LocationUri() pulumi.StringOutput { 349 return o.ApplyT(func(v *ConfigurationProfile) pulumi.StringOutput { return v.LocationUri }).(pulumi.StringOutput) 350 } 351 352 // Name for the configuration profile. Must be between 1 and 64 characters in length. 353 func (o ConfigurationProfileOutput) Name() pulumi.StringOutput { 354 return o.ApplyT(func(v *ConfigurationProfile) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) 355 } 356 357 // ARN of an IAM role with permission to access the configuration at the specified `locationUri`. A retrieval role ARN is not required for configurations stored in the AWS AppConfig `hosted` configuration store. It is required for all other sources that store your configuration. 358 func (o ConfigurationProfileOutput) RetrievalRoleArn() pulumi.StringPtrOutput { 359 return o.ApplyT(func(v *ConfigurationProfile) pulumi.StringPtrOutput { return v.RetrievalRoleArn }).(pulumi.StringPtrOutput) 360 } 361 362 // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 363 func (o ConfigurationProfileOutput) Tags() pulumi.StringMapOutput { 364 return o.ApplyT(func(v *ConfigurationProfile) pulumi.StringMapOutput { return v.Tags }).(pulumi.StringMapOutput) 365 } 366 367 // Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. 368 // 369 // Deprecated: Please use `tags` instead. 370 func (o ConfigurationProfileOutput) TagsAll() pulumi.StringMapOutput { 371 return o.ApplyT(func(v *ConfigurationProfile) pulumi.StringMapOutput { return v.TagsAll }).(pulumi.StringMapOutput) 372 } 373 374 // Type of configurations contained in the profile. Valid values: `AWS.AppConfig.FeatureFlags` and `AWS.Freeform`. Default: `AWS.Freeform`. 375 func (o ConfigurationProfileOutput) Type() pulumi.StringPtrOutput { 376 return o.ApplyT(func(v *ConfigurationProfile) pulumi.StringPtrOutput { return v.Type }).(pulumi.StringPtrOutput) 377 } 378 379 // Set of methods for validating the configuration. Maximum of 2. See Validator below for more details. 380 func (o ConfigurationProfileOutput) Validators() ConfigurationProfileValidatorArrayOutput { 381 return o.ApplyT(func(v *ConfigurationProfile) ConfigurationProfileValidatorArrayOutput { return v.Validators }).(ConfigurationProfileValidatorArrayOutput) 382 } 383 384 type ConfigurationProfileArrayOutput struct{ *pulumi.OutputState } 385 386 func (ConfigurationProfileArrayOutput) ElementType() reflect.Type { 387 return reflect.TypeOf((*[]*ConfigurationProfile)(nil)).Elem() 388 } 389 390 func (o ConfigurationProfileArrayOutput) ToConfigurationProfileArrayOutput() ConfigurationProfileArrayOutput { 391 return o 392 } 393 394 func (o ConfigurationProfileArrayOutput) ToConfigurationProfileArrayOutputWithContext(ctx context.Context) ConfigurationProfileArrayOutput { 395 return o 396 } 397 398 func (o ConfigurationProfileArrayOutput) Index(i pulumi.IntInput) ConfigurationProfileOutput { 399 return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ConfigurationProfile { 400 return vs[0].([]*ConfigurationProfile)[vs[1].(int)] 401 }).(ConfigurationProfileOutput) 402 } 403 404 type ConfigurationProfileMapOutput struct{ *pulumi.OutputState } 405 406 func (ConfigurationProfileMapOutput) ElementType() reflect.Type { 407 return reflect.TypeOf((*map[string]*ConfigurationProfile)(nil)).Elem() 408 } 409 410 func (o ConfigurationProfileMapOutput) ToConfigurationProfileMapOutput() ConfigurationProfileMapOutput { 411 return o 412 } 413 414 func (o ConfigurationProfileMapOutput) ToConfigurationProfileMapOutputWithContext(ctx context.Context) ConfigurationProfileMapOutput { 415 return o 416 } 417 418 func (o ConfigurationProfileMapOutput) MapIndex(k pulumi.StringInput) ConfigurationProfileOutput { 419 return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ConfigurationProfile { 420 return vs[0].(map[string]*ConfigurationProfile)[vs[1].(string)] 421 }).(ConfigurationProfileOutput) 422 } 423 424 func init() { 425 pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationProfileInput)(nil)).Elem(), &ConfigurationProfile{}) 426 pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationProfileArrayInput)(nil)).Elem(), ConfigurationProfileArray{}) 427 pulumi.RegisterInputType(reflect.TypeOf((*ConfigurationProfileMapInput)(nil)).Elem(), ConfigurationProfileMap{}) 428 pulumi.RegisterOutputType(ConfigurationProfileOutput{}) 429 pulumi.RegisterOutputType(ConfigurationProfileArrayOutput{}) 430 pulumi.RegisterOutputType(ConfigurationProfileMapOutput{}) 431 }