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

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb

Overview

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
}

Constant Summary collapse

SENSITIVE =
[]

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.

A suitable default value is auto-generated. You should normally not need to pass this option.

Returns:

  • (String)


1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 1154

class CreateVirtualGatewayInput < Struct.new(
  :client_token,
  :mesh_name,
  :mesh_owner,
  :spec,
  :tags,
  :virtual_gateway_name)
  SENSITIVE = []
  include Aws::Structure
end

#mesh_nameString

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

Returns:

  • (String)


1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 1154

class CreateVirtualGatewayInput < Struct.new(
  :client_token,
  :mesh_name,
  :mesh_owner,
  :spec,
  :tags,
  :virtual_gateway_name)
  SENSITIVE = []
  include Aws::Structure
end

#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)


1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 1154

class CreateVirtualGatewayInput < Struct.new(
  :client_token,
  :mesh_name,
  :mesh_owner,
  :spec,
  :tags,
  :virtual_gateway_name)
  SENSITIVE = []
  include Aws::Structure
end

#specTypes::VirtualGatewaySpec

The virtual gateway specification to apply.



1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 1154

class CreateVirtualGatewayInput < Struct.new(
  :client_token,
  :mesh_name,
  :mesh_owner,
  :spec,
  :tags,
  :virtual_gateway_name)
  SENSITIVE = []
  include Aws::Structure
end

#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:



1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 1154

class CreateVirtualGatewayInput < Struct.new(
  :client_token,
  :mesh_name,
  :mesh_owner,
  :spec,
  :tags,
  :virtual_gateway_name)
  SENSITIVE = []
  include Aws::Structure
end

#virtual_gateway_nameString

The name to use for the virtual gateway.

Returns:

  • (String)


1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 1154

class CreateVirtualGatewayInput < Struct.new(
  :client_token,
  :mesh_name,
  :mesh_owner,
  :spec,
  :tags,
  :virtual_gateway_name)
  SENSITIVE = []
  include Aws::Structure
end