class Aws::AppMesh::Types::UpdateVirtualNodeInput

<zonbook />

<xhtml />

@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
    }

@!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 that the virtual node resides 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 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][1].

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

@!attribute [rw] spec

The new virtual node specification to apply. This overwrites the
existing data.
@return [Types::VirtualNodeSpec]

@!attribute [rw] virtual_node_name

The name of the virtual node to update.
@return [String]

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

Constants

SENSITIVE