Skip to content

create_service async

create_service(
    name: ServiceName,
    *,
    config_overrides: Optional[AsyncVPCLatticeClientConfig] = None,
    client_token: Optional[ClientToken] = None,
    tags: Optional[TagMap] = None,
    custom_domain_name: Optional[ServiceCustomDomainName] = None,
    certificate_arn: Optional[CertificateArn] = None,
    auth_type: Optional[AuthType] = None,
    idle_timeout_seconds: Optional[IdleTimeoutSeconds] = None,
) -> CreateServiceResponse

Creates a service. A service is any software application that can run on instances containers, or serverless functions within an account or virtual private cloud (VPC).

For more information, see Services in the Amazon VPC Lattice User Guide.

Parameters:

  • client_token (Optional[ClientToken], default: None ) –

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails.

  • name (ServiceName) –

    The name of the service. The name must be unique within the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.

  • tags (Optional[TagMap], default: None ) –

    The tags for the service.

  • custom_domain_name (Optional[ServiceCustomDomainName], default: None ) –

    The custom domain name of the service.

  • certificate_arn (Optional[CertificateArn], default: None ) –

    The Amazon Resource Name (ARN) of the certificate.

  • auth_type (Optional[AuthType], default: None ) –

    The type of IAM policy.

    • NONE: The resource does not use an IAM policy. This is the default.

    • AWS_IAM: The resource uses an IAM policy. When this type is used, auth is enabled and an auth policy is required.

  • idle_timeout_seconds (Optional[IdleTimeoutSeconds], default: None ) –

    The amount of time, in seconds, that a connection can remain idle (no data sent) before VPC Lattice closes it. The valid range is 60 to 600 seconds. If you don't specify a value, the default is 60 seconds. This setting does not change the maximum connection duration of 10 minutes; connections are still closed when they reach that limit.

Raises:

Source code in docs_src/capo_vpc_lattice/_services/async_vpc_lattice.py
async def create_service(
    self,
    name: "capo_vpc_lattice.types.service_name.ServiceName",
    *,
    config_overrides: Optional[AsyncVPCLatticeClientConfig] = None,
    client_token: Optional[
        "capo_vpc_lattice.types.client_token.ClientToken"
    ] = None,
    tags: Optional["capo_vpc_lattice.types.tag_map.TagMap"] = None,
    custom_domain_name: Optional[
        "capo_vpc_lattice.types.service_custom_domain_name.ServiceCustomDomainName"
    ] = None,
    certificate_arn: Optional[
        "capo_vpc_lattice.types.certificate_arn.CertificateArn"
    ] = None,
    auth_type: Optional["capo_vpc_lattice.types.auth_type.AuthType"] = None,
    idle_timeout_seconds: Optional[
        "capo_vpc_lattice.types.idle_timeout_seconds.IdleTimeoutSeconds"
    ] = None,
) -> "capo_vpc_lattice.types.create_service_response.CreateServiceResponse":
    """<p>Creates a service. A service is any software application that can run on instances containers, or serverless functions within an account or virtual private cloud (VPC).</p> <p>For more information, see <a href="https://docs.aws.amazon.com/vpc-lattice/latest/ug/services.html">Services</a> in the <i>Amazon VPC Lattice User Guide</i>.</p>

    Args:
        client_token: <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token and parameters, the retry succeeds without performing any actions. If the parameters aren't identical, the retry fails.</p>
        name: <p>The name of the service. The name must be unique within the account. The valid characters are a-z, 0-9, and hyphens (-). You can't use a hyphen as the first or last character, or immediately after another hyphen.</p>
        tags: <p>The tags for the service.</p>
        custom_domain_name: <p>The custom domain name of the service.</p>
        certificate_arn: <p>The Amazon Resource Name (ARN) of the certificate.</p>
        auth_type: <p>The type of IAM policy.</p> <ul> <li> <p> <code>NONE</code>: The resource does not use an IAM policy. This is the default.</p> </li> <li> <p> <code>AWS_IAM</code>: The resource uses an IAM policy. When this type is used, auth is enabled and an auth policy is required.</p> </li> </ul>
        idle_timeout_seconds: <p>The amount of time, in seconds, that a connection can remain idle (no data sent) before VPC Lattice closes it. The valid range is 60 to 600 seconds. If you don't specify a value, the default is 60 seconds. This setting does not change the maximum connection duration of 10 minutes; connections are still closed when they reach that limit.</p>

    Raises:
        capo_vpc_lattice.errors.access_denied_exception.AccessDeniedException: <p>The user does not have sufficient access to perform this action.</p>
        capo_vpc_lattice.errors.conflict_exception.ConflictException: <p>The request conflicts with the current state of the resource. Updating or deleting a resource can cause an inconsistent state.</p>
        capo_vpc_lattice.errors.internal_server_exception.InternalServerException: <p>An unexpected error occurred while processing the request.</p>
        capo_vpc_lattice.errors.resource_not_found_exception.ResourceNotFoundException: <p>The request references a resource that does not exist.</p>
        capo_vpc_lattice.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>The request would cause a service quota to be exceeded.</p>
        capo_vpc_lattice.errors.throttling_exception.ThrottlingException: <p>The limit on the number of requests per second was exceeded.</p>
        capo_vpc_lattice.errors.validation_exception.ValidationException: <p>The input does not satisfy the constraints specified by an Amazon Web Services service.</p>
        capo_vpc_lattice.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_vpc_lattice.types.create_service_request.CreateServiceRequest]",
    ) -> AsyncOperationResponse[
        "capo_vpc_lattice.types.create_service_response.CreateServiceResponse"
    ]:
        import capo_vpc_lattice._operations.mercury_control_plane.create_service

        (
            output,
            http_response,
        ) = await capo_vpc_lattice._operations.mercury_control_plane.create_service.async_create_service(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateService")
    )
    input_: capo_vpc_lattice.types.create_service_request.CreateServiceRequest = {
        "name": name
    }
    if client_token is None:
        client_token = str(uuid.uuid4())
    input_["client_token"] = client_token
    if tags is not None:
        input_["tags"] = tags
    if custom_domain_name is not None:
        input_["custom_domain_name"] = custom_domain_name
    if certificate_arn is not None:
        input_["certificate_arn"] = certificate_arn
    if auth_type is not None:
        input_["auth_type"] = auth_type
    if idle_timeout_seconds is not None:
        input_["idle_timeout_seconds"] = idle_timeout_seconds

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output