class Aws::AppMesh::Types::CreateVirtualGatewayInput

@note When making an API call, you may pass CreateVirtualGatewayInput

data as a hash:

    {
      client_token: "String",
      mesh_name: "ResourceName", # required
      mesh_owner: "AccountId",
      spec: { # required
        backend_defaults: {
          client_policy: {
            tls: {
              certificate: {
                file: {
                  certificate_chain: "FilePath", # required
                  private_key: "FilePath", # required
                },
                sds: {
                  secret_name: "VirtualGatewaySdsSecretName", # required
                },
              },
              enforce: false,
              ports: [1],
              validation: { # required
                subject_alternative_names: {
                  match: { # required
                    exact: ["SubjectAlternativeName"], # required
                  },
                },
                trust: { # required
                  acm: {
                    certificate_authority_arns: ["Arn"], # required
                  },
                  file: {
                    certificate_chain: "FilePath", # required
                  },
                  sds: {
                    secret_name: "VirtualGatewaySdsSecretName", # 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
                },
                sds: {
                  secret_name: "VirtualGatewaySdsSecretName", # required
                },
              },
              mode: "STRICT", # required, accepts STRICT, PERMISSIVE, DISABLED
              validation: {
                subject_alternative_names: {
                  match: { # required
                    exact: ["SubjectAlternativeName"], # required
                  },
                },
                trust: { # required
                  file: {
                    certificate_chain: "FilePath", # required
                  },
                  sds: {
                    secret_name: "VirtualGatewaySdsSecretName", # required
                  },
                },
              },
            },
          },
        ],
        logging: {
          access_log: {
            file: {
              path: "FilePath", # required
            },
          },
        },
      },
      tags: [
        {
          key: "TagKey", # required
          value: "TagValue", # required
        },
      ],
      virtual_gateway_name: "ResourceName", # required
    }

@!attribute [rw] client_token

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

**A suitable default value is auto-generated.** You should normally
not need to pass this option.
@return [String]

@!attribute [rw] mesh_name

The name of the service mesh to create the virtual gateway in.
@return [String]

@!attribute [rw] mesh_owner

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][1].

[1]: https://docs.aws.amazon.com/app-mesh/latest/userguide/sharing.html
@return [String]

@!attribute [rw] spec

The virtual gateway specification to apply.
@return [Types::VirtualGatewaySpec]

@!attribute [rw] tags

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.
@return [Array<Types::TagRef>]

@!attribute [rw] virtual_gateway_name

The name to use for the virtual gateway.
@return [String]

@see docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualGatewayInput AWS API Documentation

Constants

SENSITIVE