Class: AWSCDK::M2::CfnEnvironmentProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
m2/cfn_environment_props.rb

Overview

Properties for defining a CfnEnvironment.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(engine_type:, instance_type:, name:, description: nil, engine_version: nil, high_availability_config: nil, kms_key_id: nil, network_type: nil, preferred_maintenance_window: nil, publicly_accessible: nil, security_group_ids: nil, storage_configurations: nil, subnet_ids: nil, tags: nil) ⇒ CfnEnvironmentProps

Returns a new instance of CfnEnvironmentProps.

Parameters:

  • engine_type (String)

    The target platform for the runtime environment.

  • instance_type (String)

    The instance type of the runtime environment.

  • name (String)

    The name of the runtime environment.

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

    The description of the runtime environment.

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

    The version of the runtime engine.

  • high_availability_config (AWSCDK::IResolvable, AWSCDK::M2::CfnEnvironment::HighAvailabilityConfigProperty, nil) (defaults to: nil)

    AWS Mainframe Modernization Service (Managed Runtime Environment experience) will no longer be open to new customers starting on November 7, 2025.

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

    The identifier of a customer managed key.

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

    The network type supported by the runtime environment.

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

    Configures the maintenance window that you want for the runtime environment.

  • publicly_accessible (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Specifies whether the runtime environment is publicly accessible.

  • security_group_ids (Array<String>, nil) (defaults to: nil)

    The list of security groups for the VPC associated with this runtime environment.

  • storage_configurations (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::M2::CfnEnvironment::StorageConfigurationProperty>, nil) (defaults to: nil)

    AWS Mainframe Modernization Service (Managed Runtime Environment experience) will no longer be open to new customers starting on November 7, 2025.

  • subnet_ids (Array<String>, nil) (defaults to: nil)

    The list of subnets associated with the VPC for this runtime environment.

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

    An array of key-value pairs to apply to this resource.



23
24
25
26
27
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
# File 'm2/cfn_environment_props.rb', line 23

def initialize(engine_type:, instance_type:, name:, description: nil, engine_version: nil, high_availability_config: nil, kms_key_id: nil, network_type: nil, preferred_maintenance_window: nil, publicly_accessible: nil, security_group_ids: nil, storage_configurations: nil, subnet_ids: nil, tags: nil)
  @engine_type = engine_type
  Jsii::Type.check_type(@engine_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "engineType")
  @instance_type = instance_type
  Jsii::Type.check_type(@instance_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "instanceType")
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @engine_version = engine_version
  Jsii::Type.check_type(@engine_version, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "engineVersion") unless @engine_version.nil?
  @high_availability_config = high_availability_config.is_a?(Hash) ? ::AWSCDK::M2::CfnEnvironment::HighAvailabilityConfigProperty.new(**high_availability_config.transform_keys(&:to_sym)) : high_availability_config
  Jsii::Type.check_type(@high_availability_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19tMi5DZm5FbnZpcm9ubWVudC5IaWdoQXZhaWxhYmlsaXR5Q29uZmlnUHJvcGVydHkifV19fQ==")), "highAvailabilityConfig") unless @high_availability_config.nil?
  @kms_key_id = kms_key_id
  Jsii::Type.check_type(@kms_key_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKeyId") unless @kms_key_id.nil?
  @network_type = network_type
  Jsii::Type.check_type(@network_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "networkType") unless @network_type.nil?
  @preferred_maintenance_window = preferred_maintenance_window
  Jsii::Type.check_type(@preferred_maintenance_window, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "preferredMaintenanceWindow") unless @preferred_maintenance_window.nil?
  @publicly_accessible = publicly_accessible
  Jsii::Type.check_type(@publicly_accessible, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "publiclyAccessible") unless @publicly_accessible.nil?
  @security_group_ids = security_group_ids
  Jsii::Type.check_type(@security_group_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "securityGroupIds") unless @security_group_ids.nil?
  @storage_configurations = storage_configurations
  Jsii::Type.check_type(@storage_configurations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfbTIuQ2ZuRW52aXJvbm1lbnQuU3RvcmFnZUNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "storageConfigurations") unless @storage_configurations.nil?
  @subnet_ids = subnet_ids
  Jsii::Type.check_type(@subnet_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "subnetIds") unless @subnet_ids.nil?
  @tags = tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoibWFwIn19")), "tags") unless @tags.nil?
end

Instance Attribute Details

#descriptionString? (readonly)

The description of the runtime environment.



73
74
75
# File 'm2/cfn_environment_props.rb', line 73

def description
  @description
end

#engine_typeString (readonly)

The target platform for the runtime environment.



58
59
60
# File 'm2/cfn_environment_props.rb', line 58

def engine_type
  @engine_type
end

#engine_versionString? (readonly)

The version of the runtime engine.



78
79
80
# File 'm2/cfn_environment_props.rb', line 78

def engine_version
  @engine_version
end

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

AWS Mainframe Modernization Service (Managed Runtime Environment experience) will no longer be open to new customers starting on November 7, 2025.

If you would like to use the service, please sign up prior to November 7, 2025. For capabilities similar to AWS Mainframe Modernization Service (Managed Runtime Environment experience) explore AWS Mainframe Modernization Service (Self-Managed Experience). Existing customers can continue to use the service as normal. For more information, see AWS Mainframe Modernization availability change .

Defines the details of a high availability configuration.



87
88
89
# File 'm2/cfn_environment_props.rb', line 87

def high_availability_config
  @high_availability_config
end

#instance_typeString (readonly)

The instance type of the runtime environment.



63
64
65
# File 'm2/cfn_environment_props.rb', line 63

def instance_type
  @instance_type
end

#kms_key_idString? (readonly)

The identifier of a customer managed key.



92
93
94
# File 'm2/cfn_environment_props.rb', line 92

def kms_key_id
  @kms_key_id
end

#nameString (readonly)

The name of the runtime environment.



68
69
70
# File 'm2/cfn_environment_props.rb', line 68

def name
  @name
end

#network_typeString? (readonly)

The network type supported by the runtime environment.



97
98
99
# File 'm2/cfn_environment_props.rb', line 97

def network_type
  @network_type
end

#preferred_maintenance_windowString? (readonly)

Configures the maintenance window that you want for the runtime environment.

The maintenance window must have the format ddd:hh24:mi-ddd:hh24:mi and must be less than 24 hours. The following two examples are valid maintenance windows: sun:23:45-mon:00:15 or sat:01:00-sat:03:00 .

If you do not provide a value, a random system-generated value will be assigned.



106
107
108
# File 'm2/cfn_environment_props.rb', line 106

def preferred_maintenance_window
  @preferred_maintenance_window
end

#publicly_accessibleBoolean, ... (readonly)

Specifies whether the runtime environment is publicly accessible.



111
112
113
# File 'm2/cfn_environment_props.rb', line 111

def publicly_accessible
  @publicly_accessible
end

#security_group_idsArray<String>? (readonly)

The list of security groups for the VPC associated with this runtime environment.



116
117
118
# File 'm2/cfn_environment_props.rb', line 116

def security_group_ids
  @security_group_ids
end

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

AWS Mainframe Modernization Service (Managed Runtime Environment experience) will no longer be open to new customers starting on November 7, 2025.

If you would like to use the service, please sign up prior to November 7, 2025. For capabilities similar to AWS Mainframe Modernization Service (Managed Runtime Environment experience) explore AWS Mainframe Modernization Service (Self-Managed Experience). Existing customers can continue to use the service as normal. For more information, see AWS Mainframe Modernization availability change .

Defines the storage configuration for a runtime environment.



125
126
127
# File 'm2/cfn_environment_props.rb', line 125

def storage_configurations
  @storage_configurations
end

#subnet_idsArray<String>? (readonly)

The list of subnets associated with the VPC for this runtime environment.



130
131
132
# File 'm2/cfn_environment_props.rb', line 130

def subnet_ids
  @subnet_ids
end

#tagsHash{String => String}? (readonly)

An array of key-value pairs to apply to this resource.

For more information, see Tag .



137
138
139
# File 'm2/cfn_environment_props.rb', line 137

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
# File 'm2/cfn_environment_props.rb', line 139

def self.jsii_properties
  {
    :engine_type => "engineType",
    :instance_type => "instanceType",
    :name => "name",
    :description => "description",
    :engine_version => "engineVersion",
    :high_availability_config => "highAvailabilityConfig",
    :kms_key_id => "kmsKeyId",
    :network_type => "networkType",
    :preferred_maintenance_window => "preferredMaintenanceWindow",
    :publicly_accessible => "publiclyAccessible",
    :security_group_ids => "securityGroupIds",
    :storage_configurations => "storageConfigurations",
    :subnet_ids => "subnetIds",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
# File 'm2/cfn_environment_props.rb', line 158

def to_jsii
  result = {}
  result.merge!({
    "engineType" => @engine_type,
    "instanceType" => @instance_type,
    "name" => @name,
    "description" => @description,
    "engineVersion" => @engine_version,
    "highAvailabilityConfig" => @high_availability_config,
    "kmsKeyId" => @kms_key_id,
    "networkType" => @network_type,
    "preferredMaintenanceWindow" => @preferred_maintenance_window,
    "publiclyAccessible" => @publicly_accessible,
    "securityGroupIds" => @security_group_ids,
    "storageConfigurations" => @storage_configurations,
    "subnetIds" => @subnet_ids,
    "tags" => @tags,
  })
  result.compact
end