AWS Systems Manager for SAP

2023/07/19 - AWS Systems Manager for SAP - 1 new 6 updated api methods

Changes  Added support for SAP Hana High Availability discovery (primary and secondary nodes) and Backint agent installation with SSM for SAP.

StartApplicationRefresh (new) Link ¶

Refreshes a registered application.

See also: AWS API Documentation

Request Syntax

client.start_application_refresh(
    ApplicationId='string'
)
type ApplicationId

string

param ApplicationId

[REQUIRED]

The ID of the application.

rtype

dict

returns

Response Syntax

{
    'OperationId': 'string'
}

Response Structure

  • (dict) --

    • OperationId (string) --

      The ID of the operation.

GetApplication (updated) Link ¶
Changes (response)
{'Application': {'DiscoveryStatus': 'SUCCESS | REGISTRATION_FAILED | '
                                    'REFRESH_FAILED | REGISTERING | DELETING'}}

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

client.get_application(
    ApplicationId='string',
    ApplicationArn='string',
    AppRegistryArn='string'
)
type ApplicationId

string

param ApplicationId

The ID of the application.

type ApplicationArn

string

param ApplicationArn

The Amazon Resource Name (ARN) of the application.

type AppRegistryArn

string

param AppRegistryArn

The Amazon Resource Name (ARN) of the application registry.

rtype

dict

returns

Response Syntax

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

Response Structure

  • (dict) --

    • Application (dict) --

      Returns all of the metadata of an application registered with AWS Systems Manager for SAP.

      • Id (string) --

        The ID of the application.

      • Type (string) --

        The type of the application.

      • Arn (string) --

        The Amazon Resource Name (ARN) of the application.

      • AppRegistryArn (string) --

        The Amazon Resource Name (ARN) of the Application Registry.

      • Status (string) --

        The status of the application.

      • DiscoveryStatus (string) --

        The latest discovery result for the application.

      • Components (list) --

        The components of the application.

        • (string) --

      • LastUpdated (datetime) --

        The time at which the application was last updated.

      • StatusMessage (string) --

        The status message.

    • Tags (dict) --

      The tags of a registered application.

      • (string) --

        • (string) --

GetComponent (updated) Link ¶
Changes (response)
{'Component': {'Arn': 'string',
               'AssociatedHost': {'Ec2InstanceId': 'string',
                                  'Hostname': 'string',
                                  'OsVersion': 'string'},
               'ChildComponents': ['string'],
               'ComponentType': {'HANA_NODE'},
               'HdbVersion': 'string',
               'Hosts': {'EC2InstanceId': 'string', 'OsVersion': 'string'},
               'ParentComponent': 'string',
               'Resilience': {'ClusterStatus': 'ONLINE | STANDBY | MAINTENANCE '
                                               '| OFFLINE | NONE',
                              'HsrOperationMode': 'PRIMARY | LOGREPLAY | '
                                                  'DELTA_DATASHIPPING | '
                                                  'LOGREPLAY_READACCESS | NONE',
                              'HsrReplicationMode': 'PRIMARY | NONE | SYNC | '
                                                    'SYNCMEM | ASYNC',
                              'HsrTier': 'string'},
               'SapHostname': 'string',
               'SapKernelVersion': 'string',
               'Status': {'RUNNING',
                          'RUNNING_WITH_ERROR',
                          'STARTING',
                          'STOPPED',
                          'STOPPING',
                          'UNDEFINED'}},
 'Tags': {'string': 'string'}}

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

See also: AWS API Documentation

Request Syntax

client.get_component(
    ApplicationId='string',
    ComponentId='string'
)
type ApplicationId

string

param ApplicationId

[REQUIRED]

The ID of the application.

type ComponentId

string

param ComponentId

[REQUIRED]

The ID of the component.

rtype

dict

returns

Response Syntax

{
    'Component': {
        'ComponentId': 'string',
        'ParentComponent': 'string',
        'ChildComponents': [
            'string',
        ],
        'ApplicationId': 'string',
        'ComponentType': 'HANA'|'HANA_NODE',
        'Status': 'ACTIVATED'|'STARTING'|'STOPPED'|'STOPPING'|'RUNNING'|'RUNNING_WITH_ERROR'|'UNDEFINED',
        'SapHostname': 'string',
        'SapKernelVersion': 'string',
        'HdbVersion': 'string',
        'Resilience': {
            'HsrTier': 'string',
            'HsrReplicationMode': 'PRIMARY'|'NONE'|'SYNC'|'SYNCMEM'|'ASYNC',
            'HsrOperationMode': 'PRIMARY'|'LOGREPLAY'|'DELTA_DATASHIPPING'|'LOGREPLAY_READACCESS'|'NONE',
            'ClusterStatus': 'ONLINE'|'STANDBY'|'MAINTENANCE'|'OFFLINE'|'NONE'
        },
        'AssociatedHost': {
            'Hostname': 'string',
            'Ec2InstanceId': 'string',
            'OsVersion': 'string'
        },
        'Databases': [
            'string',
        ],
        'Hosts': [
            {
                'HostName': 'string',
                'HostIp': 'string',
                'EC2InstanceId': 'string',
                'InstanceId': 'string',
                'HostRole': 'LEADER'|'WORKER'|'STANDBY'|'UNKNOWN',
                'OsVersion': 'string'
            },
        ],
        'PrimaryHost': 'string',
        'LastUpdated': datetime(2015, 1, 1),
        'Arn': 'string'
    },
    'Tags': {
        'string': 'string'
    }
}

Response Structure

  • (dict) --

    • Component (dict) --

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

      • ComponentId (string) --

        The ID of the component.

      • ParentComponent (string) --

        The parent component of a highly available environment. For example, in a highly available SAP on AWS workload, the parent component consists of the entire setup, including the child components.

      • ChildComponents (list) --

        The child components of a highly available environment. For example, in a highly available SAP on AWS workload, the child component consists of the primary and secondar instances.

        • (string) --

      • ApplicationId (string) --

        The ID of the application.

      • ComponentType (string) --

        The type of the component.

      • Status (string) --

        The status of the component.

      • SapHostname (string) --

        The hostname of the component.

      • SapKernelVersion (string) --

        The kernel version of the component.

      • HdbVersion (string) --

        The SAP HANA version of the component.

      • Resilience (dict) --

        Details of the SAP HANA system replication for the component.

        • HsrTier (string) --

          The tier of the component.

        • HsrReplicationMode (string) --

          The replication mode of the component.

        • HsrOperationMode (string) --

          The operation mode of the component.

        • ClusterStatus (string) --

          The cluster status of the component.

      • AssociatedHost (dict) --

        The associated host of the component.

        • Hostname (string) --

          The name of the host.

        • Ec2InstanceId (string) --

          The ID of the Amazon EC2 instance.

        • OsVersion (string) --

          The version of the operating system.

      • Databases (list) --

        The SAP HANA databases of the component.

        • (string) --

      • Hosts (list) --

        The hosts of the component.

        • (dict) --

          Describes the properties of the Dedicated Host.

          • HostName (string) --

            The name of the Dedicated Host.

          • HostIp (string) --

            The IP address of the Dedicated Host.

          • EC2InstanceId (string) --

            The ID of Amazon EC2 instance.

          • InstanceId (string) --

            The instance ID of the instance on the Dedicated Host.

          • HostRole (string) --

            The role of the Dedicated Host.

          • OsVersion (string) --

            The version of the operating system.

      • PrimaryHost (string) --

        The primary host of the component.

      • LastUpdated (datetime) --

        The time at which the component was last updated.

      • Arn (string) --

        The Amazon Resource Name (ARN) of the component.

    • Tags (dict) --

      The tags of a component.

      • (string) --

        • (string) --

GetDatabase (updated) Link ¶
Changes (response)
{'Database': {'Status': {'ERROR'}}}

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

See also: AWS API Documentation

Request Syntax

client.get_database(
    ApplicationId='string',
    ComponentId='string',
    DatabaseId='string',
    DatabaseArn='string'
)
type ApplicationId

string

param ApplicationId

The ID of the application.

type ComponentId

string

param ComponentId

The ID of the component.

type DatabaseId

string

param DatabaseId

The ID of the database.

type DatabaseArn

string

param DatabaseArn

The Amazon Resource Name (ARN) of the database.

rtype

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'|'ERROR',
        'PrimaryHost': 'string',
        'SQLPort': 123,
        'LastUpdated': datetime(2015, 1, 1)
    },
    'Tags': {
        'string': 'string'
    }
}

Response Structure

  • (dict) --

    • Database (dict) --

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

      • ApplicationId (string) --

        The ID of the application.

      • ComponentId (string) --

        The ID of the component.

      • Credentials (list) --

        The credentials of the database.

        • (dict) --

          The credentials of your SAP application.

          • DatabaseName (string) --

            The name of the SAP HANA database.

          • CredentialType (string) --

            The type of the application credentials.

          • SecretId (string) --

            The secret ID created in AWS Secrets Manager to store the credentials of the SAP application.

      • DatabaseId (string) --

        The ID of the SAP HANA database.

      • DatabaseName (string) --

        The name of the database.

      • DatabaseType (string) --

        The type of the database.

      • Arn (string) --

        The Amazon Resource Name (ARN) of the database.

      • Status (string) --

        The status of the database.

      • PrimaryHost (string) --

        The primary host of the database.

      • SQLPort (integer) --

        The SQL port of the database.

      • LastUpdated (datetime) --

        The time at which the database was last updated.

    • Tags (dict) --

      The tags of a database.

      • (string) --

        • (string) --

ListComponents (updated) Link ¶
Changes (response)
{'Components': {'Arn': 'string', 'ComponentType': {'HANA_NODE'}}}

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

See also: AWS API Documentation

Request Syntax

client.list_components(
    ApplicationId='string',
    NextToken='string',
    MaxResults=123
)
type ApplicationId

string

param ApplicationId

The ID of the application.

type NextToken

string

param NextToken

The token for the next page of results.

type MaxResults

integer

param MaxResults

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

If you do not specify a value for MaxResults, the request returns 50 items per page by default.

rtype

dict

returns

Response Syntax

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

Response Structure

  • (dict) --

    • Components (list) --

      List of components registered with AWS System Manager for SAP.

      • (dict) --

        The summary of the component.

        • ApplicationId (string) --

          The ID of the application.

        • ComponentId (string) --

          The ID of the component.

        • ComponentType (string) --

          The type of the component.

        • Tags (dict) --

          The tags of the component.

          • (string) --

            • (string) --

        • Arn (string) --

          The Amazon Resource Name (ARN) of the component summary.

    • NextToken (string) --

      The token to use to retrieve the next page of results. This value is null when there are no more results to return.

RegisterApplication (updated) Link ¶
Changes (response)
{'Application': {'DiscoveryStatus': 'SUCCESS | REGISTRATION_FAILED | '
                                    'REFRESH_FAILED | REGISTERING | DELETING'}}

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

client.register_application(
    ApplicationId='string',
    ApplicationType='HANA',
    Instances=[
        'string',
    ],
    SapInstanceNumber='string',
    Sid='string',
    Tags={
        'string': 'string'
    },
    Credentials=[
        {
            'DatabaseName': 'string',
            'CredentialType': 'ADMIN',
            'SecretId': 'string'
        },
    ]
)
type ApplicationId

string

param ApplicationId

[REQUIRED]

The ID of the application.

type ApplicationType

string

param ApplicationType

[REQUIRED]

The type of the application.

type Instances

list

param Instances

[REQUIRED]

The Amazon EC2 instances on which your SAP application is running.

  • (string) --

type SapInstanceNumber

string

param SapInstanceNumber

The SAP instance number of the application.

type Sid

string

param Sid

The System ID of the application.

type Tags

dict

param Tags

The tags to be attached to the SAP application.

  • (string) --

    • (string) --

type Credentials

list

param Credentials

[REQUIRED]

The credentials of the SAP application.

  • (dict) --

    The credentials of your SAP application.

    • DatabaseName (string) -- [REQUIRED]

      The name of the SAP HANA database.

    • CredentialType (string) -- [REQUIRED]

      The type of the application credentials.

    • SecretId (string) -- [REQUIRED]

      The secret ID created in AWS Secrets Manager to store the credentials of the SAP application.

rtype

dict

returns

Response Syntax

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

Response Structure

  • (dict) --

    • Application (dict) --

      The application registered with AWS Systems Manager for SAP.

      • Id (string) --

        The ID of the application.

      • Type (string) --

        The type of the application.

      • Arn (string) --

        The Amazon Resource Name (ARN) of the application.

      • AppRegistryArn (string) --

        The Amazon Resource Name (ARN) of the Application Registry.

      • Status (string) --

        The status of the application.

      • DiscoveryStatus (string) --

        The latest discovery result for the application.

      • Components (list) --

        The components of the application.

        • (string) --

      • LastUpdated (datetime) --

        The time at which the application was last updated.

      • StatusMessage (string) --

        The status message.

    • OperationId (string) --

      The ID of the operation.

UpdateApplicationSettings (updated) Link ¶
Changes (request)
{'Backint': {'BackintMode': 'AWSBackup', 'EnsureNoBackupInProcess': 'boolean'}}

Updates the settings of an application registered with AWS Systems Manager for SAP.

See also: AWS API Documentation

Request Syntax

client.update_application_settings(
    ApplicationId='string',
    CredentialsToAddOrUpdate=[
        {
            'DatabaseName': 'string',
            'CredentialType': 'ADMIN',
            'SecretId': 'string'
        },
    ],
    CredentialsToRemove=[
        {
            'DatabaseName': 'string',
            'CredentialType': 'ADMIN',
            'SecretId': 'string'
        },
    ],
    Backint={
        'BackintMode': 'AWSBackup',
        'EnsureNoBackupInProcess': True|False
    }
)
type ApplicationId

string

param ApplicationId

[REQUIRED]

The ID of the application.

type CredentialsToAddOrUpdate

list

param CredentialsToAddOrUpdate

The credentials to be added or updated.

  • (dict) --

    The credentials of your SAP application.

    • DatabaseName (string) -- [REQUIRED]

      The name of the SAP HANA database.

    • CredentialType (string) -- [REQUIRED]

      The type of the application credentials.

    • SecretId (string) -- [REQUIRED]

      The secret ID created in AWS Secrets Manager to store the credentials of the SAP application.

type CredentialsToRemove

list

param CredentialsToRemove

The credentials to be removed.

  • (dict) --

    The credentials of your SAP application.

    • DatabaseName (string) -- [REQUIRED]

      The name of the SAP HANA database.

    • CredentialType (string) -- [REQUIRED]

      The type of the application credentials.

    • SecretId (string) -- [REQUIRED]

      The secret ID created in AWS Secrets Manager to store the credentials of the SAP application.

type Backint

dict

param Backint

Installation of AWS Backint Agent for SAP HANA.

  • BackintMode (string) -- [REQUIRED]

    AWS service for your database backup.

  • EnsureNoBackupInProcess (boolean) -- [REQUIRED]

rtype

dict

returns

Response Syntax

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

Response Structure

  • (dict) --

    • Message (string) --

      The update message.

    • OperationIds (list) --

      The IDs of the operations.

      • (string) --