runway.core.providers.aws package

Runway AWS objects.

class runway.core.providers.aws.AccountDetails[source]

Bases: object

AWS account details.

__init__(context: CfnginContext | RunwayContext) None[source]

Instantiate class.

Parameters:

context – Runway context object.

property aliases: list[str]

Get the aliases of the AWS account.

property id: str

Get the ID of the AWS account.

class runway.core.providers.aws.AssumeRole[source]

Bases: AbstractContextManager[AssumeRole]

Context manager for assuming an AWS role.

__enter__() Self[source]

Enter the context manager.

__exit__(exc_type: type[BaseException] | None, exc_value: BaseException | None, traceback: TracebackType | None) None[source]

Exit the context manager.

__init__(context: runway.context.RunwayContext, role_arn: str | None = None, duration_seconds: int | None = None, revert_on_exit: bool = True, session_name: str | None = None) None[source]

Instantiate class.

Parameters:
  • context – Runway context object.

  • role_arn – ARN of role to be assumed.

  • duration_seconds – Seconds that the assumed role’s credentials will be valid for. (default: 3600)

  • revert_on_exit – Whether credentials in the environment will be reverted upon exiting the context manager.

  • session_name – Name to use for the assumed role session. (default: runway)

assume() None[source]

Perform role assumption.

restore_existing_iam_env_vars() None[source]

Restore backed up IAM environment variables.

save_existing_iam_env_vars() None[source]

Backup IAM environment variables for later restoration.

pydantic model runway.core.providers.aws.BaseResponse[source]

Bases: BaseModel

Analyse the response from AWS S3 HeadBucket API response.

Keyword Arguments:
  • Error – Information about a service or networking error.

  • ResponseMetadata – Information about the request.

Show JSON schema
{
   "title": "BaseResponse",
   "description": "Analyse the response from AWS S3 HeadBucket API response.\n\nKeyword Args:\n    Error: Information about a service or networking error.\n    ResponseMetadata: Information about the request.",
   "type": "object",
   "properties": {
      "Error": {
         "$ref": "#/$defs/ResponseError",
         "default": {
            "Code": "",
            "Message": ""
         }
      },
      "ResponseMetadata": {
         "$ref": "#/$defs/ResponseMetadata",
         "default": {
            "HostId": "",
            "HTTPHeaders": {},
            "HTTPStatusCode": 200,
            "RequestId": "",
            "RetryAttempts": 0
         }
      }
   },
   "$defs": {
      "ResponseError": {
         "description": "Analyse the response from AWS S3 HeadBucket API response.\n\nKeyword Args:\n    Code: A unique short code representing the error that was emitted.\n    Message: A longer human readable error message.",
         "properties": {
            "Code": {
               "default": "",
               "title": "Code",
               "type": "string"
            },
            "Message": {
               "default": "",
               "title": "Message",
               "type": "string"
            }
         },
         "title": "ResponseError",
         "type": "object"
      },
      "ResponseMetadata": {
         "description": "Analyse the response from AWS S3 HeadBucket API response.\n\nKeyword Args:\n    HostId: Host ID data.\n    HTTPHeaders: A map of response header keys and their respective values.\n    HTTPStatusCode: The HTTP status code of the response (e.g., 200, 404).\n    RequestId: The unique request ID associated with the response.\n        Log this value when debugging requests for AWS support.\n    RetryAttempts: The number of retries that were attempted before the\n        request was completed.",
         "properties": {
            "HostId": {
               "default": "",
               "title": "Hostid",
               "type": "string"
            },
            "HTTPHeaders": {
               "additionalProperties": true,
               "default": {},
               "title": "Httpheaders",
               "type": "object"
            },
            "HTTPStatusCode": {
               "default": 200,
               "title": "Httpstatuscode",
               "type": "integer"
            },
            "RequestId": {
               "default": "",
               "title": "Requestid",
               "type": "string"
            },
            "RetryAttempts": {
               "default": 0,
               "title": "Retryattempts",
               "type": "integer"
            }
         },
         "title": "ResponseMetadata",
         "type": "object"
      }
   }
}

field error: ResponseError = ResponseError(code='', message='') (alias 'Error')

Information about a service or networking error.

field metadata: ResponseMetadata = ResponseMetadata(host_id='', https_headers={}, http_status_code=200, request_id='', retry_attempts=0) (alias 'ResponseMetadata')

Information about the request.

pydantic model runway.core.providers.aws.ResponseError[source]

Bases: BaseModel

Analyse the response from AWS S3 HeadBucket API response.

Keyword Arguments:
  • Code – A unique short code representing the error that was emitted.

  • Message – A longer human readable error message.

Show JSON schema
{
   "title": "ResponseError",
   "description": "Analyse the response from AWS S3 HeadBucket API response.\n\nKeyword Args:\n    Code: A unique short code representing the error that was emitted.\n    Message: A longer human readable error message.",
   "type": "object",
   "properties": {
      "Code": {
         "default": "",
         "title": "Code",
         "type": "string"
      },
      "Message": {
         "default": "",
         "title": "Message",
         "type": "string"
      }
   }
}

field code: str = '' (alias 'Code')

A unique short code representing the error that was emitted.

field message: str = '' (alias 'Message')

A longer human readable error message.

pydantic model runway.core.providers.aws.ResponseMetadata[source]

Bases: BaseModel

Analyse the response from AWS S3 HeadBucket API response.

Keyword Arguments:
  • HostId – Host ID data.

  • HTTPHeaders – A map of response header keys and their respective values.

  • HTTPStatusCode – The HTTP status code of the response (e.g., 200, 404).

  • RequestId – The unique request ID associated with the response. Log this value when debugging requests for AWS support.

  • RetryAttempts – The number of retries that were attempted before the request was completed.

Show JSON schema
{
   "title": "ResponseMetadata",
   "description": "Analyse the response from AWS S3 HeadBucket API response.\n\nKeyword Args:\n    HostId: Host ID data.\n    HTTPHeaders: A map of response header keys and their respective values.\n    HTTPStatusCode: The HTTP status code of the response (e.g., 200, 404).\n    RequestId: The unique request ID associated with the response.\n        Log this value when debugging requests for AWS support.\n    RetryAttempts: The number of retries that were attempted before the\n        request was completed.",
   "type": "object",
   "properties": {
      "HostId": {
         "default": "",
         "title": "Hostid",
         "type": "string"
      },
      "HTTPHeaders": {
         "additionalProperties": true,
         "default": {},
         "title": "Httpheaders",
         "type": "object"
      },
      "HTTPStatusCode": {
         "default": 200,
         "title": "Httpstatuscode",
         "type": "integer"
      },
      "RequestId": {
         "default": "",
         "title": "Requestid",
         "type": "string"
      },
      "RetryAttempts": {
         "default": 0,
         "title": "Retryattempts",
         "type": "integer"
      }
   }
}

property forbidden: bool

Whether the response returned 403 (forbidden).

field host_id: str = '' (alias 'HostId')

Host ID data.

field http_status_code: int = 200 (alias 'HTTPStatusCode')

he HTTP status code of the response (e.g., 200, 404).

field https_headers: dict[str, Any] = {} (alias 'HTTPHeaders')

A map of response header keys and their respective values.

property not_found: bool

Whether the response returned 404 (Not Found).

field request_id: str = '' (alias 'RequestId')

The unique request ID associated with the response. Log this value when debugging requests for AWS support.

field retry_attempts: int = 0 (alias 'RetryAttempts')

The number of retries that were attempted before the request was completed.

Subpackages

Submodules