Yandex Cloud
  • Services
  • Solutions
  • Why Yandex Cloud
  • Pricing
  • Documentation
  • Contact us
Get started
Language / Region
© 2022 Yandex.Cloud LLC
Yandex Application Load Balancer
  • Getting started
  • Step-by-step instructions
    • All instructions
    • Target groups
      • Create target group
      • Edit a target group
      • Delete a target group
    • Backend groups
      • Create a backend group
      • Edit a backend group
      • Delete a backend group
    • HTTP routers
      • Create HTTP router
      • Edit an HTTP router
      • Delete an HTTP router
    • L7 load balancers
      • Create an L7 load balancer
      • Edit an L7 load balancer
      • View L7 load balancer statistics
      • View the L7 load balancer logs
      • Get the ID of the log group of the L7 load balancer
      • Stop and restart an L7 load balancer
      • Delete an L7 load balancer
    • Ingress Controller for Managed Service for Kubernetes
      • Install an Ingress controller
      • Create or update resources based on configuration
  • Practical guidelines
    • Setting up virtual hosting
    • Creating a load balancer with DDoS protection
    • Integrating an L7 load balancer with the CDN and Object Storage
    • Blue-green deployment for switching between service versions
    • Terminating TLS connections
    • Writing load balancer logs to PostgreSQL
  • Concepts
    • Overview
    • Load balancers
    • HTTP routers
    • Backend groups
    • Target groups
    • Quotas and limits
  • Tools
    • Ingress Controller for Managed Service for Kubernetes
      • Overview
      • How it works
      • Security groups
      • Service accounts
  • Access management
  • Pricing policy
  • API reference
    • Authentication in the API
    • gRPC
      • Overview
      • BackendGroupService
      • HttpRouterService
      • LoadBalancerService
      • TargetGroupService
      • VirtualHostService
      • OperationService
    • REST
      • Overview
      • BackendGroup
        • Overview
        • addBackend
        • create
        • delete
        • get
        • list
        • listOperations
        • removeBackend
        • update
        • updateBackend
      • HttpRouter
        • Overview
        • create
        • delete
        • get
        • list
        • listOperations
        • update
      • LoadBalancer
        • Overview
        • addListener
        • addSniMatch
        • create
        • delete
        • get
        • getTargetStates
        • list
        • listOperations
        • removeListener
        • removeSniMatch
        • start
        • stop
        • update
        • updateListener
        • updateSniMatch
      • TargetGroup
        • Overview
        • addTargets
        • create
        • delete
        • get
        • list
        • listOperations
        • removeTargets
        • update
      • VirtualHost
        • Overview
        • create
        • delete
        • get
        • list
        • removeRoute
        • update
        • updateRoute
  • Ingress controller reference
    • Overview
    • Ingress
    • HttpBackendGroup
    • Service
  • Log reference
  1. API reference
  2. REST
  3. LoadBalancer
  4. updateSniMatch

Method updateSniMatch

Written by
Yandex.Cloud
  • HTTP request
  • Path parameters
  • Body parameters
  • Response

Updates the specified SNI handler of the specified listener.

This request does not allow to update defaultHandler. Make an updateListener request instead.

HTTP request

POST https://alb.api.cloud.yandex.net/apploadbalancer/v1/loadBalancers/{loadBalancerId}:updateSniMatch

Path parameters

Parameter Description
loadBalancerId Required. ID of the application load balancer to update the SNI handler in.

Body parameters

{
  "listenerName": "string",
  "name": "string",
  "updateMask": "string",
  "serverNames": [
    "string"
  ],
  "handler": {
    "certificateIds": [
      "string"
    ],

    // `handler` includes only one of the fields `httpHandler`, `streamHandler`
    "httpHandler": {
      "httpRouterId": "string",

      // `handler.httpHandler` includes only one of the fields `http2Options`, `allowHttp10`
      "http2Options": {
        "maxConcurrentStreams": "string"
      },
      "allowHttp10": true,
      // end of the list of possible fields`handler.httpHandler`

    },
    "streamHandler": {
      "backendGroupId": "string"
    },
    // end of the list of possible fields`handler`

  }
}
Field Description
listenerName string

Required. Name of the listener to update the SNI handler in.

name string

Required. Name of the SNI handler to update.

updateMask string

Field mask that specifies which attributes of the SNI handler should be updated.

A comma-separated names off ALL fields to be updated. Оnly the specified fields will be changed. The others will be left untouched. If the field is specified in updateMask and no value for that field was sent in the request, the field's value will be reset to the default. The default value for most fields is null or 0.

If updateMask is not sent in the request, all fields' values will be updated. Fields specified in the request will be updated to provided values. The rest of the fields will be reset to the default.

serverNames[] string

Required. New server names that are matched by the SNI handler.

Existing set of server names is completely replaced by the provided set, so if you just want to add or remove a server name:

  1. Get the current set of server names with a get request.
  2. Add or remove a server name in this set.
  3. Send the new set in this field.

Must contain at least one element.

handler object

Required. New settings for handling requests with Server Name Indication (SNI) matching one of serverNames values.

A TLS-encrypted (HTTP or TCP stream) handler resource.

handler.
certificateIds[]
string

Required. ID's of the TLS server certificates from Certificate Manager.

RSA and ECDSA certificates are supported, and only the first certificate of each type is used.

Must contain at least one element.

handler.
httpHandler
object
HTTP handler.
handler includes only one of the fields httpHandler, streamHandler

An HTTP handler resource.

handler.
httpHandler.
httpRouterId
string

ID of the HTTP router processing requests. For details about the concept, see documentation.

To get the list of all available HTTP routers, make a list request.

handler.
httpHandler.
http2Options
object
HTTP/2 settings. If specified, incoming HTTP/2 requests are supported by the listener.
handler.httpHandler includes only one of the fields http2Options, allowHttp10

An HTTP/2 options resource.

handler.
httpHandler.
http2Options.
maxConcurrentStreams
string (int64)

Maximum number of concurrent HTTP/2 streams in a connection.

handler.
httpHandler.
allowHttp10
boolean (boolean)
handler.httpHandler includes only one of the fields http2Options, allowHttp10

Enables support for incoming HTTP/1.0 and HTTP/1.1 requests and disables it for HTTP/2 requests.

handler.
streamHandler
object
Stream (TCP) handler.
handler includes only one of the fields httpHandler, streamHandler

A stream (TCP) handler resource.

handler.
streamHandler.
backendGroupId
string

Required. ID of the backend group processing requests. For details about the concept, see documentation.

The backend group type, specified via [BackendGroup.backend], must be stream.

To get the list of all available backend groups, make a list request.

Response

HTTP Code: 200 - OK

{
  "id": "string",
  "description": "string",
  "createdAt": "string",
  "createdBy": "string",
  "modifiedAt": "string",
  "done": true,
  "metadata": "object",

  //  includes only one of the fields `error`, `response`
  "error": {
    "code": "integer",
    "message": "string",
    "details": [
      "object"
    ]
  },
  "response": "object",
  // end of the list of possible fields

}

An Operation resource. For more information, see Operation.

Field Description
id string

ID of the operation.

description string

Description of the operation. 0-256 characters long.

createdAt string (date-time)

Creation timestamp.

String in RFC3339 text format.

createdBy string

ID of the user or service account who initiated the operation.

modifiedAt string (date-time)

The time when the Operation resource was last modified.

String in RFC3339 text format.

done boolean (boolean)

If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.

metadata object

Service-specific metadata associated with the operation. It typically contains the ID of the target resource that the operation is performed on. Any method that returns a long-running operation should document the metadata type, if any.

error object
The error result of the operation in case of failure or cancellation.
includes only one of the fields error, response

The error result of the operation in case of failure or cancellation.

error.
code
integer (int32)

Error code. An enum value of google.rpc.Code.

error.
message
string

An error message.

error.
details[]
object

A list of messages that carry the error details.

response object
includes only one of the fields error, response

The normal response of the operation in case of success. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is the standard Create/Update, the response should be the target resource of the operation. Any method that returns a long-running operation should document the response type, if any.

Was the article helpful?

Language / Region
© 2022 Yandex.Cloud LLC
In this article:
  • HTTP request
  • Path parameters
  • Body parameters
  • Response