You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::AppMesh::Types::CreateVirtualGatewayInput

Inherits:
Struct
  • Object
show all
Defined in:
(unknown)

Overview

Note:

When passing CreateVirtualGatewayInput as input to an Aws::Client method, you can use a vanilla Hash:

{
  client_token: "String",
  mesh_name: "ResourceName", # required
  mesh_owner: "AccountId",
  spec: { # required
    backend_defaults: {
      client_policy: {
        tls: {
          enforce: false,
          ports: [1],
          validation: { # required
            trust: { # required
              acm: {
                certificate_authority_arns: ["Arn"], # required
              },
              file: {
                certificate_chain: "FilePath", # required
              },
            },
          },
        },
      },
    },
    listeners: [ # required
      {
        connection_pool: {
          grpc: {
            max_requests: 1, # required
          },
          http: {
            max_connections: 1, # required
            max_pending_requests: 1,
          },
          http2: {
            max_requests: 1, # required
          },
        },
        health_check: {
          healthy_threshold: 1, # required
          interval_millis: 1, # required
          path: "String",
          port: 1,
          protocol: "http", # required, accepts http, http2, grpc
          timeout_millis: 1, # required
          unhealthy_threshold: 1, # required
        },
        port_mapping: { # required
          port: 1, # required
          protocol: "http", # required, accepts http, http2, grpc
        },
        tls: {
          certificate: { # required
            acm: {
              certificate_arn: "Arn", # required
            },
            file: {
              certificate_chain: "FilePath", # required
              private_key: "FilePath", # required
            },
          },
          mode: "STRICT", # required, accepts STRICT, PERMISSIVE, DISABLED
        },
      },
    ],
    logging: {
      access_log: {
        file: {
          path: "FilePath", # required
        },
      },
    },
  },
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
  virtual_gateway_name: "ResourceName", # required
}

Instance Attribute Summary collapse

Instance Attribute Details

#client_tokenString

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Up to 36 letters, numbers, hyphens, and underscores are allowed.

Returns:

  • (String)

    Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

#mesh_nameString

The name of the service mesh to create the virtual gateway in.

Returns:

  • (String)

    The name of the service mesh to create the virtual gateway in.

#mesh_ownerString

The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then the account that you specify must share the mesh with your account before you can create the resource in the service mesh. For more information about mesh sharing, see Working with shared meshes.

Returns:

  • (String)

    The AWS IAM account ID of the service mesh owner.

#specTypes::VirtualGatewaySpec

The virtual gateway specification to apply.

Returns:

#tagsArray<Types::TagRef>

Optional metadata that you can apply to the virtual gateway to assist with categorization and organization. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

Returns:

  • (Array<Types::TagRef>)

    Optional metadata that you can apply to the virtual gateway to assist with categorization and organization.

#virtual_gateway_nameString

The name to use for the virtual gateway.

Returns:

  • (String)

    The name to use for the virtual gateway.