Class: AWSCDK::CfnCodeDeployBlueGreenHookProps

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

Overview

Construction properties of CfnCodeDeployBlueGreenHook.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(applications:, service_role:, additional_options: nil, lifecycle_event_hooks: nil, traffic_routing_config: nil) ⇒ CfnCodeDeployBlueGreenHookProps

Returns a new instance of CfnCodeDeployBlueGreenHookProps.

Parameters:



12
13
14
15
16
17
18
19
20
21
22
23
# File 'cfn_code_deploy_blue_green_hook_props.rb', line 12

def initialize(applications:, service_role:, additional_options: nil, lifecycle_event_hooks: nil, traffic_routing_config: nil)
  @applications = applications.is_a?(Array) ? applications.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnCodeDeployBlueGreenApplication.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : applications
  Jsii::Type.check_type(@applications, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmbkNvZGVEZXBsb3lCbHVlR3JlZW5BcHBsaWNhdGlvbiJ9LCJraW5kIjoiYXJyYXkifX0=")), "applications")
  @service_role = service_role
  Jsii::Type.check_type(@service_role, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "serviceRole")
  @additional_options = additional_options.is_a?(Hash) ? ::AWSCDK::CfnCodeDeployBlueGreenAdditionalOptions.new(**additional_options.transform_keys(&:to_sym)) : additional_options
  Jsii::Type.check_type(@additional_options, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5Db2RlRGVwbG95Qmx1ZUdyZWVuQWRkaXRpb25hbE9wdGlvbnMifQ==")), "additionalOptions") unless @additional_options.nil?
  @lifecycle_event_hooks = lifecycle_event_hooks.is_a?(Hash) ? ::AWSCDK::CfnCodeDeployBlueGreenLifecycleEventHooks.new(**lifecycle_event_hooks.transform_keys(&:to_sym)) : lifecycle_event_hooks
  Jsii::Type.check_type(@lifecycle_event_hooks, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5Db2RlRGVwbG95Qmx1ZUdyZWVuTGlmZWN5Y2xlRXZlbnRIb29rcyJ9")), "lifecycleEventHooks") unless @lifecycle_event_hooks.nil?
  @traffic_routing_config = traffic_routing_config.is_a?(Hash) ? ::AWSCDK::CfnTrafficRoutingConfig.new(**traffic_routing_config.transform_keys(&:to_sym)) : traffic_routing_config
  Jsii::Type.check_type(@traffic_routing_config, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5UcmFmZmljUm91dGluZ0NvbmZpZyJ9")), "trafficRoutingConfig") unless @traffic_routing_config.nil?
end

Instance Attribute Details

#additional_optionsAWSCDK::CfnCodeDeployBlueGreenAdditionalOptions? (readonly)

Note:

Default: - no additional options

Additional options for the blue/green deployment.



37
38
39
# File 'cfn_code_deploy_blue_green_hook_props.rb', line 37

def additional_options
  @additional_options
end

#applicationsArray<AWSCDK::CfnCodeDeployBlueGreenApplication> (readonly)

Properties of the Amazon ECS applications being deployed.



28
29
30
# File 'cfn_code_deploy_blue_green_hook_props.rb', line 28

def applications
  @applications
end

#lifecycle_event_hooksAWSCDK::CfnCodeDeployBlueGreenLifecycleEventHooks? (readonly)

Note:

Default: - no lifecycle event hooks

Use lifecycle event hooks to specify a Lambda function that CodeDeploy can call to validate a deployment.

You can use the same function or a different one for deployment lifecycle events. Following completion of the validation tests, the Lambda CfnCodeDeployBlueGreenLifecycleEventHooks.afterAllowTraffic function calls back CodeDeploy and delivers a result of 'Succeeded' or 'Failed'.



47
48
49
# File 'cfn_code_deploy_blue_green_hook_props.rb', line 47

def lifecycle_event_hooks
  @lifecycle_event_hooks
end

#service_roleString (readonly)

The IAM Role for CloudFormation to use to perform blue-green deployments.

Returns:

  • (String)


32
33
34
# File 'cfn_code_deploy_blue_green_hook_props.rb', line 32

def service_role
  @service_role
end

#traffic_routing_configAWSCDK::CfnTrafficRoutingConfig? (readonly)

Note:

Default: - time-based canary traffic shifting, with a 15% step percentage and a five minute bake time

Traffic routing configuration settings.



52
53
54
# File 'cfn_code_deploy_blue_green_hook_props.rb', line 52

def traffic_routing_config
  @traffic_routing_config
end

Class Method Details

.jsii_propertiesObject



54
55
56
57
58
59
60
61
62
# File 'cfn_code_deploy_blue_green_hook_props.rb', line 54

def self.jsii_properties
  {
    :applications => "applications",
    :service_role => "serviceRole",
    :additional_options => "additionalOptions",
    :lifecycle_event_hooks => "lifecycleEventHooks",
    :traffic_routing_config => "trafficRoutingConfig",
  }
end

Instance Method Details

#to_jsiiObject



64
65
66
67
68
69
70
71
72
73
74
# File 'cfn_code_deploy_blue_green_hook_props.rb', line 64

def to_jsii
  result = {}
  result.merge!({
    "applications" => @applications,
    "serviceRole" => @service_role,
    "additionalOptions" => @additional_options,
    "lifecycleEventHooks" => @lifecycle_event_hooks,
    "trafficRoutingConfig" => @traffic_routing_config,
  })
  result.compact
end