Class: AWSCDK::DefaultStackSynthesizerProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
default_stack_synthesizer_props.rb

Overview

Configuration properties for DefaultStackSynthesizer.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(bootstrap_stack_version_ssm_parameter: nil, bucket_prefix: nil, cloud_formation_execution_role: nil, deploy_role_additional_options: nil, deploy_role_arn: nil, deploy_role_external_id: nil, docker_tag_prefix: nil, file_asset_publishing_external_id: nil, file_asset_publishing_role_additional_options: nil, file_asset_publishing_role_arn: nil, file_assets_bucket_name: nil, generate_bootstrap_version_rule: nil, image_asset_publishing_external_id: nil, image_asset_publishing_role_additional_options: nil, image_asset_publishing_role_arn: nil, image_assets_repository_name: nil, lookup_role_additional_options: nil, lookup_role_arn: nil, lookup_role_external_id: nil, qualifier: nil, use_lookup_role_for_stack_operations: nil) ⇒ DefaultStackSynthesizerProps

Returns a new instance of DefaultStackSynthesizerProps.

Parameters:

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

    Bootstrap stack version SSM parameter.

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

    bucketPrefix to use while storing S3 Assets.

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

    The role CloudFormation will assume when deploying the Stack.

  • deploy_role_additional_options (Hash{String => Object}, nil) (defaults to: nil)

    Additional options to pass to STS when assuming the deploy role.

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

    The role to assume to initiate a deployment in this environment.

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

    External ID to use when assuming role for cloudformation deployments.

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

    A prefix to use while tagging and uploading Docker images to ECR.

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

    External ID to use when assuming role for file asset publishing.

  • file_asset_publishing_role_additional_options (Hash{String => Object}, nil) (defaults to: nil)

    Additional options to pass to STS when assuming the file asset publishing.

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

    The role to use to publish file assets to the S3 bucket in this environment.

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

    Name of the S3 bucket to hold file assets.

  • generate_bootstrap_version_rule (Boolean, nil) (defaults to: nil)

    Whether to add a Rule to the stack template verifying the bootstrap stack version.

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

    External ID to use when assuming role for image asset publishing.

  • image_asset_publishing_role_additional_options (Hash{String => Object}, nil) (defaults to: nil)

    Additional options to pass to STS when assuming the image asset publishing.

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

    The role to use to publish image assets to the ECR repository in this environment.

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

    Name of the ECR repository to hold Docker Image assets.

  • lookup_role_additional_options (Hash{String => Object}, nil) (defaults to: nil)

    Additional options to pass to STS when assuming the lookup role.

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

    The role to use to look up values from the target AWS account during synthesis.

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

    External ID to use when assuming lookup role.

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

    Qualifier to disambiguate multiple environments in the same account.

  • use_lookup_role_for_stack_operations (Boolean, nil) (defaults to: nil)

    Use the bootstrapped lookup role for (read-only) stack operations.



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'default_stack_synthesizer_props.rb', line 28

def initialize(bootstrap_stack_version_ssm_parameter: nil, bucket_prefix: nil, cloud_formation_execution_role: nil, deploy_role_additional_options: nil, deploy_role_arn: nil, deploy_role_external_id: nil, docker_tag_prefix: nil, file_asset_publishing_external_id: nil, file_asset_publishing_role_additional_options: nil, file_asset_publishing_role_arn: nil, file_assets_bucket_name: nil, generate_bootstrap_version_rule: nil, image_asset_publishing_external_id: nil, image_asset_publishing_role_additional_options: nil, image_asset_publishing_role_arn: nil, image_assets_repository_name: nil, lookup_role_additional_options: nil, lookup_role_arn: nil, lookup_role_external_id: nil, qualifier: nil, use_lookup_role_for_stack_operations: nil)
  @bootstrap_stack_version_ssm_parameter = bootstrap_stack_version_ssm_parameter
  Jsii::Type.check_type(@bootstrap_stack_version_ssm_parameter, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "bootstrapStackVersionSsmParameter") unless @bootstrap_stack_version_ssm_parameter.nil?
  @bucket_prefix = bucket_prefix
  Jsii::Type.check_type(@bucket_prefix, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "bucketPrefix") unless @bucket_prefix.nil?
  @cloud_formation_execution_role = cloud_formation_execution_role
  Jsii::Type.check_type(@cloud_formation_execution_role, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "cloudFormationExecutionRole") unless @cloud_formation_execution_role.nil?
  @deploy_role_additional_options = deploy_role_additional_options
  Jsii::Type.check_type(@deploy_role_additional_options, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6ImFueSJ9LCJraW5kIjoibWFwIn19")), "deployRoleAdditionalOptions") unless @deploy_role_additional_options.nil?
  @deploy_role_arn = deploy_role_arn
  Jsii::Type.check_type(@deploy_role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "deployRoleArn") unless @deploy_role_arn.nil?
  @deploy_role_external_id = deploy_role_external_id
  Jsii::Type.check_type(@deploy_role_external_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "deployRoleExternalId") unless @deploy_role_external_id.nil?
  @docker_tag_prefix = docker_tag_prefix
  Jsii::Type.check_type(@docker_tag_prefix, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dockerTagPrefix") unless @docker_tag_prefix.nil?
  @file_asset_publishing_external_id = file_asset_publishing_external_id
  Jsii::Type.check_type(@file_asset_publishing_external_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "fileAssetPublishingExternalId") unless @file_asset_publishing_external_id.nil?
  @file_asset_publishing_role_additional_options = file_asset_publishing_role_additional_options
  Jsii::Type.check_type(@file_asset_publishing_role_additional_options, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6ImFueSJ9LCJraW5kIjoibWFwIn19")), "fileAssetPublishingRoleAdditionalOptions") unless @file_asset_publishing_role_additional_options.nil?
  @file_asset_publishing_role_arn = file_asset_publishing_role_arn
  Jsii::Type.check_type(@file_asset_publishing_role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "fileAssetPublishingRoleArn") unless @file_asset_publishing_role_arn.nil?
  @file_assets_bucket_name = file_assets_bucket_name
  Jsii::Type.check_type(@file_assets_bucket_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "fileAssetsBucketName") unless @file_assets_bucket_name.nil?
  @generate_bootstrap_version_rule = generate_bootstrap_version_rule
  Jsii::Type.check_type(@generate_bootstrap_version_rule, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "generateBootstrapVersionRule") unless @generate_bootstrap_version_rule.nil?
  @image_asset_publishing_external_id = image_asset_publishing_external_id
  Jsii::Type.check_type(@image_asset_publishing_external_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "imageAssetPublishingExternalId") unless @image_asset_publishing_external_id.nil?
  @image_asset_publishing_role_additional_options = image_asset_publishing_role_additional_options
  Jsii::Type.check_type(@image_asset_publishing_role_additional_options, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6ImFueSJ9LCJraW5kIjoibWFwIn19")), "imageAssetPublishingRoleAdditionalOptions") unless @image_asset_publishing_role_additional_options.nil?
  @image_asset_publishing_role_arn = image_asset_publishing_role_arn
  Jsii::Type.check_type(@image_asset_publishing_role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "imageAssetPublishingRoleArn") unless @image_asset_publishing_role_arn.nil?
  @image_assets_repository_name = image_assets_repository_name
  Jsii::Type.check_type(@image_assets_repository_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "imageAssetsRepositoryName") unless @image_assets_repository_name.nil?
  @lookup_role_additional_options = lookup_role_additional_options
  Jsii::Type.check_type(@lookup_role_additional_options, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6ImFueSJ9LCJraW5kIjoibWFwIn19")), "lookupRoleAdditionalOptions") unless @lookup_role_additional_options.nil?
  @lookup_role_arn = lookup_role_arn
  Jsii::Type.check_type(@lookup_role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "lookupRoleArn") unless @lookup_role_arn.nil?
  @lookup_role_external_id = lookup_role_external_id
  Jsii::Type.check_type(@lookup_role_external_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "lookupRoleExternalId") unless @lookup_role_external_id.nil?
  @qualifier = qualifier
  Jsii::Type.check_type(@qualifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "qualifier") unless @qualifier.nil?
  @use_lookup_role_for_stack_operations = use_lookup_role_for_stack_operations
  Jsii::Type.check_type(@use_lookup_role_for_stack_operations, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJib29sZWFuIn0=")), "useLookupRoleForStackOperations") unless @use_lookup_role_for_stack_operations.nil?
end

Instance Attribute Details

#bootstrap_stack_version_ssm_parameterString? (readonly)

Note:

Default: DefaultStackSynthesizer.DEFAULT_BOOTSTRAP_STACK_VERSION_SSM_PARAMETER

Bootstrap stack version SSM parameter.

The placeholder ${Qualifier} will be replaced with the value of qualifier.

Returns:

  • (String, nil)


79
80
81
# File 'default_stack_synthesizer_props.rb', line 79

def bootstrap_stack_version_ssm_parameter
  @bootstrap_stack_version_ssm_parameter
end

#bucket_prefixString? (readonly)

Note:

Default: - DefaultStackSynthesizer.DEFAULT_FILE_ASSET_PREFIX

bucketPrefix to use while storing S3 Assets.

Returns:

  • (String, nil)


84
85
86
# File 'default_stack_synthesizer_props.rb', line 84

def bucket_prefix
  @bucket_prefix
end

#cloud_formation_execution_roleString? (readonly)

Note:

Default: DefaultStackSynthesizer.DEFAULT_CLOUDFORMATION_ROLE_ARN

The role CloudFormation will assume when deploying the Stack.

You must supply this if you have given a non-standard name to the execution role.

The placeholders ${Qualifier}, ${AWS::AccountId} and ${AWS::Region} will be replaced with the values of qualifier and the stack's account and region, respectively.

Returns:

  • (String, nil)


95
96
97
# File 'default_stack_synthesizer_props.rb', line 95

def cloud_formation_execution_role
  @cloud_formation_execution_role
end

#deploy_role_additional_optionsHash{String => Object}? (readonly)

Note:

Default: - No additional options.

Additional options to pass to STS when assuming the deploy role.

  • RoleArn should not be used. Use the dedicated deploy_role_arn property instead.
  • ExternalId should not be used. Use the dedicated deploy_role_external_id instead.
  • TransitiveTagKeys defaults to use all keys (if any) specified in Tags. E.g, all tags are transitive by default.


105
106
107
# File 'default_stack_synthesizer_props.rb', line 105

def deploy_role_additional_options
  @deploy_role_additional_options
end

#deploy_role_arnString? (readonly)

Note:

Default: DefaultStackSynthesizer.DEFAULT_DEPLOY_ROLE_ARN

The role to assume to initiate a deployment in this environment.

You must supply this if you have given a non-standard name to the publishing role.

The placeholders ${Qualifier}, ${AWS::AccountId} and ${AWS::Region} will be replaced with the values of qualifier and the stack's account and region, respectively.

Returns:

  • (String, nil)


116
117
118
# File 'default_stack_synthesizer_props.rb', line 116

def deploy_role_arn
  @deploy_role_arn
end

#deploy_role_external_idString? (readonly)

Note:

Default: - No external ID

External ID to use when assuming role for cloudformation deployments.

Returns:

  • (String, nil)


121
122
123
# File 'default_stack_synthesizer_props.rb', line 121

def deploy_role_external_id
  @deploy_role_external_id
end

#docker_tag_prefixString? (readonly)

Note:

Default: - DefaultStackSynthesizer.DEFAULT_DOCKER_ASSET_PREFIX

A prefix to use while tagging and uploading Docker images to ECR.

This does not add any separators - the source hash will be appended to this string directly.

Returns:

  • (String, nil)


129
130
131
# File 'default_stack_synthesizer_props.rb', line 129

def docker_tag_prefix
  @docker_tag_prefix
end

#file_asset_publishing_external_idString? (readonly)

Note:

Default: - No external ID

External ID to use when assuming role for file asset publishing.

Returns:

  • (String, nil)


134
135
136
# File 'default_stack_synthesizer_props.rb', line 134

def file_asset_publishing_external_id
  @file_asset_publishing_external_id
end

#file_asset_publishing_role_additional_optionsHash{String => Object}? (readonly)

Note:

Default: - No additional options.

Additional options to pass to STS when assuming the file asset publishing.

  • RoleArn should not be used. Use the dedicated file_asset_publishing_role_arn property instead.
  • ExternalId should not be used. Use the dedicated file_asset_publishing_external_id instead.
  • TransitiveTagKeys defaults to use all keys (if any) specified in Tags. E.g, all tags are transitive by default.


144
145
146
# File 'default_stack_synthesizer_props.rb', line 144

def file_asset_publishing_role_additional_options
  @file_asset_publishing_role_additional_options
end

#file_asset_publishing_role_arnString? (readonly)

Note:

Default: DefaultStackSynthesizer.DEFAULT_FILE_ASSET_PUBLISHING_ROLE_ARN

The role to use to publish file assets to the S3 bucket in this environment.

You must supply this if you have given a non-standard name to the publishing role.

The placeholders ${Qualifier}, ${AWS::AccountId} and ${AWS::Region} will be replaced with the values of qualifier and the stack's account and region, respectively.

Returns:

  • (String, nil)


155
156
157
# File 'default_stack_synthesizer_props.rb', line 155

def file_asset_publishing_role_arn
  @file_asset_publishing_role_arn
end

#file_assets_bucket_nameString? (readonly)

Note:

Default: DefaultStackSynthesizer.DEFAULT_FILE_ASSETS_BUCKET_NAME

Name of the S3 bucket to hold file assets.

You must supply this if you have given a non-standard name to the staging bucket.

The placeholders ${Qualifier}, ${AWS::AccountId} and ${AWS::Region} will be replaced with the values of qualifier and the stack's account and region, respectively.

Returns:

  • (String, nil)


166
167
168
# File 'default_stack_synthesizer_props.rb', line 166

def file_assets_bucket_name
  @file_assets_bucket_name
end

#generate_bootstrap_version_ruleBoolean? (readonly)

Note:

Default: true

Whether to add a Rule to the stack template verifying the bootstrap stack version.

This generally should be left set to true, unless you explicitly want to be able to deploy to an unbootstrapped environment.

Returns:

  • (Boolean, nil)


174
175
176
# File 'default_stack_synthesizer_props.rb', line 174

def generate_bootstrap_version_rule
  @generate_bootstrap_version_rule
end

#image_asset_publishing_external_idString? (readonly)

Note:

Default: - No external ID

External ID to use when assuming role for image asset publishing.

Returns:

  • (String, nil)


179
180
181
# File 'default_stack_synthesizer_props.rb', line 179

def image_asset_publishing_external_id
  @image_asset_publishing_external_id
end

#image_asset_publishing_role_additional_optionsHash{String => Object}? (readonly)

Note:

Default: - No additional options.

Additional options to pass to STS when assuming the image asset publishing.

  • RoleArn should not be used. Use the dedicated image_asset_publishing_role_arn property instead.
  • ExternalId should not be used. Use the dedicated image_asset_publishing_external_id instead.
  • TransitiveTagKeys defaults to use all keys (if any) specified in Tags. E.g, all tags are transitive by default.


189
190
191
# File 'default_stack_synthesizer_props.rb', line 189

def image_asset_publishing_role_additional_options
  @image_asset_publishing_role_additional_options
end

#image_asset_publishing_role_arnString? (readonly)

Note:

Default: DefaultStackSynthesizer.DEFAULT_IMAGE_ASSET_PUBLISHING_ROLE_ARN

The role to use to publish image assets to the ECR repository in this environment.

You must supply this if you have given a non-standard name to the publishing role.

The placeholders ${Qualifier}, ${AWS::AccountId} and ${AWS::Region} will be replaced with the values of qualifier and the stack's account and region, respectively.

Returns:

  • (String, nil)


200
201
202
# File 'default_stack_synthesizer_props.rb', line 200

def image_asset_publishing_role_arn
  @image_asset_publishing_role_arn
end

#image_assets_repository_nameString? (readonly)

Note:

Default: DefaultStackSynthesizer.DEFAULT_IMAGE_ASSETS_REPOSITORY_NAME

Name of the ECR repository to hold Docker Image assets.

You must supply this if you have given a non-standard name to the ECR repository.

The placeholders ${Qualifier}, ${AWS::AccountId} and ${AWS::Region} will be replaced with the values of qualifier and the stack's account and region, respectively.

Returns:

  • (String, nil)


211
212
213
# File 'default_stack_synthesizer_props.rb', line 211

def image_assets_repository_name
  @image_assets_repository_name
end

#lookup_role_additional_optionsHash{String => Object}? (readonly)

Note:

Default: - No additional options.

Additional options to pass to STS when assuming the lookup role.

  • RoleArn should not be used. Use the dedicated lookup_role_arn property instead.
  • ExternalId should not be used. Use the dedicated lookup_role_external_id instead.
  • TransitiveTagKeys defaults to use all keys (if any) specified in Tags. E.g, all tags are transitive by default.


221
222
223
# File 'default_stack_synthesizer_props.rb', line 221

def lookup_role_additional_options
  @lookup_role_additional_options
end

#lookup_role_arnString? (readonly)

Note:

Default: - None

The role to use to look up values from the target AWS account during synthesis.

Returns:

  • (String, nil)


226
227
228
# File 'default_stack_synthesizer_props.rb', line 226

def lookup_role_arn
  @lookup_role_arn
end

#lookup_role_external_idString? (readonly)

Note:

Default: - No external ID

External ID to use when assuming lookup role.

Returns:

  • (String, nil)


231
232
233
# File 'default_stack_synthesizer_props.rb', line 231

def lookup_role_external_id
  @lookup_role_external_id
end

#qualifierString? (readonly)

Note:

Default: - Value of context key '@aws-cdk/core:bootstrapQualifier' if set, otherwise DefaultStackSynthesizer.DEFAULT_QUALIFIER

Qualifier to disambiguate multiple environments in the same account.

You can use this and leave the other naming properties empty if you have deployed the bootstrap environment with standard names but only different qualifiers.

Returns:

  • (String, nil)


239
240
241
# File 'default_stack_synthesizer_props.rb', line 239

def qualifier
  @qualifier
end

#use_lookup_role_for_stack_operationsBoolean? (readonly)

Note:

Default: true

Use the bootstrapped lookup role for (read-only) stack operations.

Use the lookup role when performing a cdk diff. If set to false, the deploy role credentials will be used to perform a cdk diff.

Requires bootstrap stack version 8.

Returns:

  • (Boolean, nil)


249
250
251
# File 'default_stack_synthesizer_props.rb', line 249

def use_lookup_role_for_stack_operations
  @use_lookup_role_for_stack_operations
end

Class Method Details

.jsii_propertiesObject



251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
# File 'default_stack_synthesizer_props.rb', line 251

def self.jsii_properties
  {
    :bootstrap_stack_version_ssm_parameter => "bootstrapStackVersionSsmParameter",
    :bucket_prefix => "bucketPrefix",
    :cloud_formation_execution_role => "cloudFormationExecutionRole",
    :deploy_role_additional_options => "deployRoleAdditionalOptions",
    :deploy_role_arn => "deployRoleArn",
    :deploy_role_external_id => "deployRoleExternalId",
    :docker_tag_prefix => "dockerTagPrefix",
    :file_asset_publishing_external_id => "fileAssetPublishingExternalId",
    :file_asset_publishing_role_additional_options => "fileAssetPublishingRoleAdditionalOptions",
    :file_asset_publishing_role_arn => "fileAssetPublishingRoleArn",
    :file_assets_bucket_name => "fileAssetsBucketName",
    :generate_bootstrap_version_rule => "generateBootstrapVersionRule",
    :image_asset_publishing_external_id => "imageAssetPublishingExternalId",
    :image_asset_publishing_role_additional_options => "imageAssetPublishingRoleAdditionalOptions",
    :image_asset_publishing_role_arn => "imageAssetPublishingRoleArn",
    :image_assets_repository_name => "imageAssetsRepositoryName",
    :lookup_role_additional_options => "lookupRoleAdditionalOptions",
    :lookup_role_arn => "lookupRoleArn",
    :lookup_role_external_id => "lookupRoleExternalId",
    :qualifier => "qualifier",
    :use_lookup_role_for_stack_operations => "useLookupRoleForStackOperations",
  }
end

Instance Method Details

#to_jsiiObject



277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
# File 'default_stack_synthesizer_props.rb', line 277

def to_jsii
  result = {}
  result.merge!({
    "bootstrapStackVersionSsmParameter" => @bootstrap_stack_version_ssm_parameter,
    "bucketPrefix" => @bucket_prefix,
    "cloudFormationExecutionRole" => @cloud_formation_execution_role,
    "deployRoleAdditionalOptions" => @deploy_role_additional_options,
    "deployRoleArn" => @deploy_role_arn,
    "deployRoleExternalId" => @deploy_role_external_id,
    "dockerTagPrefix" => @docker_tag_prefix,
    "fileAssetPublishingExternalId" => @file_asset_publishing_external_id,
    "fileAssetPublishingRoleAdditionalOptions" => @file_asset_publishing_role_additional_options,
    "fileAssetPublishingRoleArn" => @file_asset_publishing_role_arn,
    "fileAssetsBucketName" => @file_assets_bucket_name,
    "generateBootstrapVersionRule" => @generate_bootstrap_version_rule,
    "imageAssetPublishingExternalId" => @image_asset_publishing_external_id,
    "imageAssetPublishingRoleAdditionalOptions" => @image_asset_publishing_role_additional_options,
    "imageAssetPublishingRoleArn" => @image_asset_publishing_role_arn,
    "imageAssetsRepositoryName" => @image_assets_repository_name,
    "lookupRoleAdditionalOptions" => @lookup_role_additional_options,
    "lookupRoleArn" => @lookup_role_arn,
    "lookupRoleExternalId" => @lookup_role_external_id,
    "qualifier" => @qualifier,
    "useLookupRoleForStackOperations" => @use_lookup_role_for_stack_operations,
  })
  result.compact
end