Skip to content

create_mission_profile async

create_mission_profile(
    name: SafeName,
    minimum_viable_contact_duration_seconds: PositiveDurationInSeconds,
    dataflow_edges: DataflowEdgeList,
    tracking_config_arn: ConfigArn,
    *,
    config_overrides: Optional[AsyncGroundStationClientConfig] = None,
    contact_pre_pass_duration_seconds: Optional[DurationInSeconds] = None,
    contact_post_pass_duration_seconds: Optional[DurationInSeconds] = None,
    telemetry_sink_config_arn: Optional[ConfigArn] = None,
    tags: Optional[TagsMap] = None,
    streams_kms_key: Optional[KmsKey] = None,
    streams_kms_role: Optional[RoleArn] = None,
) -> 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.

Parameters:

  • name (SafeName) –

    Name of a mission profile.

  • contact_pre_pass_duration_seconds (Optional[DurationInSeconds], default: None ) –

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

  • contact_post_pass_duration_seconds (Optional[DurationInSeconds], default: None ) –

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

  • minimum_viable_contact_duration_seconds (PositiveDurationInSeconds) –

    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.

  • dataflow_edges (DataflowEdgeList) –

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

  • tracking_config_arn (ConfigArn) –

    ARN of a tracking Config.

  • telemetry_sink_config_arn (Optional[ConfigArn], default: None ) –

    ARN of a telemetry sink Config.

  • tags (Optional[TagsMap], default: None ) –

    Tags assigned to a mission profile.

  • streams_kms_key (Optional[KmsKey], default: None ) –

    KMS key to use for encrypting streams.

  • streams_kms_role (Optional[RoleArn], default: None ) –

    Role to use for encrypting streams with KMS key.

Raises:

Source code in docs_src/capo_groundstation/_services/async_ground_station.py
async def create_mission_profile(
    self,
    name: "capo_groundstation.types.safe_name.SafeName",
    minimum_viable_contact_duration_seconds: "capo_groundstation.types.positive_duration_in_seconds.PositiveDurationInSeconds",
    dataflow_edges: "capo_groundstation.types.dataflow_edge_list.DataflowEdgeList",
    tracking_config_arn: "capo_groundstation.types.config_arn.ConfigArn",
    *,
    config_overrides: Optional[AsyncGroundStationClientConfig] = None,
    contact_pre_pass_duration_seconds: Optional[
        "capo_groundstation.types.duration_in_seconds.DurationInSeconds"
    ] = None,
    contact_post_pass_duration_seconds: Optional[
        "capo_groundstation.types.duration_in_seconds.DurationInSeconds"
    ] = None,
    telemetry_sink_config_arn: Optional[
        "capo_groundstation.types.config_arn.ConfigArn"
    ] = None,
    tags: Optional["capo_groundstation.types.tags_map.TagsMap"] = None,
    streams_kms_key: Optional["capo_groundstation.types.kms_key.KmsKey"] = None,
    streams_kms_role: Optional["capo_groundstation.types.role_arn.RoleArn"] = None,
) -> (
    "capo_groundstation.types.mission_profile_id_response.MissionProfileIdResponse"
):
    """<p>Creates a mission profile.</p> <p> <code>dataflowEdges</code> is a list of lists of strings. Each lower level list of strings has two elements: a <i>from</i> ARN and a <i>to</i> ARN.</p>

    Args:
        name: <p>Name of a mission profile.</p>
        contact_pre_pass_duration_seconds: <p>Amount of time prior to contact start you'd like to receive a Ground Station Contact State Change event indicating an upcoming pass.</p>
        contact_post_pass_duration_seconds: <p>Amount of time after a contact ends that you'd like to receive a Ground Station Contact State Change event indicating the pass has finished.</p>
        minimum_viable_contact_duration_seconds: <p>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.</p>
        dataflow_edges: <p>A list of lists of ARNs. Each list of ARNs is an edge, with a <i>from</i> <code> Config</code> and a <i>to</i> <code>Config</code>.</p>
        tracking_config_arn: <p>ARN of a tracking <code>Config</code>.</p>
        telemetry_sink_config_arn: <p>ARN of a telemetry sink <code>Config</code>.</p>
        tags: <p>Tags assigned to a mission profile.</p>
        streams_kms_key: <p>KMS key to use for encrypting streams.</p>
        streams_kms_role: <p>Role to use for encrypting streams with KMS key.</p>

    Raises:
        capo_groundstation.errors.dependency_exception.DependencyException: <p>Dependency encountered an error.</p>
        capo_groundstation.errors.invalid_parameter_exception.InvalidParameterException: <p>One or more parameters are not valid.</p>
        capo_groundstation.errors.resource_not_found_exception.ResourceNotFoundException: <p>Resource was not found.</p>
        capo_groundstation.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_groundstation.types.create_mission_profile_request.CreateMissionProfileRequest]",
    ) -> AsyncOperationResponse[
        "capo_groundstation.types.mission_profile_id_response.MissionProfileIdResponse"
    ]:
        import capo_groundstation._operations.ground_station.create_mission_profile

        (
            output,
            http_response,
        ) = await capo_groundstation._operations.ground_station.create_mission_profile.async_create_mission_profile(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateMissionProfile")
    )
    input_: capo_groundstation.types.create_mission_profile_request.CreateMissionProfileRequest = {
        "name": name,
        "minimum_viable_contact_duration_seconds": minimum_viable_contact_duration_seconds,
        "dataflow_edges": dataflow_edges,
        "tracking_config_arn": tracking_config_arn,
    }
    if contact_pre_pass_duration_seconds is not None:
        input_["contact_pre_pass_duration_seconds"] = (
            contact_pre_pass_duration_seconds
        )
    if contact_post_pass_duration_seconds is not None:
        input_["contact_post_pass_duration_seconds"] = (
            contact_post_pass_duration_seconds
        )
    if telemetry_sink_config_arn is not None:
        input_["telemetry_sink_config_arn"] = telemetry_sink_config_arn
    if tags is not None:
        input_["tags"] = tags
    if streams_kms_key is not None:
        input_["streams_kms_key"] = streams_kms_key
    if streams_kms_role is not None:
        input_["streams_kms_role"] = streams_kms_role

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output