AWS Systems Manager for SAP

2023/10/26 - AWS Systems Manager for SAP - 6 updated api methods

Changes  AWS Systems Manager for SAP added support for registration and discovery of SAP ABAP applications

GetApplication (updated) Link ¶
Changes (response)
{'Application': {'Type': {'SAP_ABAP'}}}

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'|'SAP_ABAP',
        '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': {'AssociatedHost': {'IpAddresses': [{'AllocationType': 'VPC_SUBNET '
                                                                     '| '
                                                                     'ELASTIC_IP '
                                                                     '| '
                                                                     'OVERLAY '
                                                                     '| '
                                                                     'UNKNOWN',
                                                   'IpAddress': 'string',
                                                   'Primary': 'boolean'}]},
               'ComponentType': {'ABAP',
                                 'ASCS',
                                 'DIALOG',
                                 'ERS',
                                 'WD',
                                 'WEBDISP'},
               'DatabaseConnection': {'ConnectionIp': 'string',
                                      'DatabaseArn': 'string',
                                      'DatabaseConnectionMethod': 'DIRECT | '
                                                                  'OVERLAY'},
               'Resilience': {'EnqueueReplication': 'boolean'},
               'SapFeature': 'string',
               'Sid': 'string',
               'SystemNumber': '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',
        'Sid': 'string',
        'SystemNumber': 'string',
        'ParentComponent': 'string',
        'ChildComponents': [
            'string',
        ],
        'ApplicationId': 'string',
        'ComponentType': 'HANA'|'HANA_NODE'|'ABAP'|'ASCS'|'DIALOG'|'WEBDISP'|'WD'|'ERS',
        'Status': 'ACTIVATED'|'STARTING'|'STOPPED'|'STOPPING'|'RUNNING'|'RUNNING_WITH_ERROR'|'UNDEFINED',
        'SapHostname': 'string',
        'SapFeature': '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',
            'EnqueueReplication': True|False
        },
        'AssociatedHost': {
            'Hostname': 'string',
            'Ec2InstanceId': 'string',
            'IpAddresses': [
                {
                    'IpAddress': 'string',
                    'Primary': True|False,
                    'AllocationType': 'VPC_SUBNET'|'ELASTIC_IP'|'OVERLAY'|'UNKNOWN'
                },
            ],
            'OsVersion': 'string'
        },
        'Databases': [
            'string',
        ],
        'Hosts': [
            {
                'HostName': 'string',
                'HostIp': 'string',
                'EC2InstanceId': 'string',
                'InstanceId': 'string',
                'HostRole': 'LEADER'|'WORKER'|'STANDBY'|'UNKNOWN',
                'OsVersion': 'string'
            },
        ],
        'PrimaryHost': 'string',
        'DatabaseConnection': {
            'DatabaseConnectionMethod': 'DIRECT'|'OVERLAY',
            'DatabaseArn': 'string',
            'ConnectionIp': '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.

      • Sid (string) --

        The SAP System Identifier of the application component.

      • SystemNumber (string) --

        The SAP system number of the application 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.

        • ACTIVATED - this status has been deprecated.

        • STARTING - the component is in the process of being started.

        • STOPPED - the component is not running.

        • STOPPING - the component is in the process of being stopped.

        • RUNNING - the component is running.

        • RUNNING_WITH_ERROR - one or more child component(s) of the parent component is not running. Call ` GetComponent https://docs.aws.amazon.com/ssmsap/latest/APIReference/API_GetComponent.html`__ to review the status of each child component.

        • UNDEFINED - AWS Systems Manager for SAP cannot provide the component status based on the discovered information. Verify your SAP application.

      • SapHostname (string) --

        The hostname of the component.

      • SapFeature (string) --

        The SAP feature 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.

        • EnqueueReplication (boolean) --

          Indicates if or not enqueue replication is enabled for the ASCS 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.

        • IpAddresses (list) --

          The IP addresses of the associated host.

          • (dict) --

            Provides information of the IP address.

            • IpAddress (string) --

              The IP address.

            • Primary (boolean) --

              The primary IP address.

            • AllocationType (string) --

              The type of allocation for the IP address.

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

      • DatabaseConnection (dict) --

        The connection specifications for the database of the component.

        • DatabaseConnectionMethod (string) --

          The method of connection.

        • DatabaseArn (string) --

          The Amazon Resource Name of the connected SAP HANA database.

        • ConnectionIp (string) --

          The IP address for connection.

      • 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) --

ListApplications (updated) Link ¶
Changes (request, response)
Request
{'Filters': [{'Name': 'string',
              'Operator': 'Equals | GreaterThanOrEquals | LessThanOrEquals',
              'Value': 'string'}]}
Response
{'Applications': {'DiscoveryStatus': 'SUCCESS | REGISTRATION_FAILED | '
                                     'REFRESH_FAILED | REGISTERING | DELETING',
                  'Type': {'SAP_ABAP'}}}

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

See also: AWS API Documentation

Request Syntax

client.list_applications(
    NextToken='string',
    MaxResults=123,
    Filters=[
        {
            'Name': 'string',
            'Value': 'string',
            'Operator': 'Equals'|'GreaterThanOrEquals'|'LessThanOrEquals'
        },
    ]
)
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.

type Filters

list

param Filters

The filter of name, value, and operator.

  • (dict) --

    A specific result obtained by specifying the name, value, and operator.

    • Name (string) -- [REQUIRED]

      The name of the filter. Filter names are case-sensitive.

    • Value (string) -- [REQUIRED]

      The filter values. Filter values are case-sensitive. If you specify multiple values for a filter, the values are joined with an OR, and the request returns all results that match any of the specified values

    • Operator (string) -- [REQUIRED]

      The operator for the filter.

rtype

dict

returns

Response Syntax

{
    'Applications': [
        {
            'Id': 'string',
            'DiscoveryStatus': 'SUCCESS'|'REGISTRATION_FAILED'|'REFRESH_FAILED'|'REGISTERING'|'DELETING',
            'Type': 'HANA'|'SAP_ABAP',
            'Arn': 'string',
            'Tags': {
                'string': 'string'
            }
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Applications (list) --

      The applications registered with AWS Systems Manager for SAP.

      • (dict) --

        The summary of the SAP application registered with AWS Systems Manager for SAP.

        • Id (string) --

          The ID of the application.

        • DiscoveryStatus (string) --

          The status of the latest discovery.

        • Type (string) --

          The type of the application.

        • Arn (string) --

          The Amazon Resource Name (ARN) of the application.

        • Tags (dict) --

          The tags on the application.

          • (string) --

            • (string) --

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

ListComponents (updated) Link ¶
Changes (response)
{'Components': {'ComponentType': {'ABAP',
                                  'ASCS',
                                  'DIALOG',
                                  'ERS',
                                  'WD',
                                  'WEBDISP'}}}

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'|'ABAP'|'ASCS'|'DIALOG'|'WEBDISP'|'WD'|'ERS',
            '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 (request, response)
Request
{'ApplicationType': {'SAP_ABAP'}, 'DatabaseArn': 'string'}
Response
{'Application': {'Type': {'SAP_ABAP'}}}

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'|'SAP_ABAP',
    Instances=[
        'string',
    ],
    SapInstanceNumber='string',
    Sid='string',
    Tags={
        'string': 'string'
    },
    Credentials=[
        {
            'DatabaseName': 'string',
            'CredentialType': 'ADMIN',
            'SecretId': 'string'
        },
    ],
    DatabaseArn='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

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.

type DatabaseArn

string

param DatabaseArn

The Amazon Resource Name of the SAP HANA database.

rtype

dict

returns

Response Syntax

{
    'Application': {
        'Id': 'string',
        'Type': 'HANA'|'SAP_ABAP',
        '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)
{'DatabaseArn': 'string'}

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
    },
    DatabaseArn='string'
)
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]

type DatabaseArn

string

param DatabaseArn

The Amazon Resource Name of the SAP HANA database that replaces the current SAP HANA connection with the SAP_ABAP application.

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) --