Update
Updates the specified origin group.
Changes may take up to 15 minutes to apply. Afterwards, it is recommended to purge cache of the resources that use the origin group via a CacheService.Purge request.
- TypeScript
- Python
import {
cloudApi,
decodeMessage,
serviceClients,
Session,
waitForOperation,
} from "@yandex-cloud/nodejs-sdk";
const OriginGroup = cloudApi.cdn.origin_group.OriginGroup;
const UpdateOriginGroupRequest =
cloudApi.cdn.origin_group_service.UpdateOriginGroupRequest;
(async () => {
const authToken = process.env["YC_OAUTH_TOKEN"];
const session = new Session({ oauthToken: authToken });
const client = session.client(serviceClients.OriginGroupServiceClient);
const operation = await client.update(
UpdateOriginGroupRequest.fromPartial({
folderId: "folderId",
// originGroupId: 0,
// groupName: {
// value: "value"
// },
// useNext: {
// value: true
// },
// origins: [{
// source: "source",
// enabled: true,
// backup: true,
// meta: {
// common: {
// name: "name"
// },
// bucket: {
// name: "name"
// },
// website: {
// name: "name"
// },
// balancer: {
// id: "id"
// }
// }
// }]
})
);
const finishedOp = await waitForOperation(operation, session);
if (finishedOp.response) {
const result = decodeMessage<typeof OriginGroup>(finishedOp.response);
console.log(result);
}
})();
import os
import grpc
import yandexcloud
from yandex.cloud.cdn.v1.origin_pb2 import OriginBalancerMeta
from yandex.cloud.cdn.v1.origin_group_pb2 import OriginGroup
from yandex.cloud.cdn.v1.origin_group_service_pb2_grpc import OriginGroupServiceStub
from yandex.cloud.cdn.v1.origin_pb2 import OriginMeta
from yandex.cloud.cdn.v1.origin_pb2 import OriginNamedMeta
from yandex.cloud.cdn.v1.origin_pb2 import OriginParams
from yandex.cloud.cdn.v1.origin_group_service_pb2 import UpdateOriginGroupMetadata
from yandex.cloud.cdn.v1.origin_group_service_pb2 import UpdateOriginGroupRequest
token = os.getenv("YC_OAUTH_TOKEN")
sdk = yandexcloud.SDK(token=token)
service = sdk.client(OriginGroupServiceStub)
operation = service.Update(
UpdateOriginGroupRequest(
folder_id="folderId",
# origin_group_id = 0,
# group_name = StringValue(
# value = "value"
# ),
# use_next = BoolValue(
# value = true
# ),
# origins = [OriginParams(
# source = "source",
# enabled = true,
# backup = true,
# meta = OriginMeta(
# common = OriginNamedMeta(
# name = "name"
# ),
# bucket = OriginNamedMeta(
# name = "name"
# ),
# website = OriginNamedMeta(
# name = "name"
# ),
# balancer = OriginBalancerMeta(
# id = "id"
# )
# )
# )]
)
)
operation_result = sdk.wait_operation_and_get_result(
operation,
response_type=OriginGroup,
meta_type=UpdateOriginGroupMetadata,
)
print(operation_result)
UpdateOriginGroupRequest
folderId
: string
ID of the folder that the origin group belongs to.
originGroupId
: int64
ID of the origin group.
groupName
: google.protobuf.StringValue
Name of the origin group.
useNext
: google.protobuf.BoolValue
This option have two possible values:
True - The option is active. In case the origin responds with 4XX or 5XX codes, use the next origin from the list. False - The option is disabled.
origins
: OriginParams
List of origins: IP addresses or Domain names of your origins and the port (if custom).
OriginParams
Origin parameters. For details about the concept, see documentation.
source
: string
Source: IP address or Domain name of your origin and the port (if custom).
enabled
: bool
The setting allows to enable or disable an Origin source in the Origins group.
It has two possible values:
True - The origin is enabled and used as a source for the CDN. An origins group must contain at least one enabled origins. False - The origin is disabled and the CDN is not using it to pull content.
backup
: bool
backup option has two possible values:
True - The option is active. The origin will not be used until one of active origins become unavailable. False - The option is disabled.
meta
: OriginMeta
Set up origin of the content.
OriginMeta
Origin type. For details about the concept, see documentation.
One of originMetaVariant
Type of the origin.
common
: OriginNamedMetaA server with a domain name linked to it
bucket
: OriginNamedMetaAn Object Storage bucket not configured as a static site hosting.
website
: OriginNamedMetaAn Object Storage bucket configured as a static site hosting.
balancer
: OriginBalancerMetaAn L7 load balancer from Application Load Balancer.
CDN servers will access the load balancer at one of its IP addresses that must be selected in the origin settings.
OriginNamedMeta
Origin info. For details about the concept, see documentation.
name
: string
Name of the origin.
OriginBalancerMeta
Application Load Balancer origin info. For details about the concept, see documentation.
id
: string
ID of the origin.
Operation
An Operation resource. For more information, see Operation.
id
: string
ID of the operation.
description
: string
Description of the operation. 0-256 characters long.
createdAt
: google.protobuf.Timestamp
Creation timestamp.
createdBy
: string
ID of the user or service account who initiated the operation.
modifiedAt
: google.protobuf.Timestamp
The time when the Operation resource was last modified.
done
: bool
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
: google.protobuf.Any
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.
One of result
The operation result.
If done == false
and there was no failure detected, neither error
nor response
is set.
If done == false
and there was a failure detected, error
is set.
If done == true
, exactly one of error
or response
is set.
error
: google.rpc.StatusThe error result of the operation in case of failure or cancellation.
response
: google.protobuf.AnyThe 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.