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  }