# App Engine Admin API . apps . services

## Instance Methods

Returns the versions Resource.

Close httplib2 connections.

Deletes the specified service and all enclosed versions.

Gets the current configuration of the specified service.

Lists all the services in the application.

Retrieves the next page of results.

Updates the configuration of the specified service.

### Method Details

`close()`

    Close httplib2 connections.

`delete(appsId, servicesId, x__xgafv=None)`

    Deletes the specified service and all enclosed versions.

    Args:
      appsId: string, Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default. (required)
      servicesId: string, Part of `name`. See documentation of `appsId`. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "done": True or False, # If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.
      "error": { # The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}.
      "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    }

`get(appsId, servicesId, x__xgafv=None)`

    Gets the current configuration of the specified service.

    Args:
      appsId: string, Part of `name`. Required. Name of the resource requested. Example: apps/myapp/services/default. (required)
      servicesId: string, Part of `name`. See documentation of `appsId`. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A Service resource is a logical component of an application that can share state and communicate in a secure fashion with other services. For example, an application that handles customer requests might include separate services to handle tasks such as backend data analysis or API requests from mobile devices. Each service has a collection of versions that define a specific set of code used to implement the functionality of that service.
      "generatedCustomerMetadata": { # Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetServiceRequest
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "id": "A String", # Output only. Relative name of the service within the application. Example: default.@OutputOnly
      "labels": { # A set of labels to apply to this service. Labels are key/value pairs that describe the service and all resources that belong to it (e.g., versions). The labels can be used to search and group resources, and are propagated to the usage and billing reports, enabling fine-grain analysis of costs. An example of using labels is to tag resources belonging to different environments (e.g., "env=prod", "env=qa"). Label keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores, dashes, and international characters. Label keys must start with a lowercase letter or an international character. Each service can have at most 32 labels.
        "a_key": "A String",
      },
      "name": "A String", # Output only. Full path to the Service resource in the API. Example: apps/myapp/services/default.@OutputOnly
      "networkSettings": { # A NetworkSettings resource is a container for ingress settings for a version or service. # Ingress settings for this service. Will apply to all versions.
        "ingressTrafficAllowed": "A String", # The ingress settings for version or service.
      },
      "split": { # Traffic routing configuration for versions within a single service. Traffic splits define how traffic directed to the service is assigned to versions. # Mapping that defines fractional HTTP traffic diversion to different versions within the service.
        "allocations": { # Mapping from version IDs within the service to fractional (0.000, 1] allocations of traffic for that version. Each version can be specified only once, but some versions in the service may not have any traffic allocation. Services that have traffic allocated cannot be deleted until either the service is deleted or their traffic allocation is removed. Allocations must sum to 1. Up to two decimal place precision is supported for IP-based splits and up to three decimal places is supported for cookie-based splits.
          "a_key": 3.14,
        },
        "shardBy": "A String", # Mechanism used to determine which version a request is sent to. The traffic selection algorithm will be stable for either type until allocations are changed.
      },
    }

`list(appsId, pageSize=None, pageToken=None, x__xgafv=None)`

    Lists all the services in the application.

    Args:
      appsId: string, Part of `parent`. Required. Name of the parent Application resource. Example: apps/myapp. (required)
      pageSize: integer, Maximum results to return per page.
      pageToken: string, Continuation token for fetching the next page of results.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Response message for Services.ListServices.
      "nextPageToken": "A String", # Continuation token for fetching the next page of results.
      "services": [ # The services belonging to the requested application.
        { # A Service resource is a logical component of an application that can share state and communicate in a secure fashion with other services. For example, an application that handles customer requests might include separate services to handle tasks such as backend data analysis or API requests from mobile devices. Each service has a collection of versions that define a specific set of code used to implement the functionality of that service.
          "generatedCustomerMetadata": { # Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetServiceRequest
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
          "id": "A String", # Output only. Relative name of the service within the application. Example: default.@OutputOnly
          "labels": { # A set of labels to apply to this service. Labels are key/value pairs that describe the service and all resources that belong to it (e.g., versions). The labels can be used to search and group resources, and are propagated to the usage and billing reports, enabling fine-grain analysis of costs. An example of using labels is to tag resources belonging to different environments (e.g., "env=prod", "env=qa"). Label keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores, dashes, and international characters. Label keys must start with a lowercase letter or an international character. Each service can have at most 32 labels.
            "a_key": "A String",
          },
          "name": "A String", # Output only. Full path to the Service resource in the API. Example: apps/myapp/services/default.@OutputOnly
          "networkSettings": { # A NetworkSettings resource is a container for ingress settings for a version or service. # Ingress settings for this service. Will apply to all versions.
            "ingressTrafficAllowed": "A String", # The ingress settings for version or service.
          },
          "split": { # Traffic routing configuration for versions within a single service. Traffic splits define how traffic directed to the service is assigned to versions. # Mapping that defines fractional HTTP traffic diversion to different versions within the service.
            "allocations": { # Mapping from version IDs within the service to fractional (0.000, 1] allocations of traffic for that version. Each version can be specified only once, but some versions in the service may not have any traffic allocation. Services that have traffic allocated cannot be deleted until either the service is deleted or their traffic allocation is removed. Allocations must sum to 1. Up to two decimal place precision is supported for IP-based splits and up to three decimal places is supported for cookie-based splits.
              "a_key": 3.14,
            },
            "shardBy": "A String", # Mechanism used to determine which version a request is sent to. The traffic selection algorithm will be stable for either type until allocations are changed.
          },
        },
      ],
    }

`list_next()`

    Retrieves the next page of results.

            Args:
              previous_request: The request for the previous page. (required)
              previous_response: The response from the request for the previous page. (required)

            Returns:
              A request object that you can call 'execute()' on to request the next
              page. Returns None if there are no more items in the collection.

`patch(appsId, servicesId, body=None, migrateTraffic=None, updateMask=None, x__xgafv=None)`

    Updates the configuration of the specified service.

    Args:
      appsId: string, Part of `name`. Required. Name of the resource to update. Example: apps/myapp/services/default. (required)
      servicesId: string, Part of `name`. See documentation of `appsId`. (required)
      body: object, The request body.
        The object takes the form of:

    { # A Service resource is a logical component of an application that can share state and communicate in a secure fashion with other services. For example, an application that handles customer requests might include separate services to handle tasks such as backend data analysis or API requests from mobile devices. Each service has a collection of versions that define a specific set of code used to implement the functionality of that service.
      "generatedCustomerMetadata": { # Additional Google Generated Customer Metadata, this field won't be provided by default and can be requested by setting the IncludeExtraData field in GetServiceRequest
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "id": "A String", # Output only. Relative name of the service within the application. Example: default.@OutputOnly
      "labels": { # A set of labels to apply to this service. Labels are key/value pairs that describe the service and all resources that belong to it (e.g., versions). The labels can be used to search and group resources, and are propagated to the usage and billing reports, enabling fine-grain analysis of costs. An example of using labels is to tag resources belonging to different environments (e.g., "env=prod", "env=qa"). Label keys and values can be no longer than 63 characters and can only contain lowercase letters, numeric characters, underscores, dashes, and international characters. Label keys must start with a lowercase letter or an international character. Each service can have at most 32 labels.
        "a_key": "A String",
      },
      "name": "A String", # Output only. Full path to the Service resource in the API. Example: apps/myapp/services/default.@OutputOnly
      "networkSettings": { # A NetworkSettings resource is a container for ingress settings for a version or service. # Ingress settings for this service. Will apply to all versions.
        "ingressTrafficAllowed": "A String", # The ingress settings for version or service.
      },
      "split": { # Traffic routing configuration for versions within a single service. Traffic splits define how traffic directed to the service is assigned to versions. # Mapping that defines fractional HTTP traffic diversion to different versions within the service.
        "allocations": { # Mapping from version IDs within the service to fractional (0.000, 1] allocations of traffic for that version. Each version can be specified only once, but some versions in the service may not have any traffic allocation. Services that have traffic allocated cannot be deleted until either the service is deleted or their traffic allocation is removed. Allocations must sum to 1. Up to two decimal place precision is supported for IP-based splits and up to three decimal places is supported for cookie-based splits.
          "a_key": 3.14,
        },
        "shardBy": "A String", # Mechanism used to determine which version a request is sent to. The traffic selection algorithm will be stable for either type until allocations are changed.
      },
    }

      migrateTraffic: boolean, Set to true to gradually shift traffic to one or more versions that you specify. By default, traffic is shifted immediately. For gradual traffic migration, the target versions must be located within instances that are configured for both warmup requests (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#InboundServiceType) and automatic scaling (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services.versions#AutomaticScaling). You must specify the shardBy (https://cloud.google.com/appengine/docs/admin-api/reference/rest/v1/apps.services#ShardBy) field in the Service resource. Gradual traffic migration is not supported in the App Engine flexible environment. For examples, see Migrating and Splitting Traffic (https://cloud.google.com/appengine/docs/admin-api/migrating-splitting-traffic).
      updateMask: string, Required. Standard field mask for the set of fields to be updated.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # This resource represents a long-running operation that is the result of a network API call.
      "done": True or False, # If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.
      "error": { # The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
      "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}.
      "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    }