Class: AWSCDK::AppStream::CfnApplicationProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
app_stream/cfn_application_props.rb

Overview

Properties for defining a CfnApplication.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(app_block_arn:, icon_s3_location:, instance_families:, launch_path:, name:, platforms:, attributes_to_delete: nil, description: nil, display_name: nil, launch_parameters: nil, tags: nil, working_directory: nil) ⇒ CfnApplicationProps

Returns a new instance of CfnApplicationProps.

Parameters:

  • app_block_arn (String)

    The app block ARN with which the application should be associated.

  • icon_s3_location (AWSCDK::IResolvable, AWSCDK::AppStream::CfnApplication::S3LocationProperty)

    The icon S3 location of the application.

  • instance_families (Array<String>)

    The instance families the application supports.

  • launch_path (String)

    The launch path of the application.

  • name (String)

    The name of the application.

  • platforms (Array<String>)

    The platforms the application supports.

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

    A list of attributes to delete from an application.

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

    The description of the application.

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

    The display name of the application.

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

    The launch parameters of the application.

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

    The tags of the application.

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

    The working directory of the application.



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'app_stream/cfn_application_props.rb', line 21

def initialize(app_block_arn:, icon_s3_location:, instance_families:, launch_path:, name:, platforms:, attributes_to_delete: nil, description: nil, display_name: nil, launch_parameters: nil, tags: nil, working_directory: nil)
  @app_block_arn = app_block_arn
  Jsii::Type.check_type(@app_block_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "appBlockArn")
  @icon_s3_location = icon_s3_location.is_a?(Hash) ? ::AWSCDK::AppStream::CfnApplication::S3LocationProperty.new(**icon_s3_location.transform_keys(&:to_sym)) : icon_s3_location
  Jsii::Type.check_type(@icon_s3_location, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hcHBzdHJlYW0uQ2ZuQXBwbGljYXRpb24uUzNMb2NhdGlvblByb3BlcnR5In1dfX0=")), "iconS3Location")
  @instance_families = instance_families
  Jsii::Type.check_type(@instance_families, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "instanceFamilies")
  @launch_path = launch_path
  Jsii::Type.check_type(@launch_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "launchPath")
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @platforms = platforms
  Jsii::Type.check_type(@platforms, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "platforms")
  @attributes_to_delete = attributes_to_delete
  Jsii::Type.check_type(@attributes_to_delete, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "attributesToDelete") unless @attributes_to_delete.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @display_name = display_name
  Jsii::Type.check_type(@display_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "displayName") unless @display_name.nil?
  @launch_parameters = launch_parameters
  Jsii::Type.check_type(@launch_parameters, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "launchParameters") unless @launch_parameters.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?
  @working_directory = working_directory
  Jsii::Type.check_type(@working_directory, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "workingDirectory") unless @working_directory.nil?
end

Instance Attribute Details

#app_block_arnString (readonly)

The app block ARN with which the application should be associated.



52
53
54
# File 'app_stream/cfn_application_props.rb', line 52

def app_block_arn
  @app_block_arn
end

#attributes_to_deleteArray<String>? (readonly)

A list of attributes to delete from an application.



90
91
92
# File 'app_stream/cfn_application_props.rb', line 90

def attributes_to_delete
  @attributes_to_delete
end

#descriptionString? (readonly)

The description of the application.



95
96
97
# File 'app_stream/cfn_application_props.rb', line 95

def description
  @description
end

#display_nameString? (readonly)

The display name of the application.

This name is visible to users in the application catalog.



102
103
104
# File 'app_stream/cfn_application_props.rb', line 102

def display_name
  @display_name
end

#icon_s3_locationAWSCDK::IResolvable, AWSCDK::AppStream::CfnApplication::S3LocationProperty (readonly)

The icon S3 location of the application.



57
58
59
# File 'app_stream/cfn_application_props.rb', line 57

def icon_s3_location
  @icon_s3_location
end

#instance_familiesArray<String> (readonly)

The instance families the application supports.

Allowed Values : GENERAL_PURPOSE | GRAPHICS_G4



64
65
66
# File 'app_stream/cfn_application_props.rb', line 64

def instance_families
  @instance_families
end

#launch_parametersString? (readonly)

The launch parameters of the application.



107
108
109
# File 'app_stream/cfn_application_props.rb', line 107

def launch_parameters
  @launch_parameters
end

#launch_pathString (readonly)

The launch path of the application.



69
70
71
# File 'app_stream/cfn_application_props.rb', line 69

def launch_path
  @launch_path
end

#nameString (readonly)

The name of the application.

This name is visible to users when a name is not specified in the DisplayName property.

Pattern : ^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,100}$



78
79
80
# File 'app_stream/cfn_application_props.rb', line 78

def name
  @name
end

#platformsArray<String> (readonly)

The platforms the application supports.

Allowed Values : WINDOWS_SERVER_2019 | AMAZON_LINUX2



85
86
87
# File 'app_stream/cfn_application_props.rb', line 85

def platforms
  @platforms
end

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

The tags of the application.



112
113
114
# File 'app_stream/cfn_application_props.rb', line 112

def tags
  @tags
end

#working_directoryString? (readonly)

The working directory of the application.



117
118
119
# File 'app_stream/cfn_application_props.rb', line 117

def working_directory
  @working_directory
end

Class Method Details

.jsii_propertiesObject



119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# File 'app_stream/cfn_application_props.rb', line 119

def self.jsii_properties
  {
    :app_block_arn => "appBlockArn",
    :icon_s3_location => "iconS3Location",
    :instance_families => "instanceFamilies",
    :launch_path => "launchPath",
    :name => "name",
    :platforms => "platforms",
    :attributes_to_delete => "attributesToDelete",
    :description => "description",
    :display_name => "displayName",
    :launch_parameters => "launchParameters",
    :tags => "tags",
    :working_directory => "workingDirectory",
  }
end

Instance Method Details

#to_jsiiObject



136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
# File 'app_stream/cfn_application_props.rb', line 136

def to_jsii
  result = {}
  result.merge!({
    "appBlockArn" => @app_block_arn,
    "iconS3Location" => @icon_s3_location,
    "instanceFamilies" => @instance_families,
    "launchPath" => @launch_path,
    "name" => @name,
    "platforms" => @platforms,
    "attributesToDelete" => @attributes_to_delete,
    "description" => @description,
    "displayName" => @display_name,
    "launchParameters" => @launch_parameters,
    "tags" => @tags,
    "workingDirectory" => @working_directory,
  })
  result.compact
end