You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::GroundStation::Client

Inherits:
Seahorse::Client::Base show all
Defined in:
(unknown)

Overview

An API client for AWS Ground Station. To construct a client, you need to configure a :region and :credentials.

groundstation = Aws::GroundStation::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

See #initialize for a full list of supported configuration options.

Region

You can configure a default region in the following locations:

  • ENV['AWS_REGION']
  • Aws.config[:region]

Go here for a list of supported regions.

Credentials

Default credentials are loaded automatically from the following locations:

  • ENV['AWS_ACCESS_KEY_ID'] and ENV['AWS_SECRET_ACCESS_KEY']
  • Aws.config[:credentials]
  • The shared credentials ini file at ~/.aws/credentials (more information)
  • From an instance profile when running on EC2

You can also construct a credentials object from one of the following classes:

Alternatively, you configure credentials with :access_key_id and :secret_access_key:

# load credentials from disk
creds = YAML.load(File.read('/path/to/secrets'))

Aws::GroundStation::Client.new(
  access_key_id: creds['access_key_id'],
  secret_access_key: creds['secret_access_key']
)

Always load your credentials from outside your application. Avoid configuring credentials statically and never commit them to source control.

Attribute Summary collapse

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

Constructor collapse

API Operations collapse

Instance Method Summary collapse

Methods inherited from Seahorse::Client::Base

add_plugin, api, #build_request, clear_plugins, define, new, #operation, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options = {}) ⇒ Aws::GroundStation::Client

Constructs an API client.

Options Hash (options):

  • :access_key_id (String) —

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :active_endpoint_cache (Boolean) —

    When set to true, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to false. See Plugins::EndpointDiscovery for more details.

  • :convert_params (Boolean) — default: true —

    When true, an attempt is made to coerce request parameters into the required types. See Plugins::ParamConverter for more details.

  • :credentials (required, Credentials) —

    Your AWS credentials. The following locations will be searched in order for credentials:

    • :access_key_id, :secret_access_key, and :session_token options
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
    • HOME/.aws/credentials shared credentials file
    • EC2 instance profile credentials See Plugins::RequestSigner for more details.
  • :disable_host_prefix_injection (Boolean) —

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available. See Plugins::EndpointPattern for more details.

  • :endpoint (String) —

    A default endpoint is constructed from the :region. See Plugins::RegionalEndpoint for more details.

  • :endpoint_cache_max_entries (Integer) —

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000. See Plugins::EndpointDiscovery for more details.

  • :endpoint_cache_max_threads (Integer) —

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10. See Plugins::EndpointDiscovery for more details.

  • :endpoint_cache_poll_interval (Integer) —

    When :endpoint_discovery and :active_endpoint_cache is enabled, Use this option to config the time interval in seconds for making requests fetching endpoints information. Defaults to 60 sec. See Plugins::EndpointDiscovery for more details.

  • :endpoint_discovery (Boolean) —

    When set to true, endpoint discovery will be enabled for operations when available. Defaults to false. See Plugins::EndpointDiscovery for more details.

  • :http_continue_timeout (Float) — default: 1 —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_idle_timeout (Integer) — default: 5 —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_open_timeout (Integer) — default: 15 —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_proxy (String) —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_read_timeout (Integer) — default: 60 —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_wire_trace (Boolean) — default: false —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :log_level (Symbol) — default: :info —

    The log level to send messages to the logger at. See Plugins::Logging for more details.

  • :log_formatter (Logging::LogFormatter) —

    The log formatter. Defaults to Seahorse::Client::Logging::Formatter.default. See Plugins::Logging for more details.

  • :logger (Logger) — default: nil —

    The Logger instance to send log messages to. If this option is not set, logging will be disabled. See Plugins::Logging for more details.

  • :profile (String) —

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used. See Plugins::RequestSigner for more details.

  • :raise_response_errors (Boolean) — default: true —

    When true, response errors are raised. See Seahorse::Client::Plugins::RaiseResponseErrors for more details.

  • :region (required, String) —

    The AWS region to connect to. The region is used to construct the client endpoint. Defaults to ENV['AWS_REGION']. Also checks AMAZON_REGION and AWS_DEFAULT_REGION. See Plugins::RegionalEndpoint for more details.

  • :retry_limit (Integer) — default: 3 —

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors and auth errors from expired credentials. See Plugins::RetryErrors for more details.

  • :secret_access_key (String) —

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :session_token (String) —

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :ssl_ca_bundle (String) —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_ca_directory (String) —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_ca_store (String) —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_verify_peer (Boolean) — default: true —

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :stub_responses (Boolean) — default: false —

    Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify the response data to return or errors to raise by calling ClientStubs#stub_responses. See ClientStubs for more information.

    Please note When response stubbing is enabled, no HTTP requests are made, and retries are disabled. See Plugins::StubResponses for more details.

  • :validate_params (Boolean) — default: true —

    When true, request parameters are validated before sending the request. See Plugins::ParamValidator for more details.

Instance Method Details

#cancel_contact(options = {}) ⇒ Types::ContactIdResponse

Cancels a contact with a specified contact ID.

Examples:

Request syntax with placeholder values


resp = client.cancel_contact({
  contact_id: "String", # required
})

Response structure


resp.contact_id #=> String

Options Hash (options):

  • :contact_id (required, String) —

    UUID of a contact.

Returns:

See Also:

#create_config(options = {}) ⇒ Types::ConfigIdResponse

Creates a Config with the specified configData parameters.

Only one type of configData can be specified.

Examples:

Request syntax with placeholder values


resp = client.create_config({
  config_data: { # required
    antenna_downlink_config: {
      spectrum_config: { # required
        bandwidth: { # required
          units: "GHz", # required, accepts GHz, MHz, kHz
          value: 1.0, # required
        },
        center_frequency: { # required
          units: "GHz", # required, accepts GHz, MHz, kHz
          value: 1.0, # required
        },
        polarization: "LEFT_HAND", # accepts LEFT_HAND, NONE, RIGHT_HAND
      },
    },
    antenna_downlink_demod_decode_config: {
      decode_config: { # required
        unvalidated_json: "JsonString", # required
      },
      demodulation_config: { # required
        unvalidated_json: "JsonString", # required
      },
      spectrum_config: { # required
        bandwidth: { # required
          units: "GHz", # required, accepts GHz, MHz, kHz
          value: 1.0, # required
        },
        center_frequency: { # required
          units: "GHz", # required, accepts GHz, MHz, kHz
          value: 1.0, # required
        },
        polarization: "LEFT_HAND", # accepts LEFT_HAND, NONE, RIGHT_HAND
      },
    },
    antenna_uplink_config: {
      spectrum_config: { # required
        center_frequency: { # required
          units: "GHz", # required, accepts GHz, MHz, kHz
          value: 1.0, # required
        },
        polarization: "LEFT_HAND", # accepts LEFT_HAND, NONE, RIGHT_HAND
      },
      target_eirp: { # required
        units: "dBW", # required, accepts dBW
        value: 1.0, # required
      },
      transmit_disabled: false,
    },
    dataflow_endpoint_config: {
      dataflow_endpoint_name: "String", # required
      dataflow_endpoint_region: "String",
    },
    tracking_config: {
      autotrack: "PREFERRED", # required, accepts PREFERRED, REMOVED, REQUIRED
    },
    uplink_echo_config: {
      antenna_uplink_config_arn: "ConfigArn", # required
      enabled: false, # required
    },
  },
  name: "SafeName", # required
  tags: {
    "String" => "String",
  },
})

Response structure


resp.config_arn #=> String
resp.config_id #=> String
resp.config_type #=> String, one of "antenna-downlink", "antenna-downlink-demod-decode", "antenna-uplink", "dataflow-endpoint", "tracking", "uplink-echo"

Options Hash (options):

  • :config_data (required, Types::ConfigTypeData) —

    Parameters of a Config.

  • :name (required, String) —

    Name of a Config.

  • :tags (Hash<String,String>) —

    Tags assigned to a Config.

Returns:

See Also:

#create_dataflow_endpoint_group(options = {}) ⇒ Types::DataflowEndpointGroupIdResponse

Creates a DataflowEndpoint group containing the specified list of DataflowEndpoint objects.

The name field in each endpoint is used in your mission profile DataflowEndpointConfig to specify which endpoints to use during a contact.

When a contact uses multiple DataflowEndpointConfig objects, each Config must match a DataflowEndpoint in the same group.

Examples:

Request syntax with placeholder values


resp = client.create_dataflow_endpoint_group({
  endpoint_details: [ # required
    {
      endpoint: {
        address: {
          name: "String", # required
          port: 1, # required
        },
        mtu: 1,
        name: "SafeName",
        status: "created", # accepts created, creating, deleted, deleting, failed
      },
      security_details: {
        role_arn: "RoleArn", # required
        security_group_ids: ["String"], # required
        subnet_ids: ["String"], # required
      },
    },
  ],
  tags: {
    "String" => "String",
  },
})

Response structure


resp.dataflow_endpoint_group_id #=> String

Options Hash (options):

  • :endpoint_details (required, Array<Types::EndpointDetails>) —

    Endpoint details of each endpoint in the dataflow endpoint group.

  • :tags (Hash<String,String>) —

    Tags of a dataflow endpoint group.

Returns:

See Also:

#create_mission_profile(options = {}) ⇒ Types::MissionProfileIdResponse

Creates a mission profile.

dataflowEdges is a list of lists of strings. Each lower level list of strings has two elements: a from ARN and a to ARN.

Examples:

Request syntax with placeholder values


resp = client.create_mission_profile({
  contact_post_pass_duration_seconds: 1,
  contact_pre_pass_duration_seconds: 1,
  dataflow_edges: [ # required
    ["ConfigArn"],
  ],
  minimum_viable_contact_duration_seconds: 1, # required
  name: "SafeName", # required
  tags: {
    "String" => "String",
  },
  tracking_config_arn: "ConfigArn", # required
})

Response structure


resp.mission_profile_id #=> String

Options Hash (options):

  • :contact_post_pass_duration_seconds (Integer) —

    Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished.

  • :contact_pre_pass_duration_seconds (Integer) —

    Amount of time prior to contact start you’d like to receive a CloudWatch event indicating an upcoming pass.

  • :dataflow_edges (required, Array<Array<String>>) —

    A list of lists of ARNs. Each list of ARNs is an edge, with a from Config and a to Config.

  • :minimum_viable_contact_duration_seconds (required, Integer) —

    Smallest amount of time in seconds that you’d like to see for an available contact. AWS Ground Station will not present you with contacts shorter than this duration.

  • :name (required, String) —

    Name of a mission profile.

  • :tags (Hash<String,String>) —

    Tags assigned to a mission profile.

  • :tracking_config_arn (required, String) —

    ARN of a tracking Config.

Returns:

See Also:

#delete_config(options = {}) ⇒ Types::ConfigIdResponse

Deletes a Config.

Examples:

Request syntax with placeholder values


resp = client.delete_config({
  config_id: "String", # required
  config_type: "antenna-downlink", # required, accepts antenna-downlink, antenna-downlink-demod-decode, antenna-uplink, dataflow-endpoint, tracking, uplink-echo
})

Response structure


resp.config_arn #=> String
resp.config_id #=> String
resp.config_type #=> String, one of "antenna-downlink", "antenna-downlink-demod-decode", "antenna-uplink", "dataflow-endpoint", "tracking", "uplink-echo"

Options Hash (options):

  • :config_id (required, String) —

    UUID of a Config.

  • :config_type (required, String) —

    Type of a Config.

Returns:

See Also:

#delete_dataflow_endpoint_group(options = {}) ⇒ Types::DataflowEndpointGroupIdResponse

Deletes a dataflow endpoint group.

Examples:

Request syntax with placeholder values


resp = client.delete_dataflow_endpoint_group({
  dataflow_endpoint_group_id: "String", # required
})

Response structure


resp.dataflow_endpoint_group_id #=> String

Options Hash (options):

  • :dataflow_endpoint_group_id (required, String) —

    UUID of a dataflow endpoint group.

Returns:

See Also:

#delete_mission_profile(options = {}) ⇒ Types::MissionProfileIdResponse

Deletes a mission profile.

Examples:

Request syntax with placeholder values


resp = client.delete_mission_profile({
  mission_profile_id: "String", # required
})

Response structure


resp.mission_profile_id #=> String

Options Hash (options):

  • :mission_profile_id (required, String) —

    UUID of a mission profile.

Returns:

See Also:

#describe_contact(options = {}) ⇒ Types::DescribeContactResponse

Describes an existing contact.

Examples:

Request syntax with placeholder values


resp = client.describe_contact({
  contact_id: "String", # required
})

Response structure


resp.contact_id #=> String
resp.contact_status #=> String, one of "AVAILABLE", "AWS_CANCELLED", "AWS_FAILED", "CANCELLED", "CANCELLING", "COMPLETED", "FAILED", "FAILED_TO_SCHEDULE", "PASS", "POSTPASS", "PREPASS", "SCHEDULED", "SCHEDULING"
resp.dataflow_list #=> Array
resp.dataflow_list[0].destination.config_details.antenna_demod_decode_details.output_node #=> String
resp.dataflow_list[0].destination.config_details.endpoint_details.endpoint.address.name #=> String
resp.dataflow_list[0].destination.config_details.endpoint_details.endpoint.address.port #=> Integer
resp.dataflow_list[0].destination.config_details.endpoint_details.endpoint.mtu #=> Integer
resp.dataflow_list[0].destination.config_details.endpoint_details.endpoint.name #=> String
resp.dataflow_list[0].destination.config_details.endpoint_details.endpoint.status #=> String, one of "created", "creating", "deleted", "deleting", "failed"
resp.dataflow_list[0].destination.config_details.endpoint_details.security_details.role_arn #=> String
resp.dataflow_list[0].destination.config_details.endpoint_details.security_details.security_group_ids #=> Array
resp.dataflow_list[0].destination.config_details.endpoint_details.security_details.security_group_ids[0] #=> String
resp.dataflow_list[0].destination.config_details.endpoint_details.security_details.subnet_ids #=> Array
resp.dataflow_list[0].destination.config_details.endpoint_details.security_details.subnet_ids[0] #=> String
resp.dataflow_list[0].destination.config_id #=> String
resp.dataflow_list[0].destination.config_type #=> String, one of "antenna-downlink", "antenna-downlink-demod-decode", "antenna-uplink", "dataflow-endpoint", "tracking", "uplink-echo"
resp.dataflow_list[0].destination.dataflow_destination_region #=> String
resp.dataflow_list[0].error_message #=> String
resp.dataflow_list[0].source.config_details.antenna_demod_decode_details.output_node #=> String
resp.dataflow_list[0].source.config_details.endpoint_details.endpoint.address.name #=> String
resp.dataflow_list[0].source.config_details.endpoint_details.endpoint.address.port #=> Integer
resp.dataflow_list[0].source.config_details.endpoint_details.endpoint.mtu #=> Integer
resp.dataflow_list[0].source.config_details.endpoint_details.endpoint.name #=> String
resp.dataflow_list[0].source.config_details.endpoint_details.endpoint.status #=> String, one of "created", "creating", "deleted", "deleting", "failed"
resp.dataflow_list[0].source.config_details.endpoint_details.security_details.role_arn #=> String
resp.dataflow_list[0].source.config_details.endpoint_details.security_details.security_group_ids #=> Array
resp.dataflow_list[0].source.config_details.endpoint_details.security_details.security_group_ids[0] #=> String
resp.dataflow_list[0].source.config_details.endpoint_details.security_details.subnet_ids #=> Array
resp.dataflow_list[0].source.config_details.endpoint_details.security_details.subnet_ids[0] #=> String
resp.dataflow_list[0].source.config_id #=> String
resp.dataflow_list[0].source.config_type #=> String, one of "antenna-downlink", "antenna-downlink-demod-decode", "antenna-uplink", "dataflow-endpoint", "tracking", "uplink-echo"
resp.dataflow_list[0].source.dataflow_source_region #=> String
resp.end_time #=> Time
resp.error_message #=> String
resp.ground_station #=> String
resp.maximum_elevation.unit #=> String, one of "DEGREE_ANGLE", "RADIAN"
resp.maximum_elevation.value #=> Float
resp.mission_profile_arn #=> String
resp.post_pass_end_time #=> Time
resp.pre_pass_start_time #=> Time
resp.region #=> String
resp.satellite_arn #=> String
resp.start_time #=> Time
resp.tags #=> Hash
resp.tags["String"] #=> String

Options Hash (options):

  • :contact_id (required, String) —

    UUID of a contact.

Returns:

See Also:

#get_config(options = {}) ⇒ Types::GetConfigResponse

Returns Config information.

Only one Config response can be returned.

Examples:

Request syntax with placeholder values


resp = client.get_config({
  config_id: "String", # required
  config_type: "antenna-downlink", # required, accepts antenna-downlink, antenna-downlink-demod-decode, antenna-uplink, dataflow-endpoint, tracking, uplink-echo
})

Response structure


resp.config_arn #=> String
resp.config_data.antenna_downlink_config.spectrum_config.bandwidth.units #=> String, one of "GHz", "MHz", "kHz"
resp.config_data.antenna_downlink_config.spectrum_config.bandwidth.value #=> Float
resp.config_data.antenna_downlink_config.spectrum_config.center_frequency.units #=> String, one of "GHz", "MHz", "kHz"
resp.config_data.antenna_downlink_config.spectrum_config.center_frequency.value #=> Float
resp.config_data.antenna_downlink_config.spectrum_config.polarization #=> String, one of "LEFT_HAND", "NONE", "RIGHT_HAND"
resp.config_data.antenna_downlink_demod_decode_config.decode_config.unvalidated_json #=> String
resp.config_data.antenna_downlink_demod_decode_config.demodulation_config.unvalidated_json #=> String
resp.config_data.antenna_downlink_demod_decode_config.spectrum_config.bandwidth.units #=> String, one of "GHz", "MHz", "kHz"
resp.config_data.antenna_downlink_demod_decode_config.spectrum_config.bandwidth.value #=> Float
resp.config_data.antenna_downlink_demod_decode_config.spectrum_config.center_frequency.units #=> String, one of "GHz", "MHz", "kHz"
resp.config_data.antenna_downlink_demod_decode_config.spectrum_config.center_frequency.value #=> Float
resp.config_data.antenna_downlink_demod_decode_config.spectrum_config.polarization #=> String, one of "LEFT_HAND", "NONE", "RIGHT_HAND"
resp.config_data.antenna_uplink_config.spectrum_config.center_frequency.units #=> String, one of "GHz", "MHz", "kHz"
resp.config_data.antenna_uplink_config.spectrum_config.center_frequency.value #=> Float
resp.config_data.antenna_uplink_config.spectrum_config.polarization #=> String, one of "LEFT_HAND", "NONE", "RIGHT_HAND"
resp.config_data.antenna_uplink_config.target_eirp.units #=> String, one of "dBW"
resp.config_data.antenna_uplink_config.target_eirp.value #=> Float
resp.config_data.antenna_uplink_config.transmit_disabled #=> true/false
resp.config_data.dataflow_endpoint_config.dataflow_endpoint_name #=> String
resp.config_data.dataflow_endpoint_config.dataflow_endpoint_region #=> String
resp.config_data.tracking_config.autotrack #=> String, one of "PREFERRED", "REMOVED", "REQUIRED"
resp.config_data.uplink_echo_config.antenna_uplink_config_arn #=> String
resp.config_data.uplink_echo_config.enabled #=> true/false
resp.config_id #=> String
resp.config_type #=> String, one of "antenna-downlink", "antenna-downlink-demod-decode", "antenna-uplink", "dataflow-endpoint", "tracking", "uplink-echo"
resp.name #=> String
resp.tags #=> Hash
resp.tags["String"] #=> String

Options Hash (options):

  • :config_id (required, String) —

    UUID of a Config.

  • :config_type (required, String) —

    Type of a Config.

Returns:

See Also:

#get_dataflow_endpoint_group(options = {}) ⇒ Types::GetDataflowEndpointGroupResponse

Returns the dataflow endpoint group.

Examples:

Request syntax with placeholder values


resp = client.get_dataflow_endpoint_group({
  dataflow_endpoint_group_id: "String", # required
})

Response structure


resp.dataflow_endpoint_group_arn #=> String
resp.dataflow_endpoint_group_id #=> String
resp.endpoints_details #=> Array
resp.endpoints_details[0].endpoint.address.name #=> String
resp.endpoints_details[0].endpoint.address.port #=> Integer
resp.endpoints_details[0].endpoint.mtu #=> Integer
resp.endpoints_details[0].endpoint.name #=> String
resp.endpoints_details[0].endpoint.status #=> String, one of "created", "creating", "deleted", "deleting", "failed"
resp.endpoints_details[0].security_details.role_arn #=> String
resp.endpoints_details[0].security_details.security_group_ids #=> Array
resp.endpoints_details[0].security_details.security_group_ids[0] #=> String
resp.endpoints_details[0].security_details.subnet_ids #=> Array
resp.endpoints_details[0].security_details.subnet_ids[0] #=> String
resp.tags #=> Hash
resp.tags["String"] #=> String

Options Hash (options):

  • :dataflow_endpoint_group_id (required, String) —

    UUID of a dataflow endpoint group.

Returns:

See Also:

#get_minute_usage(options = {}) ⇒ Types::GetMinuteUsageResponse

Returns the number of minutes used by account.

Examples:

Request syntax with placeholder values


resp = client.get_minute_usage({
  month: 1, # required
  year: 1, # required
})

Response structure


resp.estimated_minutes_remaining #=> Integer
resp.is_reserved_minutes_customer #=> true/false
resp.total_reserved_minute_allocation #=> Integer
resp.total_scheduled_minutes #=> Integer
resp.upcoming_minutes_scheduled #=> Integer

Options Hash (options):

  • :month (required, Integer) —

    The month being requested, with a value of 1-12.

  • :year (required, Integer) —

    The year being requested, in the format of YYYY.

Returns:

See Also:

#get_mission_profile(options = {}) ⇒ Types::GetMissionProfileResponse

Returns a mission profile.

Examples:

Request syntax with placeholder values


resp = client.get_mission_profile({
  mission_profile_id: "String", # required
})

Response structure


resp.contact_post_pass_duration_seconds #=> Integer
resp.contact_pre_pass_duration_seconds #=> Integer
resp.dataflow_edges #=> Array
resp.dataflow_edges[0] #=> Array
resp.dataflow_edges[0][0] #=> String
resp.minimum_viable_contact_duration_seconds #=> Integer
resp.mission_profile_arn #=> String
resp.mission_profile_id #=> String
resp.name #=> String
resp.region #=> String
resp.tags #=> Hash
resp.tags["String"] #=> String
resp.tracking_config_arn #=> String

Options Hash (options):

  • :mission_profile_id (required, String) —

    UUID of a mission profile.

Returns:

See Also:

#get_satellite(options = {}) ⇒ Types::GetSatelliteResponse

Returns a satellite.

Examples:

Request syntax with placeholder values


resp = client.get_satellite({
  satellite_id: "String", # required
})

Response structure


resp.ground_stations #=> Array
resp.ground_stations[0] #=> String
resp.norad_satellite_id #=> Integer
resp.satellite_arn #=> String
resp.satellite_id #=> String

Options Hash (options):

  • :satellite_id (required, String) —

    UUID of a satellite.

Returns:

See Also:

#list_configs(options = {}) ⇒ Types::ListConfigsResponse

Returns a list of Config objects.

Examples:

Request syntax with placeholder values


resp = client.list_configs({
  max_results: 1,
  next_token: "String",
})

Response structure


resp.config_list #=> Array
resp.config_list[0].config_arn #=> String
resp.config_list[0].config_id #=> String
resp.config_list[0].config_type #=> String, one of "antenna-downlink", "antenna-downlink-demod-decode", "antenna-uplink", "dataflow-endpoint", "tracking", "uplink-echo"
resp.config_list[0].name #=> String
resp.next_token #=> String

Options Hash (options):

  • :max_results (Integer) —

    Maximum number of Configs returned.

  • :next_token (String) —

    Next token returned in the request of a previous ListConfigs call. Used to get the next page of results.

Returns:

See Also:

#list_contacts(options = {}) ⇒ Types::ListContactsResponse

Returns a list of contacts.

If statusList contains AVAILABLE, the request must include groundStation, missionprofileArn, and satelliteArn.

Examples:

Request syntax with placeholder values


resp = client.list_contacts({
  end_time: Time.now, # required
  ground_station: "String",
  max_results: 1,
  mission_profile_arn: "MissionProfileArn",
  next_token: "String",
  satellite_arn: "satelliteArn",
  start_time: Time.now, # required
  status_list: ["AVAILABLE"], # required, accepts AVAILABLE, AWS_CANCELLED, AWS_FAILED, CANCELLED, CANCELLING, COMPLETED, FAILED, FAILED_TO_SCHEDULE, PASS, POSTPASS, PREPASS, SCHEDULED, SCHEDULING
})

Response structure


resp.contact_list #=> Array
resp.contact_list[0].contact_id #=> String
resp.contact_list[0].contact_status #=> String, one of "AVAILABLE", "AWS_CANCELLED", "AWS_FAILED", "CANCELLED", "CANCELLING", "COMPLETED", "FAILED", "FAILED_TO_SCHEDULE", "PASS", "POSTPASS", "PREPASS", "SCHEDULED", "SCHEDULING"
resp.contact_list[0].end_time #=> Time
resp.contact_list[0].error_message #=> String
resp.contact_list[0].ground_station #=> String
resp.contact_list[0].maximum_elevation.unit #=> String, one of "DEGREE_ANGLE", "RADIAN"
resp.contact_list[0].maximum_elevation.value #=> Float
resp.contact_list[0].mission_profile_arn #=> String
resp.contact_list[0].post_pass_end_time #=> Time
resp.contact_list[0].pre_pass_start_time #=> Time
resp.contact_list[0].region #=> String
resp.contact_list[0].satellite_arn #=> String
resp.contact_list[0].start_time #=> Time
resp.contact_list[0].tags #=> Hash
resp.contact_list[0].tags["String"] #=> String
resp.next_token #=> String

Options Hash (options):

  • :end_time (required, Time) —

    End time of a contact.

  • :ground_station (String) —

    Name of a ground station.

  • :max_results (Integer) —

    Maximum number of contacts returned.

  • :mission_profile_arn (String) —

    ARN of a mission profile.

  • :next_token (String) —

    Next token returned in the request of a previous ListContacts call. Used to get the next page of results.

  • :satellite_arn (String) —

    ARN of a satellite.

  • :start_time (required, Time) —

    Start time of a contact.

  • :status_list (required, Array<String>) —

    Status of a contact reservation.

Returns:

See Also:

#list_dataflow_endpoint_groups(options = {}) ⇒ Types::ListDataflowEndpointGroupsResponse

Returns a list of DataflowEndpoint groups.

Examples:

Request syntax with placeholder values


resp = client.list_dataflow_endpoint_groups({
  max_results: 1,
  next_token: "String",
})

Response structure


resp.dataflow_endpoint_group_list #=> Array
resp.dataflow_endpoint_group_list[0].dataflow_endpoint_group_arn #=> String
resp.dataflow_endpoint_group_list[0].dataflow_endpoint_group_id #=> String
resp.next_token #=> String

Options Hash (options):

  • :max_results (Integer) —

    Maximum number of dataflow endpoint groups returned.

  • :next_token (String) —

    Next token returned in the request of a previous ListDataflowEndpointGroups call. Used to get the next page of results.

Returns:

See Also:

#list_ground_stations(options = {}) ⇒ Types::ListGroundStationsResponse

Returns a list of ground stations.

Examples:

Request syntax with placeholder values


resp = client.list_ground_stations({
  max_results: 1,
  next_token: "String",
  satellite_id: "String",
})

Response structure


resp.ground_station_list #=> Array
resp.ground_station_list[0].ground_station_id #=> String
resp.ground_station_list[0].ground_station_name #=> String
resp.ground_station_list[0].region #=> String
resp.next_token #=> String

Options Hash (options):

  • :max_results (Integer) —

    Maximum number of ground stations returned.

  • :next_token (String) —

    Next token that can be supplied in the next call to get the next page of ground stations.

  • :satellite_id (String) —

    Satellite ID to retrieve on-boarded ground stations.

Returns:

See Also:

#list_mission_profiles(options = {}) ⇒ Types::ListMissionProfilesResponse

Returns a list of mission profiles.

Examples:

Request syntax with placeholder values


resp = client.list_mission_profiles({
  max_results: 1,
  next_token: "String",
})

Response structure


resp.mission_profile_list #=> Array
resp.mission_profile_list[0].mission_profile_arn #=> String
resp.mission_profile_list[0].mission_profile_id #=> String
resp.mission_profile_list[0].name #=> String
resp.mission_profile_list[0].region #=> String
resp.next_token #=> String

Options Hash (options):

  • :max_results (Integer) —

    Maximum number of mission profiles returned.

  • :next_token (String) —

    Next token returned in the request of a previous ListMissionProfiles call. Used to get the next page of results.

Returns:

See Also:

#list_satellites(options = {}) ⇒ Types::ListSatellitesResponse

Returns a list of satellites.

Examples:

Request syntax with placeholder values


resp = client.list_satellites({
  max_results: 1,
  next_token: "String",
})

Response structure


resp.next_token #=> String
resp.satellites #=> Array
resp.satellites[0].ground_stations #=> Array
resp.satellites[0].ground_stations[0] #=> String
resp.satellites[0].norad_satellite_id #=> Integer
resp.satellites[0].satellite_arn #=> String
resp.satellites[0].satellite_id #=> String

Options Hash (options):

  • :max_results (Integer) —

    Maximum number of satellites returned.

  • :next_token (String) —

    Next token that can be supplied in the next call to get the next page of satellites.

Returns:

See Also:

#list_tags_for_resource(options = {}) ⇒ Types::ListTagsForResourceResponse

Returns a list of tags for a specified resource.

Examples:

Request syntax with placeholder values


resp = client.list_tags_for_resource({
  resource_arn: "String", # required
})

Response structure


resp.tags #=> Hash
resp.tags["String"] #=> String

Options Hash (options):

  • :resource_arn (required, String) —

    ARN of a resource.

Returns:

See Also:

#reserve_contact(options = {}) ⇒ Types::ContactIdResponse

Reserves a contact using specified parameters.

Examples:

Request syntax with placeholder values


resp = client.reserve_contact({
  end_time: Time.now, # required
  ground_station: "String", # required
  mission_profile_arn: "MissionProfileArn", # required
  satellite_arn: "satelliteArn", # required
  start_time: Time.now, # required
  tags: {
    "String" => "String",
  },
})

Response structure


resp.contact_id #=> String

Options Hash (options):

  • :end_time (required, Time) —

    End time of a contact.

  • :ground_station (required, String) —

    Name of a ground station.

  • :mission_profile_arn (required, String) —

    ARN of a mission profile.

  • :satellite_arn (required, String) —

    ARN of a satellite

  • :start_time (required, Time) —

    Start time of a contact.

  • :tags (Hash<String,String>) —

    Tags assigned to a contact.

Returns:

See Also:

#tag_resource(options = {}) ⇒ Struct

Assigns a tag to a resource.

Examples:

Request syntax with placeholder values


resp = client.tag_resource({
  resource_arn: "String", # required
  tags: { # required
    "String" => "String",
  },
})

Options Hash (options):

  • :resource_arn (required, String) —

    ARN of a resource tag.

  • :tags (required, Hash<String,String>) —

    Tags assigned to a resource.

Returns:

  • (Struct) —

    Returns an empty response.

See Also:

#untag_resource(options = {}) ⇒ Struct

Deassigns a resource tag.

Examples:

Request syntax with placeholder values


resp = client.untag_resource({
  resource_arn: "String", # required
  tag_keys: ["String"], # required
})

Options Hash (options):

  • :resource_arn (required, String) —

    ARN of a resource.

  • :tag_keys (required, Array<String>) —

    Keys of a resource tag.

Returns:

  • (Struct) —

    Returns an empty response.

See Also:

#update_config(options = {}) ⇒ Types::ConfigIdResponse

Updates the Config used when scheduling contacts.

Updating a Config will not update the execution parameters for existing future contacts scheduled with this Config.

Examples:

Request syntax with placeholder values


resp = client.update_config({
  config_data: { # required
    antenna_downlink_config: {
      spectrum_config: { # required
        bandwidth: { # required
          units: "GHz", # required, accepts GHz, MHz, kHz
          value: 1.0, # required
        },
        center_frequency: { # required
          units: "GHz", # required, accepts GHz, MHz, kHz
          value: 1.0, # required
        },
        polarization: "LEFT_HAND", # accepts LEFT_HAND, NONE, RIGHT_HAND
      },
    },
    antenna_downlink_demod_decode_config: {
      decode_config: { # required
        unvalidated_json: "JsonString", # required
      },
      demodulation_config: { # required
        unvalidated_json: "JsonString", # required
      },
      spectrum_config: { # required
        bandwidth: { # required
          units: "GHz", # required, accepts GHz, MHz, kHz
          value: 1.0, # required
        },
        center_frequency: { # required
          units: "GHz", # required, accepts GHz, MHz, kHz
          value: 1.0, # required
        },
        polarization: "LEFT_HAND", # accepts LEFT_HAND, NONE, RIGHT_HAND
      },
    },
    antenna_uplink_config: {
      spectrum_config: { # required
        center_frequency: { # required
          units: "GHz", # required, accepts GHz, MHz, kHz
          value: 1.0, # required
        },
        polarization: "LEFT_HAND", # accepts LEFT_HAND, NONE, RIGHT_HAND
      },
      target_eirp: { # required
        units: "dBW", # required, accepts dBW
        value: 1.0, # required
      },
      transmit_disabled: false,
    },
    dataflow_endpoint_config: {
      dataflow_endpoint_name: "String", # required
      dataflow_endpoint_region: "String",
    },
    tracking_config: {
      autotrack: "PREFERRED", # required, accepts PREFERRED, REMOVED, REQUIRED
    },
    uplink_echo_config: {
      antenna_uplink_config_arn: "ConfigArn", # required
      enabled: false, # required
    },
  },
  config_id: "String", # required
  config_type: "antenna-downlink", # required, accepts antenna-downlink, antenna-downlink-demod-decode, antenna-uplink, dataflow-endpoint, tracking, uplink-echo
  name: "SafeName", # required
})

Response structure


resp.config_arn #=> String
resp.config_id #=> String
resp.config_type #=> String, one of "antenna-downlink", "antenna-downlink-demod-decode", "antenna-uplink", "dataflow-endpoint", "tracking", "uplink-echo"

Options Hash (options):

  • :config_data (required, Types::ConfigTypeData) —

    Parameters of a Config.

  • :config_id (required, String) —

    UUID of a Config.

  • :config_type (required, String) —

    Type of a Config.

  • :name (required, String) —

    Name of a Config.

Returns:

See Also:

#update_mission_profile(options = {}) ⇒ Types::MissionProfileIdResponse

Updates a mission profile.

Updating a mission profile will not update the execution parameters for existing future contacts.

Examples:

Request syntax with placeholder values


resp = client.update_mission_profile({
  contact_post_pass_duration_seconds: 1,
  contact_pre_pass_duration_seconds: 1,
  dataflow_edges: [
    ["ConfigArn"],
  ],
  minimum_viable_contact_duration_seconds: 1,
  mission_profile_id: "String", # required
  name: "SafeName",
  tracking_config_arn: "ConfigArn",
})

Response structure


resp.mission_profile_id #=> String

Options Hash (options):

  • :contact_post_pass_duration_seconds (Integer) —

    Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished.

  • :contact_pre_pass_duration_seconds (Integer) —

    Amount of time after a contact ends that you’d like to receive a CloudWatch event indicating the pass has finished.

  • :dataflow_edges (Array<Array<String>>) —

    A list of lists of ARNs. Each list of ARNs is an edge, with a from Config and a to Config.

  • :minimum_viable_contact_duration_seconds (Integer) —

    Smallest amount of time in seconds that you’d like to see for an available contact. AWS Ground Station will not present you with contacts shorter than this duration.

  • :mission_profile_id (required, String) —

    UUID of a mission profile.

  • :name (String) —

    Name of a mission profile.

  • :tracking_config_arn (String) —

    ARN of a tracking Config.

Returns:

See Also:

#wait_until(waiter_name, params = {}) {|waiter| ... } ⇒ Boolean

Waiters polls an API operation until a resource enters a desired state.

Basic Usage

Waiters will poll until they are succesful, they fail by entering a terminal state, or until a maximum number of attempts are made.

# polls in a loop, sleeping between attempts client.waiter_until(waiter_name, params)

Configuration

You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. You configure waiters by passing a block to #wait_until:

# poll for ~25 seconds
client.wait_until(...) do |w|
  w.max_attempts = 5
  w.delay = 5
end

Callbacks

You can be notified before each polling attempt and before each delay. If you throw :success or :failure from these callbacks, it will terminate the waiter.

started_at = Time.now
client.wait_until(...) do |w|

  # disable max attempts
  w.max_attempts = nil

  # poll for 1 hour, instead of a number of attempts
  w.before_wait do |attempts, response|
    throw :failure if Time.now - started_at > 3600
  end

end

Handling Errors

When a waiter is successful, it returns true. When a waiter fails, it raises an error. All errors raised extend from Waiters::Errors::WaiterFailed.

begin
  client.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
  # resource did not enter the desired state in time
end

Parameters:

  • waiter_name (Symbol) —

    The name of the waiter. See #waiter_names for a full list of supported waiters.

  • params (Hash) (defaults to: {}) —

    Additional request parameters. See the #waiter_names for a list of supported waiters and what request they call. The called request determines the list of accepted parameters.

Yield Parameters:

Returns:

  • (Boolean) —

    Returns true if the waiter was successful.

Raises:

  • (Errors::FailureStateError) —

    Raised when the waiter terminates because the waiter has entered a state that it will not transition out of, preventing success.

  • (Errors::TooManyAttemptsError) —

    Raised when the configured maximum number of attempts have been made, and the waiter is not yet successful.

  • (Errors::UnexpectedError) —

    Raised when an error is encounted while polling for a resource that is not expected.

  • (Errors::NoSuchWaiterError) —

    Raised when you request to wait for an unknown state.

#waiter_names ⇒ Array<Symbol>

Returns the list of supported waiters. The following table lists the supported waiters and the client method they call:

Waiter NameClient MethodDefault Delay:Default Max Attempts:

Returns:

  • (Array<Symbol>) —

    the list of supported waiters.