Skip to content

/AWS1/IF_ECS=>DELETECAPACITYPROVIDER()

About DeleteCapacityProvider

Deletes the specified capacity provider.

The FARGATE and FARGATE_SPOT capacity providers are reserved and can't be deleted. You can disassociate them from a cluster using either PutClusterCapacityProviders or by deleting the cluster.

Prior to a capacity provider being deleted, the capacity provider must be removed from the capacity provider strategy from all services. The UpdateService API can be used to remove a capacity provider from a service's capacity provider strategy. When updating a service, the forceNewDeployment option can be used to ensure that any tasks using the Amazon EC2 instance capacity provided by the capacity provider are transitioned to use the capacity from the remaining capacity providers. Only capacity providers that aren't associated with a cluster can be deleted. To remove a capacity provider from a cluster, you can either use PutClusterCapacityProviders or delete the cluster.

Method Signature

IMPORTING

Required arguments:

iv_capacityprovider TYPE /AWS1/ECSSTRING /AWS1/ECSSTRING

The short name or full Amazon Resource Name (ARN) of the capacity provider to delete.

Optional arguments:

iv_cluster TYPE /AWS1/ECSSTRING /AWS1/ECSSTRING

The name of the cluster that contains the capacity provider to delete. Managed instances capacity providers are cluster-scoped and can only be deleted from their associated cluster.

RETURNING

oo_output TYPE REF TO /aws1/cl_ecsdeletecappvdrrsp /AWS1/CL_ECSDELETECAPPVDRRSP

Domain /AWS1/RT_ACCOUNT_ID
Primitive Type NUMC

Examples

Syntax Example

This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.

DATA(lo_result) = lo_client->/aws1/if_ecs~deletecapacityprovider(
  iv_capacityprovider = |string|
  iv_cluster = |string|
).

This is an example of reading all possible response values

lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lo_capacityprovider = lo_result->get_capacityprovider( ).
  IF lo_capacityprovider IS NOT INITIAL.
    lv_string = lo_capacityprovider->get_capacityproviderarn( ).
    lv_string = lo_capacityprovider->get_name( ).
    lv_string = lo_capacityprovider->get_cluster( ).
    lv_capacityproviderstatus = lo_capacityprovider->get_status( ).
    lo_autoscalinggroupprovide = lo_capacityprovider->get_autoscalinggroupprovider( ).
    IF lo_autoscalinggroupprovide IS NOT INITIAL.
      lv_string = lo_autoscalinggroupprovide->get_autoscalinggrouparn( ).
      lo_managedscaling = lo_autoscalinggroupprovide->get_managedscaling( ).
      IF lo_managedscaling IS NOT INITIAL.
        lv_managedscalingstatus = lo_managedscaling->get_status( ).
        lv_managedscalingtargetcap = lo_managedscaling->get_targetcapacity( ).
        lv_managedscalingstepsize = lo_managedscaling->get_minimumscalingstepsize( ).
        lv_managedscalingstepsize = lo_managedscaling->get_maximumscalingstepsize( ).
        lv_managedscalinginstancew = lo_managedscaling->get_instancewarmupperiod( ).
      ENDIF.
      lv_managedterminationprote = lo_autoscalinggroupprovide->get_managedterminationprot00( ).
      lv_manageddraining = lo_autoscalinggroupprovide->get_manageddraining( ).
    ENDIF.
    lo_managedinstancesprovide = lo_capacityprovider->get_managedinstancesprovider( ).
    IF lo_managedinstancesprovide IS NOT INITIAL.
      lv_string = lo_managedinstancesprovide->get_infrastructurerolearn( ).
      lo_instancelaunchtemplate = lo_managedinstancesprovide->get_instancelaunchtemplate( ).
      IF lo_instancelaunchtemplate IS NOT INITIAL.
        lv_string = lo_instancelaunchtemplate->get_ec2instanceprofilearn( ).
        lo_managedinstancesnetwork = lo_instancelaunchtemplate->get_networkconfiguration( ).
        IF lo_managedinstancesnetwork IS NOT INITIAL.
          LOOP AT lo_managedinstancesnetwork->get_subnets( ) into lo_row.
            lo_row_1 = lo_row.
            IF lo_row_1 IS NOT INITIAL.
              lv_string = lo_row_1->get_value( ).
            ENDIF.
          ENDLOOP.
          LOOP AT lo_managedinstancesnetwork->get_securitygroups( ) into lo_row.
            lo_row_1 = lo_row.
            IF lo_row_1 IS NOT INITIAL.
              lv_string = lo_row_1->get_value( ).
            ENDIF.
          ENDLOOP.
        ENDIF.
        lo_managedinstancesstorage = lo_instancelaunchtemplate->get_storageconfiguration( ).
        IF lo_managedinstancesstorage IS NOT INITIAL.
          lv_taskvolumestoragegib = lo_managedinstancesstorage->get_storagesizegib( ).
        ENDIF.
        lv_managedinstancesmonitor = lo_instancelaunchtemplate->get_monitoring( ).
        lo_instancerequirementsreq = lo_instancelaunchtemplate->get_instancerequirements( ).
        IF lo_instancerequirementsreq IS NOT INITIAL.
          lo_vcpucountrangerequest = lo_instancerequirementsreq->get_vcpucount( ).
          IF lo_vcpucountrangerequest IS NOT INITIAL.
            lv_boxedinteger = lo_vcpucountrangerequest->get_min( ).
            lv_boxedinteger = lo_vcpucountrangerequest->get_max( ).
          ENDIF.
          lo_memorymibrequest = lo_instancerequirementsreq->get_memorymib( ).
          IF lo_memorymibrequest IS NOT INITIAL.
            lv_boxedinteger = lo_memorymibrequest->get_min( ).
            lv_boxedinteger = lo_memorymibrequest->get_max( ).
          ENDIF.
          LOOP AT lo_instancerequirementsreq->get_cpumanufacturers( ) into lo_row_2.
            lo_row_3 = lo_row_2.
            IF lo_row_3 IS NOT INITIAL.
              lv_cpumanufacturer = lo_row_3->get_value( ).
            ENDIF.
          ENDLOOP.
          lo_memorygibpervcpurequest = lo_instancerequirementsreq->get_memorygibpervcpu( ).
          IF lo_memorygibpervcpurequest IS NOT INITIAL.
            lv_boxeddouble = lo_memorygibpervcpurequest->get_min( ).
            lv_boxeddouble = lo_memorygibpervcpurequest->get_max( ).
          ENDIF.
          LOOP AT lo_instancerequirementsreq->get_excludedinstancetypes( ) into lo_row_4.
            lo_row_5 = lo_row_4.
            IF lo_row_5 IS NOT INITIAL.
              lv_excludedinstancetype = lo_row_5->get_value( ).
            ENDIF.
          ENDLOOP.
          LOOP AT lo_instancerequirementsreq->get_instancegenerations( ) into lo_row_6.
            lo_row_7 = lo_row_6.
            IF lo_row_7 IS NOT INITIAL.
              lv_instancegeneration = lo_row_7->get_value( ).
            ENDIF.
          ENDLOOP.
          lv_boxedinteger = lo_instancerequirementsreq->get_spotmaxpricepercageove00( ).
          lv_boxedinteger = lo_instancerequirementsreq->get_ondemmaxpricepercageov00( ).
          lv_baremetal = lo_instancerequirementsreq->get_baremetal( ).
          lv_burstableperformance = lo_instancerequirementsreq->get_burstableperformance( ).
          lv_boxedboolean = lo_instancerequirementsreq->get_requirehibernatesupport( ).
          lo_networkinterfacecountre = lo_instancerequirementsreq->get_networkinterfacecount( ).
          IF lo_networkinterfacecountre IS NOT INITIAL.
            lv_boxedinteger = lo_networkinterfacecountre->get_min( ).
            lv_boxedinteger = lo_networkinterfacecountre->get_max( ).
          ENDIF.
          lv_localstorage = lo_instancerequirementsreq->get_localstorage( ).
          LOOP AT lo_instancerequirementsreq->get_localstoragetypes( ) into lo_row_8.
            lo_row_9 = lo_row_8.
            IF lo_row_9 IS NOT INITIAL.
              lv_localstoragetype = lo_row_9->get_value( ).
            ENDIF.
          ENDLOOP.
          lo_totallocalstoragegbrequ = lo_instancerequirementsreq->get_totallocalstoragegb( ).
          IF lo_totallocalstoragegbrequ IS NOT INITIAL.
            lv_boxeddouble = lo_totallocalstoragegbrequ->get_min( ).
            lv_boxeddouble = lo_totallocalstoragegbrequ->get_max( ).
          ENDIF.
          lo_baselineebsbandwidthmbp = lo_instancerequirementsreq->get_baselineebsbandwidthmbps( ).
          IF lo_baselineebsbandwidthmbp IS NOT INITIAL.
            lv_boxedinteger = lo_baselineebsbandwidthmbp->get_min( ).
            lv_boxedinteger = lo_baselineebsbandwidthmbp->get_max( ).
          ENDIF.
          LOOP AT lo_instancerequirementsreq->get_acceleratortypes( ) into lo_row_10.
            lo_row_11 = lo_row_10.
            IF lo_row_11 IS NOT INITIAL.
              lv_acceleratortype = lo_row_11->get_value( ).
            ENDIF.
          ENDLOOP.
          lo_acceleratorcountrequest = lo_instancerequirementsreq->get_acceleratorcount( ).
          IF lo_acceleratorcountrequest IS NOT INITIAL.
            lv_boxedinteger = lo_acceleratorcountrequest->get_min( ).
            lv_boxedinteger = lo_acceleratorcountrequest->get_max( ).
          ENDIF.
          LOOP AT lo_instancerequirementsreq->get_acceleratormanufacturers( ) into lo_row_12.
            lo_row_13 = lo_row_12.
            IF lo_row_13 IS NOT INITIAL.
              lv_acceleratormanufacturer = lo_row_13->get_value( ).
            ENDIF.
          ENDLOOP.
          LOOP AT lo_instancerequirementsreq->get_acceleratornames( ) into lo_row_14.
            lo_row_15 = lo_row_14.
            IF lo_row_15 IS NOT INITIAL.
              lv_acceleratorname = lo_row_15->get_value( ).
            ENDIF.
          ENDLOOP.
          lo_acceleratortotalmemorym = lo_instancerequirementsreq->get_acceleratortotalmemmib( ).
          IF lo_acceleratortotalmemorym IS NOT INITIAL.
            lv_boxedinteger = lo_acceleratortotalmemorym->get_min( ).
            lv_boxedinteger = lo_acceleratortotalmemorym->get_max( ).
          ENDIF.
          lo_networkbandwidthgbpsreq = lo_instancerequirementsreq->get_networkbandwidthgbps( ).
          IF lo_networkbandwidthgbpsreq IS NOT INITIAL.
            lv_boxeddouble = lo_networkbandwidthgbpsreq->get_min( ).
            lv_boxeddouble = lo_networkbandwidthgbpsreq->get_max( ).
          ENDIF.
          LOOP AT lo_instancerequirementsreq->get_allowedinstancetypes( ) into lo_row_16.
            lo_row_17 = lo_row_16.
            IF lo_row_17 IS NOT INITIAL.
              lv_allowedinstancetype = lo_row_17->get_value( ).
            ENDIF.
          ENDLOOP.
          lv_boxedinteger = lo_instancerequirementsreq->get_maxspotpriceaspercageo00( ).
        ENDIF.
      ENDIF.
      lv_propagatemitags = lo_managedinstancesprovide->get_propagatetags( ).
    ENDIF.
    lv_capacityproviderupdates = lo_capacityprovider->get_updatestatus( ).
    lv_string = lo_capacityprovider->get_updatestatusreason( ).
    LOOP AT lo_capacityprovider->get_tags( ) into lo_row_18.
      lo_row_19 = lo_row_18.
      IF lo_row_19 IS NOT INITIAL.
        lv_tagkey = lo_row_19->get_key( ).
        lv_tagvalue = lo_row_19->get_value( ).
      ENDIF.
    ENDLOOP.
    lv_capacityprovidertype = lo_capacityprovider->get_type( ).
  ENDIF.
ENDIF.

To delete a specified capacity provider

This example deletes a specified capacity provider.

DATA(lo_result) = lo_client->/aws1/if_ecs~deletecapacityprovider( iv_capacityprovider = |arn:aws:ecs:us-west-2:123456789012:capacity-provider/ExampleCapacityProvider| ) .