华为云计算 云知识 更新EIPPoolpatchCrdYangtseCniV1NamespacedEIPPool
更新EIPPoolpatchCrdYangtseCniV1NamespacedEIPPool

 

功能介绍

更新EIPPool。

调用方法

请参见如何调用API

URI

PATCH /apis/crd.yangtse.cni/v1/namespaces/{namespace}/eippools/{name}

表1 路径参数

参数

是否必选

参数类型

描述

name

String

name of the EIPPool

namespace

String

object name and auth scope, such as for teams and projects

表2 Query参数

参数

是否必选

参数类型

描述

dryRun

String

When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed

fieldManager

String

fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.

pretty

String

If 'true', then the output is pretty printed.

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

Content-Type

String

目前支持三种类型的PATCH请求方法的操作,参考《使用JSON合并patch更新Deployment》

  1. Json Patch, Content-Type: application/json-patch+json 在RFC6902协议的定义中,Json Patch包含一系列对目标JSON对象的操作,其本身也为JSON对象。服务器接收到该对象后,会将其表示的操作应用于目标JSON对象。

  2. Merge Patch, Content-Type: application/merge-patch+json 在RFC7386协议的定义中,Merge Patch必须包含对一个资源对象的部分描述,即为JSON对象。该JSON对象被提交到服务端后与服务端的当前对象合并,即替换当前资源对象中的列表域,从而创建一个新的对象。

  3. Strategic Merge Patch, Content-Type: application/strategic-merge-patch+json Strategic Merge Patch是添加合法的元数据到API对象中,并通过这些新的元数据来决定哪个列表被合并,哪个列表不该被合并。当前这些元数据则作为结构标签。

表4 请求Body参数

参数

是否必选

参数类型

描述

-

Object

Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.

响应参数

状态码: 200

表5 响应Body参数

参数

参数类型

描述

apiVersion

String

APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

String

Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta object

Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

spec object

Specification of the EIPPool.

status

status object

Status of the EIPPool.

表6 io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta

参数

参数类型

annotations

Map<String,String>

clusterName

String

creationTimestamp

String

deletionGracePeriodSeconds

Long

deletionTimestamp

String

finalizers

Array of strings

generateName

String

generation

Long

labels

Map<String,String>

managedFields

Array of io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry objects

name

String

namespace

String

ownerReferences

Array of io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference objects

resourceVersion

String

selfLink

String

uid

String

表7 io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry

参数

参数类型

描述

apiVersion

String

APIVersion defines the version of this resource that this field set applies to. The format is "group/version" just like the top-level APIVersion field. It is necessary to track the version of a field set because it cannot be automatically converted.

fieldsType

String

FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: "FieldsV1"

fieldsV1

Object

FieldsV1 holds the first JSON version format as described in the "FieldsV1" type.

manager

String

Manager is an identifier of the workflow managing these fields.

operation

String

Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are 'Apply' and 'Update'.

time

String

Time is timestamp of when these fields were set. It should always be empty if Operation is 'Apply'

表8 io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference

参数

参数类型

描述

apiVersion

String

API version of the referent.

blockOwnerDeletion

Boolean

If true, AND if the owner has the "foregroundDeletion" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs "delete" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned.

controller

Boolean

If true, this reference points to the managing controller.

kind

String

Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

name

String

Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names

uid

String

UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids

表9 spec

参数

参数类型

描述

amount

Integer

Amount is the amount of eips need to be create.

最小值:0

最大值:500

eipAttributes

cni.yangtse.crd.v1.EIPAttributes object

Attributes is the eip attributes which used to create eip.

eips

Array of strings

EIPs used to generate EIP resources.

表10 cni.yangtse.crd.v1.EIPAttributes

参数

参数类型

描述

alias

String

Alias of PublicIP

bandwidth

cni.yangtse.crd.v1.EIPBandwidth object

Bandwidth create attributes

ipVersion

Integer

IP Version of PublicIP

枚举值:

  • 4

  • 6

networkType

String

Network Type of PublicIP

表11 cni.yangtse.crd.v1.EIPBandwidth

参数

参数类型

描述

chargeMode

String

Bandwidth Charge Mode

枚举值:

  • bandwidth

  • traffic

id

String

Bandwidth id, only useful for WHOLE bandwidth share type

name

String

Bandwidth name, only useful for PER bandwidth share type

最小长度:1

最大长度:64

shareType

String

Bandwidth Share Type

枚举值:

  • PER

  • WHOLE

size

Integer

Bandwidth size

最小值:0

最大值:200000

表12 status

参数

参数类型

描述

associates

Map<String,cni.yangtse.crd.v1.EIPAssociate>

eip associate infos.

eips

Array of eips objects

EIPs is a set of generated EIP resources.

usage

String

Usage is usage of eip in this pool, e.g. 2/10.

表13 cni.yangtse.crd.v1.EIPAssociate

参数

参数类型

描述

attachment

attachment object

Attachment is the eip attachment info.

privateIP

privateIP object

PrivateIP is private ip information

表14 attachment

参数

参数类型

描述

freeTimestamp

String

Timestamp of NeutronPort be to FixedPreBound or FixedUnBound phase

neutronPortName

String

NeutronPortName is NeutronPort name which associated.

neutronPortNamespace

String

NeutronPortNamespace is NeutronPort namespace which associated.

nodeName

String

NodeName is node name where the NeutronPort resides, must with phase Bound, PreBound or FixedBound.

podName

String

Pod name

podNamespace

String

Pod Namespace

表15 privateIP

参数

参数类型

描述

id

String

Port ID or EIP ID

ipv4

String

IPv4 is the IPv4 address for traffic from the eni.

ipv6

String

IPv6 is the IPv6 address for traffic from the eni.

mac

String

MAC is the MAC address of the endpoint interface.

status

String

Status of this IP

表16 eips

参数

参数类型

描述

alias

String

Alias of the PublicIP

associateInstanceID

String

Associate instance id

associateInstanceType

String

Associate instance type

bandWidthChargeMode

String

Bandwidth charge mode of the PublicIP

bandwidthShareType

String

Bandwidth share type of the PublicIP

bandwidthSize

Integer

Bandwidth size of the PublicIP

id

String

The ID of the PublicIP

ipv4

String

The ipv4 address of the PublicIP

ipv6

String

The ipv6 address of the PublicIP

networkType

String

Network Type of PublicIP

status

String

PublicIP status

请求示例

更新EIPPool中的labels值为"some-key":"some-value"。

{
  "metadata" : {
    "labels" : {
      "some-key" : "some-value"
    }
  }
}

响应示例

状态码: 200

OK

{
  "apiVersion" : "crd.yangtse.cni/v1",
  "kind" : "EIPPool",
  "metadata" : {
    "creationTimestamp" : "2022-09-07T01:22:50Z",
    "finalizers" : [ "yangtse.io/eip-pool" ],
    "generation" : 1,
    "labels" : {
      "some-key" : "some-value"
    },
    "name" : "eippool-test",
    "namespace" : "namespace-test",
    "resourceVersion" : "42396258",
    "selfLink" : "/apis/crd.yangtse.cni/v1/namespaces/namespace-test/eippools/eippool-test",
    "uid" : "e4dc5432-1d9b-4fcb-8840-ee445b6511ae"
  },
  "spec" : {
    "amount" : 1,
    "eipAttributes" : {
      "bandwidth" : {
        "chargeMode" : "bandwidth",
        "name" : "eip-test",
        "shareType" : "PER",
        "size" : 5
      },
      "ipVersion" : 4,
      "networkType" : "5_g-vm"
    }
  },
  "status" : {
    "eips" : [ {
      "alias" : "eip-test",
      "bandWidthChargeMode" : "bandwidth",
      "bandwidthShareType" : "PER",
      "bandwidthSize" : 5,
      "id" : "034a0bae-81f7-46f4-b933-3273adc32b54",
      "ipv4" : "100.85.221.2",
      "networkType" : "5_g-vm",
      "status" : "DOWN"
    } ],
    "usage" : "0/1"
  }
}

状态码

状态码

描述

200

OK

400

BadRequest

401

Unauthorized

403

Forbidden

404

NotFound

405

MethodNotAllowed

406

NotAcceptable

409

Conflict

415

UnsupportedMediaType

422

Invalid

429

TooManyRequests

500

InternalError

503

ServiceUnavailable

504

ServerTimeout

 

上一篇:集群管理是什么 下一篇:初识华为云SAP系统磁盘