AWS Systems Manager for SAP

2023/07/19 - AWS Systems Manager for SAP - 1 new6 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) --