SsmSap

Client

class SsmSap.Client

A low-level client representing AWS Systems Manager for SAP (SsmSap)

This API reference provides descriptions, syntax, and other details about each of the actions and data types for AWS Systems Manager for SAP. The topic for each action shows the API request parameters and responses.

client = session.create_client('ssm-sap')

These are the available methods:

can_paginate(operation_name)

Check if an operation can be paginated.

Parameters
operation_name (string) -- The operation name. This is the same name as the method name on the client. For example, if the method name is create_foo, and you'd normally invoke the operation as client.create_foo(**kwargs), if the create_foo operation can be paginated, you can use the call client.get_paginator("create_foo").
Returns
True if the operation can be paginated, False otherwise.
close()

Closes underlying endpoint connections.

delete_resource_permission(**kwargs)

Removes permissions associated with the target database.

See also: AWS API Documentation

Request Syntax

response = client.delete_resource_permission(
    ActionType='RESTORE',
    SourceResourceArn='string',
    ResourceArn='string'
)
Parameters
  • ActionType (string) --
  • SourceResourceArn (string) --
  • ResourceArn (string) -- [REQUIRED]
Return type

dict

Returns

Response Syntax

{
    'Policy': 'string'
}

Response Structure

  • (dict) --
    • Policy (string) --

Exceptions

deregister_application(**kwargs)

Deregister an SAP application with AWS Systems Manager for SAP. This action does not affect the existing setup of your SAP workloads on Amazon EC2.

See also: AWS API Documentation

Request Syntax

response = client.deregister_application(
    ApplicationId='string'
)
Parameters
ApplicationId (string) -- [REQUIRED]
Return type
dict
Returns
Response Syntax
{}

Response Structure

  • (dict) --

Exceptions

get_application(**kwargs)

Gets an application registered with AWS Systems Manager for SAP. It also returns the components of the application.

See also: AWS API Documentation

Request Syntax

response = client.get_application(
    ApplicationId='string',
    ApplicationArn='string'
)
Parameters
  • ApplicationId (string) --
  • ApplicationArn (string) --
Return type

dict

Returns

Response Syntax

{
    'Application': {
        'Id': 'string',
        'Type': 'HANA',
        'Arn': 'string',
        'AppRegistryArn': 'string',
        'Status': 'ACTIVATED'|'STARTING'|'STOPPED'|'STOPPING'|'FAILED'|'REGISTERING'|'DELETING'|'UNKNOWN',
        'Components': [
            'string',
        ],
        'LastUpdated': datetime(2015, 1, 1),
        'StatusMessage': 'string'
    },
    'Tags': {
        'string': 'string'
    }
}

Response Structure

  • (dict) --
    • Application (dict) --
      • Id (string) --
      • Type (string) --
      • Arn (string) --
      • AppRegistryArn (string) --
      • Status (string) --
      • Components (list) --
        • (string) --
      • LastUpdated (datetime) --
      • StatusMessage (string) --
    • Tags (dict) --
      • (string) --
        • (string) --

Exceptions

get_component(**kwargs)

Gets the component of an application registered with AWS Systems Manager for SAP.

See also: AWS API Documentation

Request Syntax

response = client.get_component(
    ApplicationId='string',
    ComponentId='string'
)
Parameters
  • ApplicationId (string) -- [REQUIRED]
  • ComponentId (string) -- [REQUIRED]
Return type

dict

Returns

Response Syntax

{
    'Component': {
        'ComponentId': 'string',
        'ApplicationId': 'string',
        'ComponentType': 'HANA',
        'Status': 'ACTIVATED',
        'Databases': [
            'string',
        ],
        'Hosts': [
            {
                'HostName': 'string',
                'HostRole': 'LEADER'|'WORKER'|'STANDBY'|'UNKNOWN',
                'HostIp': 'string',
                'InstanceId': 'string'
            },
        ],
        'PrimaryHost': 'string',
        'LastUpdated': datetime(2015, 1, 1)
    }
}

Response Structure

  • (dict) --
    • Component (dict) --
      • ComponentId (string) --
      • ApplicationId (string) --
      • ComponentType (string) --
      • Status (string) --
      • Databases (list) --
        • (string) --
      • Hosts (list) --
        • (dict) --
          • HostName (string) --
          • HostRole (string) --
          • HostIp (string) --
          • InstanceId (string) --
      • PrimaryHost (string) --
      • LastUpdated (datetime) --

Exceptions

get_database(**kwargs)

Gets the SAP HANA database of an application registered with AWS Systems Manager for SAP.

See also: AWS API Documentation

Request Syntax

response = client.get_database(
    ApplicationId='string',
    ComponentId='string',
    DatabaseId='string',
    DatabaseArn='string'
)
Parameters
  • ApplicationId (string) --
  • ComponentId (string) --
  • DatabaseId (string) --
  • DatabaseArn (string) --
Return type

dict

Returns

Response Syntax

{
    'Database': {
        'ApplicationId': 'string',
        'ComponentId': 'string',
        'Credentials': [
            {
                'DatabaseName': 'string',
                'CredentialType': 'ADMIN',
                'SecretId': 'string'
            },
        ],
        'DatabaseId': 'string',
        'DatabaseName': 'string',
        'DatabaseType': 'SYSTEM'|'TENANT',
        'Arn': 'string',
        'Status': 'RUNNING'|'STARTING'|'STOPPED'|'WARNING'|'UNKNOWN',
        'PrimaryHost': 'string',
        'SQLPort': 123,
        'LastUpdated': datetime(2015, 1, 1)
    },
    'Tags': {
        'string': 'string'
    }
}

Response Structure

  • (dict) --
    • Database (dict) --
      • ApplicationId (string) --
      • ComponentId (string) --
      • Credentials (list) --
        • (dict) --
          • DatabaseName (string) --
          • CredentialType (string) --
          • SecretId (string) --
      • DatabaseId (string) --
      • DatabaseName (string) --
      • DatabaseType (string) --
      • Arn (string) --
      • Status (string) --
      • PrimaryHost (string) --
      • SQLPort (integer) --
      • LastUpdated (datetime) --
    • Tags (dict) --
      • (string) --
        • (string) --

Exceptions

get_operation(**kwargs)

Gets the details of an operation by specifying the operation ID.

See also: AWS API Documentation

Request Syntax

response = client.get_operation(
    OperationId='string'
)
Parameters
OperationId (string) -- [REQUIRED]
Return type
dict
Returns
Response Syntax
{
    'Operation': {
        'Id': 'string',
        'Type': 'string',
        'Status': 'INPROGRESS'|'SUCCESS'|'ERROR',
        'StatusMessage': 'string',
        'Properties': {
            'string': 'string'
        },
        'ResourceType': 'string',
        'ResourceId': 'string',
        'ResourceArn': 'string',
        'StartTime': datetime(2015, 1, 1),
        'EndTime': datetime(2015, 1, 1),
        'LastUpdatedTime': datetime(2015, 1, 1)
    }
}

Response Structure

  • (dict) --
    • Operation (dict) --
      • Id (string) --
      • Type (string) --
      • Status (string) --
      • StatusMessage (string) --
      • Properties (dict) --
        • (string) --
          • (string) --
      • ResourceType (string) --
      • ResourceId (string) --
      • ResourceArn (string) --
      • StartTime (datetime) --
      • EndTime (datetime) --
      • LastUpdatedTime (datetime) --

Exceptions

get_paginator(operation_name)

Create a paginator for an operation.

Parameters
operation_name (string) -- The operation name. This is the same name as the method name on the client. For example, if the method name is create_foo, and you'd normally invoke the operation as client.create_foo(**kwargs), if the create_foo operation can be paginated, you can use the call client.get_paginator("create_foo").
Raises OperationNotPageableError
Raised if the operation is not pageable. You can use the client.can_paginate method to check if an operation is pageable.
Return type
L{botocore.paginate.Paginator}
Returns
A paginator object.
get_resource_permission(**kwargs)

Gets permissions associated with the target database.

See also: AWS API Documentation

Request Syntax

response = client.get_resource_permission(
    ActionType='RESTORE',
    ResourceArn='string'
)
Parameters
  • ActionType (string) --
  • ResourceArn (string) -- [REQUIRED]
Return type

dict

Returns

Response Syntax

{
    'Policy': 'string'
}

Response Structure

  • (dict) --
    • Policy (string) --

Exceptions

get_waiter(waiter_name)

Returns an object that can wait for some condition.

Parameters
waiter_name (str) -- The name of the waiter to get. See the waiters section of the service docs for a list of available waiters.
Returns
The specified waiter object.
Return type
botocore.waiter.Waiter
list_applications(**kwargs)

Lists all the applications registered with AWS Systems Manager for SAP.

See also: AWS API Documentation

Request Syntax

response = client.list_applications(
    NextToken='string',
    MaxResults=123
)
Parameters
  • NextToken (string) --
  • MaxResults (integer) --
Return type

dict

Returns

Response Syntax

{
    'Applications': [
        {
            'Id': 'string',
            'Type': 'HANA',
            'Arn': 'string',
            'Tags': {
                'string': 'string'
            }
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --
    • Applications (list) --
      • (dict) --
        • Id (string) --
        • Type (string) --
        • Arn (string) --
        • Tags (dict) --
          • (string) --
            • (string) --
    • NextToken (string) --

Exceptions

list_components(**kwargs)

Lists all the components registered with AWS Systems Manager for SAP.

See also: AWS API Documentation

Request Syntax

response = client.list_components(
    ApplicationId='string',
    NextToken='string',
    MaxResults=123
)
Parameters
  • ApplicationId (string) --
  • NextToken (string) --
  • MaxResults (integer) --
Return type

dict

Returns

Response Syntax

{
    'Components': [
        {
            'ApplicationId': 'string',
            'ComponentId': 'string',
            'ComponentType': 'HANA',
            'Tags': {
                'string': 'string'
            }
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --
    • Components (list) --
      • (dict) --
        • ApplicationId (string) --
        • ComponentId (string) --
        • ComponentType (string) --
        • Tags (dict) --
          • (string) --
            • (string) --
    • NextToken (string) --

Exceptions

list_databases(**kwargs)

Lists the SAP HANA databases of an application registered with AWS Systems Manager for SAP.

See also: AWS API Documentation

Request Syntax

response = client.list_databases(
    ApplicationId='string',
    ComponentId='string',
    NextToken='string',
    MaxResults=123
)
Parameters
  • ApplicationId (string) --
  • ComponentId (string) --
  • NextToken (string) --
  • MaxResults (integer) --
Return type

dict

Returns

Response Syntax

{
    'Databases': [
        {
            'ApplicationId': 'string',
            'ComponentId': 'string',
            'DatabaseId': 'string',
            'DatabaseType': 'SYSTEM'|'TENANT',
            'Arn': 'string',
            'Tags': {
                'string': 'string'
            }
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --
    • Databases (list) --
      • (dict) --
        • ApplicationId (string) --
        • ComponentId (string) --
        • DatabaseId (string) --
        • DatabaseType (string) --
        • Arn (string) --
        • Tags (dict) --
          • (string) --
            • (string) --
    • NextToken (string) --

Exceptions

list_tags_for_resource(**kwargs)

Lists all tags on an SAP HANA application and/or database registered with AWS Systems Manager for SAP.

See also: AWS API Documentation

Request Syntax

response = client.list_tags_for_resource(
    resourceArn='string'
)
Parameters
resourceArn (string) -- [REQUIRED]
Return type
dict
Returns
Response Syntax
{
    'tags': {
        'string': 'string'
    }
}

Response Structure

  • (dict) --
    • tags (dict) --
      • (string) --
        • (string) --

Exceptions

put_resource_permission(**kwargs)

Adds permissions to the target database.

See also: AWS API Documentation

Request Syntax

response = client.put_resource_permission(
    ActionType='RESTORE',
    SourceResourceArn='string',
    ResourceArn='string'
)
Parameters
  • ActionType (string) -- [REQUIRED]
  • SourceResourceArn (string) -- [REQUIRED]
  • ResourceArn (string) -- [REQUIRED]
Return type

dict

Returns

Response Syntax

{
    'Policy': 'string'
}

Response Structure

  • (dict) --
    • Policy (string) --

Exceptions

register_application(**kwargs)

Register an SAP application with AWS Systems Manager for SAP. You must meet the following requirements before registering.

The SAP application you want to register with AWS Systems Manager for SAP is running on Amazon EC2.

AWS Systems Manager Agent must be setup on an Amazon EC2 instance along with the required IAM permissions.

Amazon EC2 instance(s) must have access to the secrets created in AWS Secrets Manager to manage SAP applications and components.

See also: AWS API Documentation

Request Syntax

response = client.register_application(
    ApplicationId='string',
    ApplicationType='HANA',
    Instances=[
        'string',
    ],
    SapInstanceNumber='string',
    Sid='string',
    Tags={
        'string': 'string'
    },
    Credentials=[
        {
            'DatabaseName': 'string',
            'CredentialType': 'ADMIN',
            'SecretId': 'string'
        },
    ]
)
Parameters
  • ApplicationId (string) -- [REQUIRED]
  • ApplicationType (string) -- [REQUIRED]
  • Instances (list) --

    [REQUIRED]

    • (string) --
  • SapInstanceNumber (string) --
  • Sid (string) --
  • Tags (dict) --
    • (string) --
      • (string) --
  • Credentials (list) --

    [REQUIRED]

    • (dict) --
      • DatabaseName (string) -- [REQUIRED]
      • CredentialType (string) -- [REQUIRED]
      • SecretId (string) -- [REQUIRED]
Return type

dict

Returns

Response Syntax

{
    'Application': {
        'Id': 'string',
        'Type': 'HANA',
        'Arn': 'string',
        'AppRegistryArn': 'string',
        'Status': 'ACTIVATED'|'STARTING'|'STOPPED'|'STOPPING'|'FAILED'|'REGISTERING'|'DELETING'|'UNKNOWN',
        'Components': [
            'string',
        ],
        'LastUpdated': datetime(2015, 1, 1),
        'StatusMessage': 'string'
    },
    'OperationId': 'string'
}

Response Structure

  • (dict) --
    • Application (dict) --
      • Id (string) --
      • Type (string) --
      • Arn (string) --
      • AppRegistryArn (string) --
      • Status (string) --
      • Components (list) --
        • (string) --
      • LastUpdated (datetime) --
      • StatusMessage (string) --
    • OperationId (string) --

Exceptions

tag_resource(**kwargs)

Creates tag for a resource by specifying the ARN.

See also: AWS API Documentation

Request Syntax

response = client.tag_resource(
    resourceArn='string',
    tags={
        'string': 'string'
    }
)
Parameters
  • resourceArn (string) -- [REQUIRED]
  • tags (dict) --

    [REQUIRED]

    • (string) --
      • (string) --
Return type

dict

Returns

Response Syntax

{}

Response Structure

  • (dict) --

Exceptions

untag_resource(**kwargs)

Delete the tags for a resource.

See also: AWS API Documentation

Request Syntax

response = client.untag_resource(
    resourceArn='string',
    tagKeys=[
        'string',
    ]
)
Parameters
  • resourceArn (string) -- [REQUIRED]
  • tagKeys (list) --

    [REQUIRED]

    Adds/updates or removes credentials for applications registered with AWS Systems Manager for SAP.

    • (string) --
Return type

dict

Returns

Response Syntax

{}

Response Structure

  • (dict) --

Exceptions

update_application_settings(**kwargs)

See also: AWS API Documentation

Request Syntax

response = client.update_application_settings(
    ApplicationId='string',
    CredentialsToAddOrUpdate=[
        {
            'DatabaseName': 'string',
            'CredentialType': 'ADMIN',
            'SecretId': 'string'
        },
    ],
    CredentialsToRemove=[
        {
            'DatabaseName': 'string',
            'CredentialType': 'ADMIN',
            'SecretId': 'string'
        },
    ]
)
Parameters
  • ApplicationId (string) -- [REQUIRED]
  • CredentialsToAddOrUpdate (list) --
    • (dict) --
      • DatabaseName (string) -- [REQUIRED]
      • CredentialType (string) -- [REQUIRED]
      • SecretId (string) -- [REQUIRED]
  • CredentialsToRemove (list) --
    • (dict) --
      • DatabaseName (string) -- [REQUIRED]
      • CredentialType (string) -- [REQUIRED]
      • SecretId (string) -- [REQUIRED]
Return type

dict

Returns

Response Syntax

{
    'Message': 'string',
    'OperationIds': [
        'string',
    ]
}

Response Structure

  • (dict) --
    • Message (string) --
    • OperationIds (list) --
      • (string) --

Exceptions

Client Exceptions

Client exceptions are available on a client instance via the exceptions property. For more detailed instructions and examples on the exact usage of client exceptions, see the error handling user guide.

The available client exceptions are:

class SsmSap.Client.exceptions.ConflictException

Example

try:
  ...
except client.exceptions.ConflictException as e:
  print(e.response)
response

The parsed error response. All exceptions have a top level Error key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.

Syntax

{
    'Message': 'string',
    'Error': {
        'Code': 'string',
        'Message': 'string'
    }
}

Structure

  • (dict) --
    • Message (string) --
    • Error (dict) -- Normalized access to common exception attributes.
      • Code (string) -- An identifier specifying the exception type.
      • Message (string) -- A descriptive message explaining why the exception occured.
class SsmSap.Client.exceptions.InternalServerException

Example

try:
  ...
except client.exceptions.InternalServerException as e:
  print(e.response)
response

The parsed error response. All exceptions have a top level Error key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.

Syntax

{
    'Message': 'string',
    'Error': {
        'Code': 'string',
        'Message': 'string'
    }
}

Structure

  • (dict) --
    • Message (string) --
    • Error (dict) -- Normalized access to common exception attributes.
      • Code (string) -- An identifier specifying the exception type.
      • Message (string) -- A descriptive message explaining why the exception occured.
class SsmSap.Client.exceptions.ResourceNotFoundException

Example

try:
  ...
except client.exceptions.ResourceNotFoundException as e:
  print(e.response)
response

The parsed error response. All exceptions have a top level Error key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.

Syntax

{
    'Message': 'string',
    'Error': {
        'Code': 'string',
        'Message': 'string'
    }
}

Structure

  • (dict) --
    • Message (string) --
    • Error (dict) -- Normalized access to common exception attributes.
      • Code (string) -- An identifier specifying the exception type.
      • Message (string) -- A descriptive message explaining why the exception occured.
class SsmSap.Client.exceptions.ValidationException

Example

try:
  ...
except client.exceptions.ValidationException as e:
  print(e.response)
response

The parsed error response. All exceptions have a top level Error key that provides normalized access to common exception atrributes. All other keys are specific to this service or exception class.

Syntax

{
    'Message': 'string',
    'Error': {
        'Code': 'string',
        'Message': 'string'
    }
}

Structure

  • (dict) --
    • Message (string) --
    • Error (dict) -- Normalized access to common exception attributes.
      • Code (string) -- An identifier specifying the exception type.
      • Message (string) -- A descriptive message explaining why the exception occured.

Paginators

The available paginators are:

class SsmSap.Paginator.ListApplications
paginator = client.get_paginator('list_applications')
paginate(**kwargs)

Creates an iterator that will paginate through responses from SsmSap.Client.list_applications().

See also: AWS API Documentation

Request Syntax

response_iterator = paginator.paginate(
    PaginationConfig={
        'MaxItems': 123,
        'PageSize': 123,
        'StartingToken': 'string'
    }
)
Parameters
PaginationConfig (dict) --

A dictionary that provides parameters to control pagination.

  • MaxItems (integer) --

    The total number of items to return. If the total number of items available is more than the value specified in max-items then a NextToken will be provided in the output that you can use to resume pagination.

  • PageSize (integer) --

    The size of each page.

  • StartingToken (string) --

    A token to specify where to start paginating. This is the NextToken from a previous response.

Return type
dict
Returns
Response Syntax
{
    'Applications': [
        {
            'Id': 'string',
            'Type': 'HANA',
            'Arn': 'string',
            'Tags': {
                'string': 'string'
            }
        },
    ],

}

Response Structure

  • (dict) --
    • Applications (list) --
      • (dict) --
        • Id (string) --
        • Type (string) --
        • Arn (string) --
        • Tags (dict) --
          • (string) --
            • (string) --
class SsmSap.Paginator.ListComponents
paginator = client.get_paginator('list_components')
paginate(**kwargs)

Creates an iterator that will paginate through responses from SsmSap.Client.list_components().

See also: AWS API Documentation

Request Syntax

response_iterator = paginator.paginate(
    ApplicationId='string',
    PaginationConfig={
        'MaxItems': 123,
        'PageSize': 123,
        'StartingToken': 'string'
    }
)
Parameters
  • ApplicationId (string) --
  • PaginationConfig (dict) --

    A dictionary that provides parameters to control pagination.

    • MaxItems (integer) --

      The total number of items to return. If the total number of items available is more than the value specified in max-items then a NextToken will be provided in the output that you can use to resume pagination.

    • PageSize (integer) --

      The size of each page.

    • StartingToken (string) --

      A token to specify where to start paginating. This is the NextToken from a previous response.

Return type

dict

Returns

Response Syntax

{
    'Components': [
        {
            'ApplicationId': 'string',
            'ComponentId': 'string',
            'ComponentType': 'HANA',
            'Tags': {
                'string': 'string'
            }
        },
    ],

}

Response Structure

  • (dict) --
    • Components (list) --
      • (dict) --
        • ApplicationId (string) --
        • ComponentId (string) --
        • ComponentType (string) --
        • Tags (dict) --
          • (string) --
            • (string) --

class SsmSap.Paginator.ListDatabases
paginator = client.get_paginator('list_databases')
paginate(**kwargs)

Creates an iterator that will paginate through responses from SsmSap.Client.list_databases().

See also: AWS API Documentation

Request Syntax

response_iterator = paginator.paginate(
    ApplicationId='string',
    ComponentId='string',
    PaginationConfig={
        'MaxItems': 123,
        'PageSize': 123,
        'StartingToken': 'string'
    }
)
Parameters
  • ApplicationId (string) --
  • ComponentId (string) --
  • PaginationConfig (dict) --

    A dictionary that provides parameters to control pagination.

    • MaxItems (integer) --

      The total number of items to return. If the total number of items available is more than the value specified in max-items then a NextToken will be provided in the output that you can use to resume pagination.

    • PageSize (integer) --

      The size of each page.

    • StartingToken (string) --

      A token to specify where to start paginating. This is the NextToken from a previous response.

Return type

dict

Returns

Response Syntax

{
    'Databases': [
        {
            'ApplicationId': 'string',
            'ComponentId': 'string',
            'DatabaseId': 'string',
            'DatabaseType': 'SYSTEM'|'TENANT',
            'Arn': 'string',
            'Tags': {
                'string': 'string'
            }
        },
    ],

}

Response Structure

  • (dict) --
    • Databases (list) --
      • (dict) --
        • ApplicationId (string) --
        • ComponentId (string) --
        • DatabaseId (string) --
        • DatabaseType (string) --
        • Arn (string) --
        • Tags (dict) --
          • (string) --
            • (string) --