Class: Aws::AppMesh::Types::UpdateVirtualNodeInput

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 UpdateVirtualNodeInput data as a 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
              },
            },
          },
        },
      },
    },
    backends: [
      {
        virtual_service: {
          client_policy: {
            tls: {
              enforce: false,
              ports: [1],
              validation: { # required
                trust: { # required
                  acm: {
                    certificate_authority_arns: ["Arn"], # required
                  },
                  file: {
                    certificate_chain: "FilePath", # required
                  },
                },
              },
            },
          },
          virtual_service_name: "ServiceName", # required
        },
      },
    ],
    listeners: [
      {
        connection_pool: {
          grpc: {
            max_requests: 1, # required
          },
          http: {
            max_connections: 1, # required
            max_pending_requests: 1,
          },
          http2: {
            max_requests: 1, # required
          },
          tcp: {
            max_connections: 1, # required
          },
        },
        health_check: {
          healthy_threshold: 1, # required
          interval_millis: 1, # required
          path: "String",
          port: 1,
          protocol: "http", # required, accepts http, tcp, http2, grpc
          timeout_millis: 1, # required
          unhealthy_threshold: 1, # required
        },
        outlier_detection: {
          base_ejection_duration: { # required
            unit: "s", # accepts s, ms
            value: 1,
          },
          interval: { # required
            unit: "s", # accepts s, ms
            value: 1,
          },
          max_ejection_percent: 1, # required
          max_server_errors: 1, # required
        },
        port_mapping: { # required
          port: 1, # required
          protocol: "http", # required, accepts http, tcp, http2, grpc
        },
        timeout: {
          grpc: {
            idle: {
              unit: "s", # accepts s, ms
              value: 1,
            },
            per_request: {
              unit: "s", # accepts s, ms
              value: 1,
            },
          },
          http: {
            idle: {
              unit: "s", # accepts s, ms
              value: 1,
            },
            per_request: {
              unit: "s", # accepts s, ms
              value: 1,
            },
          },
          http2: {
            idle: {
              unit: "s", # accepts s, ms
              value: 1,
            },
            per_request: {
              unit: "s", # accepts s, ms
              value: 1,
            },
          },
          tcp: {
            idle: {
              unit: "s", # accepts s, ms
              value: 1,
            },
          },
        },
        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
        },
      },
    },
    service_discovery: {
      aws_cloud_map: {
        attributes: [
          {
            key: "AwsCloudMapInstanceAttributeKey", # required
            value: "AwsCloudMapInstanceAttributeValue", # required
          },
        ],
        namespace_name: "AwsCloudMapName", # required
        service_name: "AwsCloudMapName", # required
      },
      dns: {
        hostname: "Hostname", # required
      },
    },
  },
  virtual_node_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)


6344
6345
6346
6347
6348
6349
6350
6351
6352
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 6344

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

#mesh_nameString

The name of the service mesh that the virtual node resides in.

Returns:

  • (String)


6344
6345
6346
6347
6348
6349
6350
6351
6352
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 6344

class UpdateVirtualNodeInput < Struct.new(
  :client_token,
  :mesh_name,
  :mesh_owner,
  :spec,
  :virtual_node_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 it's the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with shared meshes.

Returns:

  • (String)


6344
6345
6346
6347
6348
6349
6350
6351
6352
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 6344

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

#specTypes::VirtualNodeSpec

The new virtual node specification to apply. This overwrites the existing data.



6344
6345
6346
6347
6348
6349
6350
6351
6352
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 6344

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

#virtual_node_nameString

The name of the virtual node to update.

Returns:

  • (String)


6344
6345
6346
6347
6348
6349
6350
6351
6352
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 6344

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