Skip to content

update_mission_profile

update_mission_profile(
    mission_profile_id: Uuid,
    *,
    config_overrides: Optional[GroundStationClientConfig] = None,
    name: Optional[SafeName] = None,
    contact_pre_pass_duration_seconds: Optional[DurationInSeconds] = None,
    contact_post_pass_duration_seconds: Optional[DurationInSeconds] = None,
    minimum_viable_contact_duration_seconds: Optional[PositiveDurationInSeconds] = None,
    dataflow_edges: Optional[DataflowEdgeList] = None,
    tracking_config_arn: Optional[ConfigArn] = None,
    telemetry_sink_config_arn: Optional[ConfigArn] = None,
    streams_kms_key: Optional[KmsKey] = None,
    streams_kms_role: Optional[RoleArn] = None,
) -> MissionProfileIdResponse

Updates a mission profile.

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

Parameters:

  • mission_profile_id (Uuid) –

    UUID of a mission profile.

  • name (Optional[SafeName], default: None ) –

    Name of a mission profile.

  • contact_pre_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.

  • 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 (Optional[PositiveDurationInSeconds], default: None ) –

    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 (Optional[DataflowEdgeList], default: None ) –

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

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

    ARN of a tracking Config.

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

    ARN of a telemetry sink Config.

  • 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/ground_station.py
def update_mission_profile(
    self,
    mission_profile_id: "capo_groundstation.types.uuid.Uuid",
    *,
    config_overrides: Optional[GroundStationClientConfig] = None,
    name: Optional["capo_groundstation.types.safe_name.SafeName"] = 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,
    minimum_viable_contact_duration_seconds: Optional[
        "capo_groundstation.types.positive_duration_in_seconds.PositiveDurationInSeconds"
    ] = None,
    dataflow_edges: Optional[
        "capo_groundstation.types.dataflow_edge_list.DataflowEdgeList"
    ] = None,
    tracking_config_arn: Optional[
        "capo_groundstation.types.config_arn.ConfigArn"
    ] = None,
    telemetry_sink_config_arn: Optional[
        "capo_groundstation.types.config_arn.ConfigArn"
    ] = 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>Updates a mission profile.</p> <p>Updating a mission profile will not update the execution parameters for existing future contacts.</p>

    Args:
        mission_profile_id: <p>UUID of a mission profile.</p>
        name: <p>Name of a mission profile.</p>
        contact_pre_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>
        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>
        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.
    """

    def _handler(
        req: "OperationRequest[capo_groundstation.types.update_mission_profile_request.UpdateMissionProfileRequest]",
    ) -> OperationResponse[
        "capo_groundstation.types.mission_profile_id_response.MissionProfileIdResponse"
    ]:
        import capo_groundstation._operations.ground_station.update_mission_profile

        output, http_response = (
            capo_groundstation._operations.ground_station.update_mission_profile.update_mission_profile(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateMissionProfile")
    )
    input_: capo_groundstation.types.update_mission_profile_request.UpdateMissionProfileRequest = {
        "mission_profile_id": mission_profile_id
    }
    if name is not None:
        input_["name"] = name
    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 minimum_viable_contact_duration_seconds is not None:
        input_["minimum_viable_contact_duration_seconds"] = (
            minimum_viable_contact_duration_seconds
        )
    if dataflow_edges is not None:
        input_["dataflow_edges"] = dataflow_edges
    if tracking_config_arn is not None:
        input_["tracking_config_arn"] = tracking_config_arn
    if telemetry_sink_config_arn is not None:
        input_["telemetry_sink_config_arn"] = telemetry_sink_config_arn
    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 = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output