Class: AWSCDK::AppConfig::CfnConfigurationProfileProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
app_config/cfn_configuration_profile_props.rb

Overview

Properties for defining a CfnConfigurationProfile.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(application_id:, location_uri:, name:, deletion_protection_check: nil, description: nil, kms_key_identifier: nil, retrieval_role_arn: nil, tags: nil, type: nil, validators: nil) ⇒ CfnConfigurationProfileProps

Returns a new instance of CfnConfigurationProfileProps.

Parameters:

  • application_id (String, AWSCDK::Interfaces::AWSAppconfig::IApplicationRef)

    The application ID.

  • location_uri (String)

    A URI to locate the configuration. You can specify the following:.

  • name (String)

    A name for the configuration profile.

  • deletion_protection_check (String, nil) (defaults to: nil)

    A parameter to configure deletion protection.

  • description (String, nil) (defaults to: nil)

    A description of the configuration profile.

  • kms_key_identifier (String, nil) (defaults to: nil)

    The AWS Key Management Service key identifier (key ID, key alias, or key ARN) provided when the resource was created or updated.

  • retrieval_role_arn (String, AWSCDK::Interfaces::AWSIAM::IRoleRef, nil) (defaults to: nil)

    The ARN of an IAM role with permission to access the configuration at the specified LocationUri .

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    Metadata to assign to the configuration profile.

  • type (String, nil) (defaults to: nil)

    The type of configurations contained in the profile.

  • validators (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::AppConfig::CfnConfigurationProfile::ValidatorsProperty>, nil) (defaults to: nil)

    A list of methods for validating the configuration.



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'app_config/cfn_configuration_profile_props.rb', line 19

def initialize(application_id:, location_uri:, name:, deletion_protection_check: nil, description: nil, kms_key_identifier: nil, retrieval_role_arn: nil, tags: nil, type: nil, validators: nil)
  @application_id = application_id
  Jsii::Type.check_type(@application_id, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19hcHBjb25maWcuSUFwcGxpY2F0aW9uUmVmIn1dfX0=")), "applicationId")
  @location_uri = location_uri
  Jsii::Type.check_type(@location_uri, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "locationUri")
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @deletion_protection_check = deletion_protection_check
  Jsii::Type.check_type(@deletion_protection_check, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "deletionProtectionCheck") unless @deletion_protection_check.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @kms_key_identifier = kms_key_identifier
  Jsii::Type.check_type(@kms_key_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKeyIdentifier") unless @kms_key_identifier.nil?
  @retrieval_role_arn = retrieval_role_arn
  Jsii::Type.check_type(@retrieval_role_arn, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19pYW0uSVJvbGVSZWYifV19fQ==")), "retrievalRoleArn") unless @retrieval_role_arn.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
  @type = type
  Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "type") unless @type.nil?
  @validators = validators
  Jsii::Type.check_type(@validators, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBwY29uZmlnLkNmbkNvbmZpZ3VyYXRpb25Qcm9maWxlLlZhbGlkYXRvcnNQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "validators") unless @validators.nil?
end

Instance Attribute Details

#application_idString, AWSCDK::Interfaces::AWSAppconfig::IApplicationRef (readonly)

The application ID.



46
47
48
# File 'app_config/cfn_configuration_profile_props.rb', line 46

def application_id
  @application_id
end

#deletion_protection_checkString? (readonly)

A parameter to configure deletion protection.

Deletion protection prevents a user from deleting a configuration profile if your application has called either GetLatestConfiguration or GetConfiguration for the configuration profile during the specified interval.

This parameter supports the following values:

  • BYPASS : Instructs AWS AppConfig to bypass the deletion protection check and delete a configuration profile even if deletion protection would have otherwise prevented it.
  • APPLY : Instructs the deletion protection check to run, even if deletion protection is disabled at the account level. APPLY also forces the deletion protection check to run against resources created in the past hour, which are normally excluded from deletion protection checks.
  • ACCOUNT_DEFAULT : The default setting, which instructs AWS AppConfig to implement the deletion protection value specified in the UpdateAccountSettings API.


76
77
78
# File 'app_config/cfn_configuration_profile_props.rb', line 76

def deletion_protection_check
  @deletion_protection_check
end

#descriptionString? (readonly)

A description of the configuration profile.



81
82
83
# File 'app_config/cfn_configuration_profile_props.rb', line 81

def description
  @description
end

#kms_key_identifierString? (readonly)

The AWS Key Management Service key identifier (key ID, key alias, or key ARN) provided when the resource was created or updated.



86
87
88
# File 'app_config/cfn_configuration_profile_props.rb', line 86

def kms_key_identifier
  @kms_key_identifier
end

#location_uriString (readonly)

A URI to locate the configuration. You can specify the following:.

  • For the AWS AppConfig hosted configuration store and for feature flags, specify hosted .
  • For an AWS Systems Manager Parameter Store parameter, specify either the parameter name in the format ssm-parameter://<parameter name> or the ARN.
  • For an AWS CodePipeline pipeline, specify the URI in the following format: codepipeline ://.
  • For an AWS Secrets Manager secret, specify the URI in the following format: secretsmanager ://.
  • For an Amazon S3 object, specify the URI in the following format: s3://<bucket>/<objectKey> . Here is an example: s3://amzn-s3-demo-bucket/my-app/us-east-1/my-config.json
  • For an SSM document, specify either the document name in the format ssm-document://<document name> or the Amazon Resource Name (ARN).


58
59
60
# File 'app_config/cfn_configuration_profile_props.rb', line 58

def location_uri
  @location_uri
end

#nameString (readonly)

A name for the configuration profile.



63
64
65
# File 'app_config/cfn_configuration_profile_props.rb', line 63

def name
  @name
end

#retrieval_role_arnString, ... (readonly)

The 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 AWS CodePipeline or the AWS AppConfig hosted configuration store. It is required for all other sources that store your configuration.



93
94
95
# File 'app_config/cfn_configuration_profile_props.rb', line 93

def retrieval_role_arn
  @retrieval_role_arn
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

Metadata to assign to the configuration profile.

Tags help organize and categorize your AWS AppConfig resources. Each tag consists of a key and an optional value, both of which you define.



100
101
102
# File 'app_config/cfn_configuration_profile_props.rb', line 100

def tags
  @tags
end

#typeString? (readonly)

The type of configurations contained in the profile.

AWS AppConfig supports feature flags and freeform configurations. We recommend you create feature flag configurations to enable or disable new features and freeform configurations to distribute configurations to an application. When calling this API, enter one of the following values for Type :

AWS.AppConfig.FeatureFlags

AWS.Freeform



111
112
113
# File 'app_config/cfn_configuration_profile_props.rb', line 111

def type
  @type
end

#validatorsAWSCDK::IResolvable, ... (readonly)

A list of methods for validating the configuration.



116
117
118
# File 'app_config/cfn_configuration_profile_props.rb', line 116

def validators
  @validators
end

Class Method Details

.jsii_propertiesObject



118
119
120
121
122
123
124
125
126
127
128
129
130
131
# File 'app_config/cfn_configuration_profile_props.rb', line 118

def self.jsii_properties
  {
    :application_id => "applicationId",
    :location_uri => "locationUri",
    :name => "name",
    :deletion_protection_check => "deletionProtectionCheck",
    :description => "description",
    :kms_key_identifier => "kmsKeyIdentifier",
    :retrieval_role_arn => "retrievalRoleArn",
    :tags => "tags",
    :type => "type",
    :validators => "validators",
  }
end

Instance Method Details

#to_jsiiObject



133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# File 'app_config/cfn_configuration_profile_props.rb', line 133

def to_jsii
  result = {}
  result.merge!({
    "applicationId" => @application_id,
    "locationUri" => @location_uri,
    "name" => @name,
    "deletionProtectionCheck" => @deletion_protection_check,
    "description" => @description,
    "kmsKeyIdentifier" => @kms_key_identifier,
    "retrievalRoleArn" => @retrieval_role_arn,
    "tags" => @tags,
    "type" => @type,
    "validators" => @validators,
  })
  result.compact
end