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: {
          certificate: {
            file: {
              certificate_chain: "FilePath", # required
              private_key: "FilePath", # required
            },
            sds: {
              secret_name: "SdsSecretName", # 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: "SdsSecretName", # required
              },
            },
          },
        },
      },
    },
    backends: [
      {
        virtual_service: {
          client_policy: {
            tls: {
              certificate: {
                file: {
                  certificate_chain: "FilePath", # required
                  private_key: "FilePath", # required
                },
                sds: {
                  secret_name: "SdsSecretName", # 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: "SdsSecretName", # 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
            },
            sds: {
              secret_name: "SdsSecretName", # 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: "SdsSecretName", # required
              },
            },
          },
        },
      },
    ],
    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
        response_type: "LOADBALANCER", # accepts LOADBALANCER, ENDPOINTS
      },
    },
  },
  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)


7846
7847
7848
7849
7850
7851
7852
7853
7854
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 7846

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)


7846
7847
7848
7849
7850
7851
7852
7853
7854
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 7846

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)


7846
7847
7848
7849
7850
7851
7852
7853
7854
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 7846

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.



7846
7847
7848
7849
7850
7851
7852
7853
7854
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 7846

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)


7846
7847
7848
7849
7850
7851
7852
7853
7854
# File 'gems/aws-sdk-appmesh/lib/aws-sdk-appmesh/types.rb', line 7846

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