Class: AWSCDK::GroundStation::CfnMissionProfileProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
ground_station/cfn_mission_profile_props.rb

Overview

Properties for defining a CfnMissionProfile.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dataflow_edges:, minimum_viable_contact_duration_seconds:, name:, tracking_config_arn:, contact_post_pass_duration_seconds: nil, contact_pre_pass_duration_seconds: nil, streams_kms_key: nil, streams_kms_role: nil, tags: nil, telemetry_sink_config_arn: nil) ⇒ CfnMissionProfileProps

Returns a new instance of CfnMissionProfileProps.

Parameters:

  • dataflow_edges (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::GroundStation::CfnMissionProfile::DataflowEdgeProperty>)

    A list containing lists of config ARNs.

  • minimum_viable_contact_duration_seconds (Numeric)

    Minimum length of a contact in seconds that Ground Station will return when listing contacts.

  • name (String)

    The name of the mission profile.

  • tracking_config_arn (String, AWSCDK::Interfaces::AWSGroundstation::IConfigRef)

    The ARN of a tracking config objects that defines how to track the satellite through the sky during a contact.

  • contact_post_pass_duration_seconds (Numeric, nil) (defaults to: nil)

    Amount of time in seconds after a contact ends that you’d like to receive a Ground Station Contact State Change indicating the pass has finished.

  • contact_pre_pass_duration_seconds (Numeric, nil) (defaults to: nil)

    Amount of time in seconds prior to contact start that you'd like to receive a Ground Station Contact State Change Event indicating an upcoming pass.

  • streams_kms_key (AWSCDK::IResolvable, AWSCDK::GroundStation::CfnMissionProfile::StreamsKMSKeyProperty, nil) (defaults to: nil)

    KMS key to use for encrypting streams.

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

    Role to use for encrypting streams with KMS key.

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

    Tags assigned to the mission profile.

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

    ARN of a Config resource of type TelemetrySinkConfig used for telemetry data sink configuration.



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

def initialize(dataflow_edges:, minimum_viable_contact_duration_seconds:, name:, tracking_config_arn:, contact_post_pass_duration_seconds: nil, contact_pre_pass_duration_seconds: nil, streams_kms_key: nil, streams_kms_role: nil, tags: nil, telemetry_sink_config_arn: nil)
  @dataflow_edges = dataflow_edges
  Jsii::Type.check_type(@dataflow_edges, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZ3JvdW5kc3RhdGlvbi5DZm5NaXNzaW9uUHJvZmlsZS5EYXRhZmxvd0VkZ2VQcm9wZXJ0eSJ9XX19LCJraW5kIjoiYXJyYXkifX1dfX0=")), "dataflowEdges")
  @minimum_viable_contact_duration_seconds = minimum_viable_contact_duration_seconds
  Jsii::Type.check_type(@minimum_viable_contact_duration_seconds, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "minimumViableContactDurationSeconds")
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @tracking_config_arn = tracking_config_arn
  Jsii::Type.check_type(@tracking_config_arn, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19ncm91bmRzdGF0aW9uLklDb25maWdSZWYifV19fQ==")), "trackingConfigArn")
  @contact_post_pass_duration_seconds = contact_post_pass_duration_seconds
  Jsii::Type.check_type(@contact_post_pass_duration_seconds, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "contactPostPassDurationSeconds") unless @contact_post_pass_duration_seconds.nil?
  @contact_pre_pass_duration_seconds = contact_pre_pass_duration_seconds
  Jsii::Type.check_type(@contact_pre_pass_duration_seconds, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "contactPrePassDurationSeconds") unless @contact_pre_pass_duration_seconds.nil?
  @streams_kms_key = streams_kms_key.is_a?(Hash) ? ::AWSCDK::GroundStation::CfnMissionProfile::StreamsKMSKeyProperty.new(**streams_kms_key.transform_keys(&:to_sym)) : streams_kms_key
  Jsii::Type.check_type(@streams_kms_key, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ncm91bmRzdGF0aW9uLkNmbk1pc3Npb25Qcm9maWxlLlN0cmVhbXNLbXNLZXlQcm9wZXJ0eSJ9XX19")), "streamsKmsKey") unless @streams_kms_key.nil?
  @streams_kms_role = streams_kms_role
  Jsii::Type.check_type(@streams_kms_role, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "streamsKmsRole") unless @streams_kms_role.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?
  @telemetry_sink_config_arn = telemetry_sink_config_arn
  Jsii::Type.check_type(@telemetry_sink_config_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "telemetrySinkConfigArn") unless @telemetry_sink_config_arn.nil?
end

Instance Attribute Details

#contact_post_pass_duration_secondsNumeric? (readonly)

Amount of time in seconds after a contact ends that you’d like to receive a Ground Station Contact State Change indicating the pass has finished.



70
71
72
# File 'ground_station/cfn_mission_profile_props.rb', line 70

def contact_post_pass_duration_seconds
  @contact_post_pass_duration_seconds
end

#contact_pre_pass_duration_secondsNumeric? (readonly)

Amount of time in seconds prior to contact start that you'd like to receive a Ground Station Contact State Change Event indicating an upcoming pass.



75
76
77
# File 'ground_station/cfn_mission_profile_props.rb', line 75

def contact_pre_pass_duration_seconds
  @contact_pre_pass_duration_seconds
end

#dataflow_edgesAWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::GroundStation::CfnMissionProfile::DataflowEdgeProperty> (readonly)

A list containing lists of config ARNs.

Each list of config ARNs is an edge, with a "from" config and a "to" config.



48
49
50
# File 'ground_station/cfn_mission_profile_props.rb', line 48

def dataflow_edges
  @dataflow_edges
end

#minimum_viable_contact_duration_secondsNumeric (readonly)

Minimum length of a contact in seconds that Ground Station will return when listing contacts.

Ground Station will not return contacts shorter than this duration.



55
56
57
# File 'ground_station/cfn_mission_profile_props.rb', line 55

def minimum_viable_contact_duration_seconds
  @minimum_viable_contact_duration_seconds
end

#nameString (readonly)

The name of the mission profile.



60
61
62
# File 'ground_station/cfn_mission_profile_props.rb', line 60

def name
  @name
end

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

KMS key to use for encrypting streams.



80
81
82
# File 'ground_station/cfn_mission_profile_props.rb', line 80

def streams_kms_key
  @streams_kms_key
end

#streams_kms_roleString? (readonly)

Role to use for encrypting streams with KMS key.



85
86
87
# File 'ground_station/cfn_mission_profile_props.rb', line 85

def streams_kms_role
  @streams_kms_role
end

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

Tags assigned to the mission profile.



90
91
92
# File 'ground_station/cfn_mission_profile_props.rb', line 90

def tags
  @tags
end

#telemetry_sink_config_arnString? (readonly)

ARN of a Config resource of type TelemetrySinkConfig used for telemetry data sink configuration.



95
96
97
# File 'ground_station/cfn_mission_profile_props.rb', line 95

def telemetry_sink_config_arn
  @telemetry_sink_config_arn
end

#tracking_config_arnString, AWSCDK::Interfaces::AWSGroundstation::IConfigRef (readonly)

The ARN of a tracking config objects that defines how to track the satellite through the sky during a contact.



65
66
67
# File 'ground_station/cfn_mission_profile_props.rb', line 65

def tracking_config_arn
  @tracking_config_arn
end

Class Method Details

.jsii_propertiesObject



97
98
99
100
101
102
103
104
105
106
107
108
109
110
# File 'ground_station/cfn_mission_profile_props.rb', line 97

def self.jsii_properties
  {
    :dataflow_edges => "dataflowEdges",
    :minimum_viable_contact_duration_seconds => "minimumViableContactDurationSeconds",
    :name => "name",
    :tracking_config_arn => "trackingConfigArn",
    :contact_post_pass_duration_seconds => "contactPostPassDurationSeconds",
    :contact_pre_pass_duration_seconds => "contactPrePassDurationSeconds",
    :streams_kms_key => "streamsKmsKey",
    :streams_kms_role => "streamsKmsRole",
    :tags => "tags",
    :telemetry_sink_config_arn => "telemetrySinkConfigArn",
  }
end

Instance Method Details

#to_jsiiObject



112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# File 'ground_station/cfn_mission_profile_props.rb', line 112

def to_jsii
  result = {}
  result.merge!({
    "dataflowEdges" => @dataflow_edges,
    "minimumViableContactDurationSeconds" => @minimum_viable_contact_duration_seconds,
    "name" => @name,
    "trackingConfigArn" => @tracking_config_arn,
    "contactPostPassDurationSeconds" => @contact_post_pass_duration_seconds,
    "contactPrePassDurationSeconds" => @contact_pre_pass_duration_seconds,
    "streamsKmsKey" => @streams_kms_key,
    "streamsKmsRole" => @streams_kms_role,
    "tags" => @tags,
    "telemetrySinkConfigArn" => @telemetry_sink_config_arn,
  })
  result.compact
end