diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic/basic_icredential.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic/basic_icredential.go index 61e3c632ada9cf1c0eed1a9b7e6b96f4ee86c10f..e0d41a0fdead77c764a3a474ece550d73aab28e5 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic/basic_icredential.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic/basic_icredential.go @@ -20,42 +20,78 @@ package basic import ( + "fmt" + "strings" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/cache" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/iam" "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/signer" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/impl" "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/request" - "strings" +) + +const ( + ProjectIdInHeader = "X-Project-Id" + SecurityTokenInHeader = "X-Security-Token" + ContentTypeInHeader = "Content-Type" ) type Credentials struct { + IamEndpoint string AK string SK string ProjectId string SecurityToken string } -func (s Credentials) ProcessAuthRequest(req *request.DefaultHttpRequest) (*request.DefaultHttpRequest, error) { +func (s Credentials) ProcessAuthParams(client *impl.DefaultHttpClient, region string) auth.ICredential { + if s.ProjectId != "" { + return s + } + + authCache := cache.GetCache() + akWithName := s.AK + region + if projectId, ok := authCache.GetAuth(akWithName); ok { + s.ProjectId = projectId + return s + } + + req, err := s.ProcessAuthRequest(client, iam.GetKeystoneListProjectsRequest(s.IamEndpoint, region)) + if err != nil { + panic(fmt.Sprintf("failed to get project id, %s", err.Error())) + } + + id, err := iam.KeystoneListProjects(client, req) + if err != nil { + panic(fmt.Sprintf("failed to get project id, %s", err.Error())) + } + + s.ProjectId = id + authCache.PutAuth(akWithName, id) + return s +} + +func (s Credentials) ProcessAuthRequest(client *impl.DefaultHttpClient, req *request.DefaultHttpRequest) (*request.DefaultHttpRequest, error) { reqBuilder := req.Builder() if s.ProjectId != "" { - reqBuilder.AddAutoFilledPathParam("project_id", s.ProjectId) - reqBuilder.AddHeaderParam("X-Project-Id", s.ProjectId) + reqBuilder = reqBuilder. + AddAutoFilledPathParam("project_id", s.ProjectId). + AddHeaderParam(ProjectIdInHeader, s.ProjectId) } if s.SecurityToken != "" { - reqBuilder.AddHeaderParam("X-Security-Token", s.SecurityToken) + reqBuilder.AddHeaderParam(SecurityTokenInHeader, s.SecurityToken) } - if _, ok := req.GetHeaderParams()["Content-Type"]; ok { - if !strings.Contains(req.GetHeaderParams()["Content-Type"], "application/json") { + if _, ok := req.GetHeaderParams()[ContentTypeInHeader]; ok { + if !strings.Contains(req.GetHeaderParams()[ContentTypeInHeader], "application/json") { reqBuilder.AddHeaderParam("X-Sdk-Content-Sha256", "UNSIGNED-PAYLOAD") } } - r, err := reqBuilder.Build().ConvertRequest() - if err != nil { - return nil, err - } - - headerParams, err := signer.Sign(r, s.AK, s.SK) + headerParams, err := signer.Sign(reqBuilder.Build(), s.AK, s.SK) if err != nil { return nil, err } @@ -71,7 +107,14 @@ type CredentialsBuilder struct { } func NewCredentialsBuilder() *CredentialsBuilder { - return &CredentialsBuilder{Credentials: Credentials{}} + return &CredentialsBuilder{Credentials: Credentials{ + IamEndpoint: iam.DefaultIamEndpoint, + }} +} + +func (builder *CredentialsBuilder) WithIamEndpointOverride(endpoint string) *CredentialsBuilder { + builder.Credentials.IamEndpoint = endpoint + return builder } func (builder *CredentialsBuilder) WithAk(ak string) *CredentialsBuilder { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/cache/auth_cache.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/cache/auth_cache.go new file mode 100644 index 0000000000000000000000000000000000000000..1cee5bb08c2f0c9c83e6f1f0da14672877ad4e25 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/cache/auth_cache.go @@ -0,0 +1,53 @@ +// Copyright 2020 Huawei Technologies Co.,Ltd. +// +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package cache + +import ( + "sync" +) + +var ( + c *Cache + once sync.Once +) + +type Cache struct { + value map[string]string +} + +func GetCache() *Cache { + once.Do(func() { + c = &Cache{ + value: make(map[string]string), + } + }) + + return c +} + +func (c *Cache) PutAuth(key string, value string) error { + c.value[key] = value + return nil +} + +func (c *Cache) GetAuth(key string) (string, bool) { + value, ok := c.value[key] + return value, ok +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/env/env_icredential.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/env/env_icredential.go new file mode 100644 index 0000000000000000000000000000000000000000..b23fa830ee2a70413ba3de3d17c22628c146170d --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/env/env_icredential.go @@ -0,0 +1,61 @@ +// Copyright 2020 Huawei Technologies Co.,Ltd. +// +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package env + +import ( + "os" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/global" +) + +const ( + AkEnvName = "HUAWEICLOUD_SDK_AK" + SkEnvName = "HUAWEICLOUD_SDK_SK" + ProjectIdEnvName = "HUAWEICLOUD_SDK_PROJECT_ID" + DomainIdEnvName = "HUAWEICLOUD_SDK_DOMAIN_ID" + + BasicCredentialType = "basic.Credentials" + GlobalCredentialType = "global.Credentials" +) + +func LoadCredentialFromEnv(defaultType string) auth.ICredential { + ak := os.Getenv(AkEnvName) + sk := os.Getenv(SkEnvName) + + if defaultType == BasicCredentialType { + projectId := os.Getenv(ProjectIdEnvName) + return basic.NewCredentialsBuilder(). + WithAk(ak). + WithSk(sk). + WithProjectId(projectId). + Build() + } else if defaultType == GlobalCredentialType { + domainId := os.Getenv(DomainIdEnvName) + return global.NewCredentialsBuilder(). + WithAk(ak). + WithSk(sk). + WithDomainId(domainId). + Build() + } else { + return nil + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/global/global_icredential.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/global/global_icredential.go index f974e2c30fe02a44c7c0652f133d43d3e102f3c1..1219abc301fd94fdaec37d860adfec5c4214be1e 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/global/global_icredential.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/global/global_icredential.go @@ -20,47 +20,85 @@ package global import ( + "fmt" + "strings" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/cache" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/iam" "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/signer" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/impl" "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/request" - "strings" +) + +const ( + DomainIdInHeader = "X-Domain-Id" + SecurityTokenInHeader = "X-Security-Token" + ContentTypeInHeader = "Content-Type" ) type Credentials struct { + IamEndpoint string AK string SK string DomainId string SecurityToken string } -func (s Credentials) ProcessAuthRequest(req *request.DefaultHttpRequest) (*request.DefaultHttpRequest, error) { +func (s Credentials) ProcessAuthParams(client *impl.DefaultHttpClient, region string) auth.ICredential { + if s.DomainId != "" { + return s + } + + authCache := cache.GetCache() + if domainId, ok := authCache.GetAuth(s.AK); ok { + s.DomainId = domainId + return s + } + + req, err := s.ProcessAuthRequest(client, iam.GetKeystoneListAuthDomainsRequest(s.IamEndpoint)) + if err != nil { + panic(fmt.Sprintf("failed to get domain id, %s", err.Error())) + } + + id, err := iam.KeystoneListAuthDomains(client, req) + if err != nil { + panic(fmt.Sprintf("failed to get domain id, %s", err.Error())) + } + + s.DomainId = id + authCache.PutAuth(s.AK, id) + return s +} + +func (s Credentials) ProcessAuthRequest(client *impl.DefaultHttpClient, req *request.DefaultHttpRequest) (*request.DefaultHttpRequest, error) { reqBuilder := req.Builder() if s.DomainId != "" { - reqBuilder.AddAutoFilledPathParam("domain_id", s.DomainId) - reqBuilder.AddHeaderParam("X-Domain-Id", s.DomainId) + reqBuilder = reqBuilder. + AddAutoFilledPathParam("domain_id", s.DomainId). + AddHeaderParam(DomainIdInHeader, s.DomainId) } if s.SecurityToken != "" { - reqBuilder.AddHeaderParam("X-Security-Token", s.SecurityToken) + reqBuilder.AddHeaderParam(SecurityTokenInHeader, s.SecurityToken) } - if _, ok := req.GetHeaderParams()["Content-Type"]; ok { - if !strings.Contains(req.GetHeaderParams()["Content-Type"], "application/json") { + if _, ok := req.GetHeaderParams()[ContentTypeInHeader]; ok { + if !strings.Contains(req.GetHeaderParams()[ContentTypeInHeader], "application/json") { reqBuilder.AddHeaderParam("X-Sdk-Content-Sha256", "UNSIGNED-PAYLOAD") } } - r, err := reqBuilder.Build().ConvertRequest() - if err != nil { - return nil, err - } - headerParams, err := signer.Sign(r, s.AK, s.SK) + headerParams, err := signer.Sign(reqBuilder.Build(), s.AK, s.SK) if err != nil { return nil, err } + for key, value := range headerParams { req.AddHeaderParam(key, value) } + return req, nil } @@ -69,7 +107,14 @@ type CredentialsBuilder struct { } func NewCredentialsBuilder() *CredentialsBuilder { - return &CredentialsBuilder{Credentials: Credentials{}} + return &CredentialsBuilder{Credentials: Credentials{ + IamEndpoint: iam.DefaultIamEndpoint, + }} +} + +func (builder *CredentialsBuilder) WithIamEndpointOverride(endpoint string) *CredentialsBuilder { + builder.Credentials.IamEndpoint = endpoint + return builder } func (builder *CredentialsBuilder) WithAk(ak string) *CredentialsBuilder { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/iam/iam_service.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/iam/iam_service.go new file mode 100644 index 0000000000000000000000000000000000000000..c4855db479fa5a099171aa7fcf73479fdb6fa39d --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/iam/iam_service.go @@ -0,0 +1,133 @@ +package iam + +import ( + "bytes" + "errors" + "io/ioutil" + "reflect" + + jsoniter "github.com/json-iterator/go" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/impl" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/request" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/response" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdkerr" +) + +const ( + DefaultIamEndpoint = "https://iam.myhuaweicloud.com" + KeystoneListProjectsUri = "/v3/projects" + KeystoneListAuthDomainsUri = "/v3/auth/domains" +) + +type KeystoneListProjectsResponse struct { + Projects *[]ProjectResult `json:"projects,omitempty"` +} + +type ProjectResult struct { + Id string `json:"id"` + Name string `json:"name"` +} + +func GetKeystoneListProjectsRequest(iamEndpoint string, regionId string) *request.DefaultHttpRequest { + return request.NewHttpRequestBuilder(). + WithEndpoint(iamEndpoint). + WithPath(KeystoneListProjectsUri). + WithMethod("GET"). + AddQueryParam("name", reflect.ValueOf(regionId)). + Build() +} + +func KeystoneListProjects(client *impl.DefaultHttpClient, req *request.DefaultHttpRequest) (string, error) { + resp, err := client.SyncInvokeHttp(req) + if err != nil { + return "", err + } + + data, err := GetResponseBody(resp) + if err != nil { + return "", err + } + + keystoneListProjectResponse := new(KeystoneListProjectsResponse) + err = jsoniter.Unmarshal(data, keystoneListProjectResponse) + if err != nil { + return "", err + } + + if len(*keystoneListProjectResponse.Projects) == 1 { + return (*keystoneListProjectResponse.Projects)[0].Id, nil + } else if len(*keystoneListProjectResponse.Projects) > 1 { + return "", errors.New("multiple project ids have been returned, " + + "please specify one when initializing the credentials") + } + + return "", errors.New("No project id found, please specify project_id manually when initializing the credentials") +} + +type KeystoneListAuthDomainsResponse struct { + Domains *[]Domains `json:"domains,omitempty"` +} + +type Domains struct { + Id string `json:"id"` + Name string `json:"name"` +} + +func GetKeystoneListAuthDomainsRequest(iamEndpoint string) *request.DefaultHttpRequest { + return request.NewHttpRequestBuilder(). + WithEndpoint(iamEndpoint). + WithPath(KeystoneListAuthDomainsUri). + WithMethod("GET"). + Build() +} + +func KeystoneListAuthDomains(client *impl.DefaultHttpClient, req *request.DefaultHttpRequest) (string, error) { + resp, err := client.SyncInvokeHttp(req) + if err != nil { + return "", err + } + + data, err := GetResponseBody(resp) + if err != nil { + return "", err + } + + keystoneListAuthDomainsResponse := new(KeystoneListAuthDomainsResponse) + err = jsoniter.Unmarshal(data, keystoneListAuthDomainsResponse) + if err != nil { + return "", err + } + + if len(*keystoneListAuthDomainsResponse.Domains) > 0 { + + return (*keystoneListAuthDomainsResponse.Domains)[0].Id, nil + } + + return "", errors.New("No domain id found, please select one of the following solutions:\n\t" + + "1. Manually specify domain_id when initializing the credentials.\n\t" + + "2. Use the domain account to grant the current account permissions of the IAM service.\n\t" + + "3. Use AK/SK of the domain account.") +} + +func GetResponseBody(resp *response.DefaultHttpResponse) ([]byte, error) { + if resp.GetStatusCode() >= 400 { + return nil, sdkerr.NewServiceResponseError(resp.Response) + } + + data, err := ioutil.ReadAll(resp.Response.Body) + + if err != nil { + if closeErr := resp.Response.Body.Close(); closeErr != nil { + return nil, err + } + return nil, err + } + + if err := resp.Response.Body.Close(); err != nil { + return nil, err + } else { + resp.Response.Body = ioutil.NopCloser(bytes.NewBuffer(data)) + } + + return data, nil +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/icredential.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/icredential.go index aef543550e593728ed240199c5c23c2c3527f500..efaedde588afdbcc87b7f3ac3c6825c7e2ba2471 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/icredential.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/icredential.go @@ -20,35 +20,11 @@ package auth import ( - "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" - "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/global" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/impl" "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/request" - "os" ) type ICredential interface { - ProcessAuthRequest(httpRequest *request.DefaultHttpRequest) (*request.DefaultHttpRequest, error) -} - -func LoadCredentialFromEnv(defaultType string) ICredential { - ak := os.Getenv("HUAWEICLOUD_SDK_AK") - sk := os.Getenv("HUAWEICLOUD_SDK_SK") - - if defaultType == "basic.Credentials" { - projectId := os.Getenv("HUAWEICLOUD_SDK_PROJECT_ID") - return basic.NewCredentialsBuilder(). - WithAk(ak). - WithSk(sk). - WithProjectId(projectId). - Build() - } else if defaultType == "global.Credentials" { - domainId := os.Getenv("HUAWEICLOUD_SDK_DOMAIN_ID") - return global.NewCredentialsBuilder(). - WithAk(ak). - WithSk(sk). - WithDomainId(domainId). - Build() - } else { - return nil - } + ProcessAuthParams(httpClient *impl.DefaultHttpClient, region string) ICredential + ProcessAuthRequest(httpClient *impl.DefaultHttpClient, httpRequest *request.DefaultHttpRequest) (*request.DefaultHttpRequest, error) } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/signer/signer.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/signer/signer.go index 2c10740799372053a3d0cd142020d01fd684a2d0..7470b90e71f819ca04241ab7a0aa117d488a33af 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/signer/signer.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/signer/signer.go @@ -6,15 +6,16 @@ package signer import ( - "bytes" "crypto/hmac" "crypto/sha256" "fmt" - "io/ioutil" - "net/http" + "net/url" + "reflect" "sort" "strings" "time" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/request" ) const ( @@ -27,53 +28,95 @@ const ( ) func hmacsha256(key []byte, data string) ([]byte, error) { - h := hmac.New(sha256.New, []byte(key)) + h := hmac.New(sha256.New, key) if _, err := h.Write([]byte(data)); err != nil { return nil, err } return h.Sum(nil), nil } -func CanonicalRequest(r *http.Request, signedHeaders []string) (string, error) { - var hexencode string - var err error - if hex := r.Header.Get(HeaderContentSha256); hex != "" { - hexencode = hex +func CanonicalRequest(r *request.DefaultHttpRequest, signedHeaders []string) (string, error) { + var hexEncode string + + userHeaders := r.GetHeaderParams() + if hex, ok := userHeaders[HeaderContentSha256]; ok { + hexEncode = hex } else { - data, err := RequestPayload(r) + buffer, err := r.GetBodyToBytes() if err != nil { return "", err } - hexencode, err = HexEncodeSHA256Hash(data) + data := buffer.Bytes() + + hexEncode, err = HexEncodeSHA256Hash(data) if err != nil { return "", err } } - return fmt.Sprintf("%s\n%s\n%s\n%s\n%s\n%s", r.Method, CanonicalURI(r), CanonicalQueryString(r), CanonicalHeaders(r, signedHeaders), strings.Join(signedHeaders, ";"), hexencode), err + + return fmt.Sprintf("%s\n%s\n%s\n%s\n%s\n%s", + r.GetMethod(), + CanonicalURI(r), + CanonicalQueryString(r), + CanonicalHeaders(r, signedHeaders), + strings.Join(signedHeaders, ";"), hexEncode), nil } // CanonicalURI returns request uri -func CanonicalURI(r *http.Request) string { - pattens := strings.Split(r.URL.Path, "/") +func CanonicalURI(r *request.DefaultHttpRequest) string { + pattens := strings.Split(r.GetPath(), "/") + var uri []string for _, v := range pattens { uri = append(uri, escape(v)) } - urlpath := strings.Join(uri, "/") - if len(urlpath) == 0 || urlpath[len(urlpath)-1] != '/' { - urlpath = urlpath + "/" + + urlPath := strings.Join(uri, "/") + if len(urlPath) == 0 || urlPath[len(urlPath)-1] != '/' { + urlPath = urlPath + "/" } - return urlpath + + return urlPath } // CanonicalQueryString -func CanonicalQueryString(r *http.Request) string { +func CanonicalQueryString(r *request.DefaultHttpRequest) string { + var query = make(map[string][]string, 0) + for key, value := range r.GetQueryParams() { + valueWithType := value.(reflect.Value) + + if valueWithType.Kind() == reflect.Slice { + params := r.CanonicalSliceQueryParamsToMulti(valueWithType) + for _, param := range params { + if _, ok := query[key]; !ok { + query[key] = make([]string, 0) + } + query[key] = append(query[key], param) + } + } else if valueWithType.Kind() == reflect.Map { + params := r.CanonicalMapQueryParams(key, valueWithType) + for _, param := range params { + for k, v := range param { + if _, ok := query[k]; !ok { + query[k] = make([]string, 0) + } + query[k] = append(query[k], v) + } + } + } else { + if _, ok := query[key]; !ok { + query[key] = make([]string, 0) + } + query[key] = append(query[key], r.CanonicalStringQueryParams(valueWithType)) + } + } + var keys []string - query := r.URL.Query() for key := range query { keys = append(keys, key) } sort.Strings(keys) + var a []string for _, key := range keys { k := escape(key) @@ -84,51 +127,52 @@ func CanonicalQueryString(r *http.Request) string { } } queryStr := strings.Join(a, "&") - r.URL.RawQuery = queryStr + return queryStr } // CanonicalHeaders -func CanonicalHeaders(r *http.Request, signerHeaders []string) string { +func CanonicalHeaders(r *request.DefaultHttpRequest, signerHeaders []string) string { var a []string header := make(map[string][]string) - for k, v := range r.Header { - header[strings.ToLower(k)] = v + userHeaders := r.GetHeaderParams() + + for k, v := range userHeaders { + if _, ok := header[strings.ToLower(k)]; !ok { + header[strings.ToLower(k)] = make([]string, 0) + } + header[strings.ToLower(k)] = append(header[strings.ToLower(k)], v) } + for _, key := range signerHeaders { value := header[key] if strings.EqualFold(key, HeaderHost) { - value = []string{r.Host} + if u, err := url.Parse(r.GetEndpoint()); err == nil { + header[HeaderHost] = []string{u.Host} + } } + sort.Strings(value) for _, v := range value { a = append(a, key+":"+strings.TrimSpace(v)) } } + return fmt.Sprintf("%s\n", strings.Join(a, "\n")) } // SignedHeaders -func SignedHeaders(r *http.Request) []string { - var a []string - for key := range r.Header { - a = append(a, strings.ToLower(key)) +func SignedHeaders(headers map[string]string) []string { + var signedHeaders []string + for key := range headers { + if strings.HasPrefix(strings.ToLower(key), "content-type") { + continue + } + signedHeaders = append(signedHeaders, strings.ToLower(key)) } - sort.Strings(a) - return a -} + sort.Strings(signedHeaders) -// RequestPayload -func RequestPayload(r *http.Request) ([]byte, error) { - if r.Body == nil { - return []byte(""), nil - } - b, err := ioutil.ReadAll(r.Body) - if err != nil { - return []byte(""), err - } - r.Body = ioutil.NopCloser(bytes.NewBuffer(b)) - return b, err + return signedHeaders } // Create a "String to Sign". @@ -138,6 +182,7 @@ func StringToSign(canonicalRequest string, t time.Time) (string, error) { if err != nil { return "", err } + return fmt.Sprintf("%s\n%s\n%x", Algorithm, t.UTC().Format(BasicDateFormat), hash.Sum(nil)), nil } @@ -164,34 +209,42 @@ func AuthHeaderValue(signature, accessKey string, signedHeaders []string) string } // SignRequest set Authorization header -func Sign(r *http.Request, ak string, sk string) (map[string]string, error) { - var t time.Time +func Sign(r *request.DefaultHttpRequest, ak string, sk string) (map[string]string, error) { var err error - var dt string - headerParams := make(map[string]string) - if dt = r.Header.Get(HeaderXDate); dt != "" { - t, err = time.Parse(BasicDateFormat, dt) - } - if err != nil || dt == "" { + var t time.Time + var headerParams = make(map[string]string) + + userHeaders := r.GetHeaderParams() + if date, ok := userHeaders[HeaderXDate]; ok { + t, err = time.Parse(BasicDateFormat, date) + if date == "" || err != nil { + t = time.Now() + userHeaders[HeaderXDate] = t.UTC().Format(BasicDateFormat) + headerParams[HeaderXDate] = t.UTC().Format(BasicDateFormat) + } + } else { t = time.Now() - r.Header.Set(HeaderXDate, t.UTC().Format(BasicDateFormat)) + userHeaders[HeaderXDate] = t.UTC().Format(BasicDateFormat) headerParams[HeaderXDate] = t.UTC().Format(BasicDateFormat) } - signedHeaders := SignedHeaders(r) + + signedHeaders := SignedHeaders(userHeaders) + canonicalRequest, err := CanonicalRequest(r, signedHeaders) if err != nil { return nil, err } + stringToSign, err := StringToSign(canonicalRequest, t) if err != nil { return nil, err } + signature, err := SignStringToSign(stringToSign, []byte(sk)) if err != nil { return nil, err } - authValue := AuthHeaderValue(signature, ak, signedHeaders) - r.Header.Set(HeaderAuthorization, authValue) - headerParams[HeaderAuthorization] = authValue + + headerParams[HeaderAuthorization] = AuthHeaderValue(signature, ak, signedHeaders) return headerParams, nil } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/config/http_config.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/config/http_config.go index cdf98e22efe69744747626470940dff64149342e..f8b102405e162cadc52fccc11c091185736332d0 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/config/http_config.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/config/http_config.go @@ -20,16 +20,22 @@ package config import ( + "context" "fmt" - "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/httphandler" + "net" "time" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/httphandler" ) -const DefaultTimeout = 30 * time.Second +const DefaultTimeout = 120 * time.Second const DefaultRetries = 0 const DefaultIgnoreSSLVerification = false +type DialContext func(ctx context.Context, network string, addr string) (net.Conn, error) + type HttpConfig struct { + DialContext DialContext Timeout time.Duration Retries int HttpProxy *Proxy @@ -45,6 +51,11 @@ func DefaultHttpConfig() *HttpConfig { } } +func (config *HttpConfig) WithDialContext(dial DialContext) *HttpConfig { + config.DialContext = dial + return config +} + func (config *HttpConfig) WithTimeout(timeout time.Duration) *HttpConfig { config.Timeout = timeout return config @@ -111,6 +122,8 @@ func (p *Proxy) GetProxyUrl() string { var proxyUrl string if p.Username != "" { proxyUrl = fmt.Sprintf("%s://%s:%s@%s", p.Schema, p.Username, p.Password, p.Host) + } else { + proxyUrl = fmt.Sprintf("%s://%s", p.Schema, p.Host) } if p.Port != 0 { proxyUrl = fmt.Sprintf("%s:%d", proxyUrl, p.Port) diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter/converters.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter/converters.go index edc3403e2e990e0d50e2943290e9bca6654782a8..0347dcf480aef87b2a6ee7057fcb1e20d18fb65f 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter/converters.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter/converters.go @@ -1,6 +1,12 @@ package converter -import "reflect" +import ( + "reflect" + "strconv" + "strings" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" +) type Converter interface { CovertStringToInterface(value string) (interface{}, error) @@ -25,3 +31,45 @@ func StringConverterFactory(vType string) Converter { return nil } } + +func ConvertInterfaceToString(value interface{}) string { + if value == nil { + return "" + } + switch value.(type) { + case float64: + return strconv.FormatFloat(value.(float64), 'f', -1, 64) + case float32: + return strconv.FormatFloat(float64(value.(float32)), 'f', -1, 64) + case int: + return strconv.Itoa(value.(int)) + case uint: + return strconv.Itoa(int(value.(uint))) + case int8: + return strconv.Itoa(int(value.(int8))) + case uint8: + return strconv.Itoa(int(value.(uint8))) + case int16: + return strconv.Itoa(int(value.(int16))) + case uint16: + return strconv.Itoa(int(value.(uint16))) + case int32: + return strconv.Itoa(int(value.(int32))) + case uint32: + return strconv.Itoa(int(value.(uint32))) + case int64: + return strconv.FormatInt(value.(int64), 10) + case uint64: + return strconv.FormatUint(value.(uint64), 10) + case string: + return value.(string) + case []byte: + return string(value.([]byte)) + default: + b, err := utils.Marshal(value) + if err != nil { + return "" + } + return string(strings.Trim(string(b[:]), "\"")) + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/def/field.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/def/field.go index 265960579bc42a07d54cc6b396bd8d3f4a83ff53..0a498f5b3da6739ccd53c4c4b8dd47b9c56e7a1a 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/def/field.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/def/field.go @@ -26,6 +26,7 @@ const ( Path Query Body + Form ) type FieldDef struct { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/def/multipart.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/def/multipart.go new file mode 100644 index 0000000000000000000000000000000000000000..f4c28fce50f08a9207adaf06317416bd3685f2ef --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/def/multipart.go @@ -0,0 +1,102 @@ +// Copyright 2020 Huawei Technologies Co.,Ltd. +// +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package def + +import ( + "fmt" + "io" + "mime/multipart" + "net/textproto" + "os" + "strings" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" +) + +var quoteEscape = strings.NewReplacer("\\", "\\\\", `"`, "\\\"") + +func escapeQuotes(s string) string { + return quoteEscape.Replace(s) +} + +type FilePart struct { + Headers textproto.MIMEHeader + Content *os.File +} + +func NewFilePart(content *os.File) *FilePart { + return &FilePart{ + Content: content, + } +} + +func NewFilePartWithContentType(content *os.File, contentType string) *FilePart { + var headers = make(textproto.MIMEHeader) + headers.Set("Content-Type", contentType) + + return &FilePart{ + Headers: headers, + Content: content, + } +} + +func (f FilePart) Write(w *multipart.Writer, name string) error { + var h textproto.MIMEHeader + if f.Headers != nil { + h = f.Headers + } else { + h = make(textproto.MIMEHeader) + } + + h.Set("Content-Disposition", + fmt.Sprintf(`form-data; name="%s"; filename="%s"`, + escapeQuotes(name), escapeQuotes(f.Content.Name()))) + + if f.Headers.Get("Content-Type") == "" { + h.Set("Content-Type", "application/octet-stream") + } + + writer, err := w.CreatePart(h) + if err != nil { + return err + } + + _, err = io.Copy(writer, f.Content) + return err +} + +type MultiPart struct { + Content interface{} +} + +func NewMultiPart(content interface{}) *MultiPart { + return &MultiPart{ + Content: content, + } +} + +func (m MultiPart) Write(w *multipart.Writer, name string) error { + err := w.WriteField(name, converter.ConvertInterfaceToString(m.Content)) + return err +} + +type FormData interface { + Write(*multipart.Writer, string) error +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/hc_http_client.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/hc_http_client.go index 613875f5973196cd6e66bee484dfe7d105da89ef..48be3f928274523f5dfe1dc83529c8bcd6b51c85 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/hc_http_client.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/hc_http_client.go @@ -21,8 +21,14 @@ package core import ( "bytes" + "encoding/json" "errors" "fmt" + "io/ioutil" + "reflect" + "strings" + + jsoniter "github.com/json-iterator/go" "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth" "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/def" @@ -30,10 +36,6 @@ import ( "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/request" "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/response" "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdkerr" - jsoniter "github.com/json-iterator/go" - "io/ioutil" - "reflect" - "strings" ) type HcHttpClient struct { @@ -86,44 +88,65 @@ func (hc *HcHttpClient) buildRequest(req interface{}, reqDef *def.HttpRequestDef return nil, err } - httpRequest, err := hc.credential.ProcessAuthRequest(builder.Build()) - if err != nil { - return nil, err + var httpRequest *request.DefaultHttpRequest = builder.Build() + + currentHeaderParams := httpRequest.GetHeaderParams() + if _, ok := currentHeaderParams["Authorization"]; !ok { + httpRequest, err = hc.credential.ProcessAuthRequest(hc.httpClient, httpRequest) + if err != nil { + return nil, err + } } + return httpRequest, err } func (hc *HcHttpClient) fillParamsFromReq(req interface{}, reqDef *def.HttpRequestDef, builder *request.HttpRequestBuilder) (*request.HttpRequestBuilder, error) { - attrMaps := hc.GetFieldJsonTags(req) + t := reflect.TypeOf(req) + if t.Kind() == reflect.Ptr { + t = t.Elem() + } + + attrMaps := hc.GetFieldJsonTags(t) for _, fieldDef := range reqDef.RequestFields { value, err := hc.GetFieldValueByName(fieldDef.Name, attrMaps, req) if err != nil { return nil, err } + if !value.IsValid() { continue } + + v, err := flattenEnumStruct(value) + if err != nil { + return nil, err + } + switch fieldDef.LocationType { case def.Header: - builder.AddHeaderParam(fieldDef.JsonTag, fmt.Sprintf("%v", value)) + builder.AddHeaderParam(fieldDef.JsonTag, fmt.Sprintf("%v", v)) case def.Path: - builder.AddPathParam(fieldDef.JsonTag, fmt.Sprintf("%v", value)) + builder.AddPathParam(fieldDef.JsonTag, fmt.Sprintf("%v", v)) case def.Query: - builder.AddQueryParam(fieldDef.JsonTag, value) + builder.AddQueryParam(fieldDef.JsonTag, v) case def.Body: - builder.WithBody(value.Interface()) + if body, ok := t.FieldByName("Body"); ok { + builder.WithBody(body.Tag.Get("type"), value.Interface()) + } else { + builder.WithBody("", value.Interface()) + } + case def.Form: + builder.AddFormParam(fieldDef.JsonTag, value.Interface().(def.FormData)) } } + return builder, nil } -func (hc *HcHttpClient) GetFieldJsonTags(structName interface{}) map[string]string { +func (hc *HcHttpClient) GetFieldJsonTags(t reflect.Type) map[string]string { attrMaps := make(map[string]string) - t := reflect.TypeOf(structName) - if t.Kind() == reflect.Ptr { - t = t.Elem() - } fieldNum := t.NumField() for i := 0; i < fieldNum; i++ { @@ -152,15 +175,21 @@ func (hc *HcHttpClient) GetFieldValueByName(name string, jsonTag map[string]stri return value.Elem(), nil } + return value, nil +} + +func flattenEnumStruct(value reflect.Value) (reflect.Value, error) { if value.Kind() == reflect.Struct { - v, err := jsoniter.Marshal(value.Interface()) - if strings.HasPrefix(string(v), "\"") { - return reflect.ValueOf(strings.Trim(string(v), "\"")), err - } else { - return reflect.ValueOf(string(v)), err + v, e := jsoniter.Marshal(value.Interface()) + if e == nil { + if strings.HasPrefix(string(v), "\"") { + return reflect.ValueOf(strings.Trim(string(v), "\"")), nil + } else { + return reflect.ValueOf(string(v)), nil + } } + return reflect.ValueOf(nil), e } - return value, nil } @@ -178,6 +207,27 @@ func (hc *HcHttpClient) extractResponse(resp *response.DefaultHttpResponse, reqD } func (hc *HcHttpClient) deserializeResponse(resp *response.DefaultHttpResponse, reqDef *def.HttpRequestDef) error { + t := reflect.TypeOf(reqDef.Response) + if t.Kind() == reflect.Ptr { + t = t.Elem() + } + + v := reflect.ValueOf(reqDef.Response) + if v.Kind() == reflect.Ptr { + v = v.Elem() + } + + addStatusCode := func() { + field := v.FieldByName("HttpStatusCode") + field.Set(reflect.ValueOf(resp.GetStatusCode())) + } + + if body, ok := t.FieldByName("Body"); ok && body.Type.Name() == "ReadCloser" { + v.FieldByName("Body").Set(reflect.ValueOf(resp.Response.Body)) + addStatusCode() + return nil + } + data, err := ioutil.ReadAll(resp.Response.Body) if err != nil { if closeErr := resp.Response.Body.Close(); closeErr != nil { @@ -194,12 +244,12 @@ func (hc *HcHttpClient) deserializeResponse(resp *response.DefaultHttpResponse, hasBody := false for _, item := range reqDef.ResponseFields { if item.LocationType == def.Header { - err := hc.deserializeResponseHeaders(resp, reqDef, item) - if err != nil { + headerErr := hc.deserializeResponseHeaders(resp, reqDef, item) + if headerErr != nil { return sdkerr.ServiceResponseError{ StatusCode: resp.GetStatusCode(), RequestId: resp.GetHeader("X-Request-Id"), - ErrorMessage: err.Error(), + ErrorMessage: headerErr.Error(), } } } @@ -207,13 +257,12 @@ func (hc *HcHttpClient) deserializeResponse(resp *response.DefaultHttpResponse, if item.LocationType == def.Body { hasBody = true - dataOfListOrString := "{ \"body\" : " + string(data) + "}" - err = jsoniter.Unmarshal([]byte(dataOfListOrString), &reqDef.Response) - if err != nil { + bodyErr := hc.deserializeResponseBody(reqDef, data) + if bodyErr != nil { return sdkerr.ServiceResponseError{ StatusCode: resp.GetStatusCode(), RequestId: resp.GetHeader("X-Request-Id"), - ErrorMessage: err.Error(), + ErrorMessage: bodyErr.Error(), } } } @@ -230,6 +279,49 @@ func (hc *HcHttpClient) deserializeResponse(resp *response.DefaultHttpResponse, } } + addStatusCode() + return nil +} + +func (hc *HcHttpClient) deserializeResponseBody(reqDef *def.HttpRequestDef, data []byte) error { + dataStr := string(data) + + v := reflect.ValueOf(reqDef.Response) + if v.Kind() == reflect.Ptr { + v = v.Elem() + } + + t := reflect.TypeOf(reqDef.Response) + if t.Kind() == reflect.Ptr { + t = t.Elem() + } + + if body, ok := t.FieldByName("Body"); ok { + if body.Type.Kind() == reflect.Ptr && body.Type.Elem().Kind() == reflect.String { + v.FieldByName("Body").Set(reflect.ValueOf(&dataStr)) + } else if body.Type.Kind() == reflect.String { + v.FieldByName("Body").Set(reflect.ValueOf(dataStr)) + } else { + var bodyIns interface{} + if body.Type.Kind() == reflect.Ptr { + bodyIns = reflect.New(body.Type.Elem()).Interface() + } else { + bodyIns = reflect.New(body.Type).Interface() + } + + err := json.Unmarshal(data, bodyIns) + if err != nil { + return err + } + + if body.Type.Kind() == reflect.Ptr { + v.FieldByName("Body").Set(reflect.ValueOf(bodyIns)) + } else { + v.FieldByName("Body").Set(reflect.ValueOf(bodyIns).Elem()) + } + } + } + return nil } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/hc_http_client_builder.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/hc_http_client_builder.go index d537c35e60113928c74ea11ba170b2681db98473..337a794baae95569ff27650055f1c8affb9b36cd 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/hc_http_client_builder.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/hc_http_client_builder.go @@ -21,29 +21,33 @@ package core import ( "fmt" + "reflect" + "strings" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/auth/env" "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/config" "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/impl" - "reflect" - "strings" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/region" ) type HcHttpClientBuilder struct { - credentialsType []string + CredentialsType []string credentials auth.ICredential endpoint string httpConfig *config.HttpConfig + region *region.Region } func NewHcHttpClientBuilder() *HcHttpClientBuilder { hcHttpClientBuilder := &HcHttpClientBuilder{ - credentialsType: []string{"basic.Credentials"}, + CredentialsType: []string{"basic.Credentials"}, } return hcHttpClientBuilder } func (builder *HcHttpClientBuilder) WithCredentialsType(credentialsType string) *HcHttpClientBuilder { - builder.credentialsType = strings.Split(credentialsType, ",") + builder.CredentialsType = strings.Split(credentialsType, ",") return builder } @@ -52,6 +56,11 @@ func (builder *HcHttpClientBuilder) WithEndpoint(endpoint string) *HcHttpClientB return builder } +func (builder *HcHttpClientBuilder) WithRegion(region *region.Region) *HcHttpClientBuilder { + builder.region = region + return builder +} + func (builder *HcHttpClientBuilder) WithHttpConfig(httpConfig *config.HttpConfig) *HcHttpClientBuilder { builder.httpConfig = httpConfig return builder @@ -68,12 +77,12 @@ func (builder *HcHttpClientBuilder) Build() *HcHttpClient { } if builder.credentials == nil { - builder.credentials = auth.LoadCredentialFromEnv(builder.credentialsType[0]) + builder.credentials = env.LoadCredentialFromEnv(builder.CredentialsType[0]) } match := false givenCredentialsType := reflect.TypeOf(builder.credentials).String() - for _, credentialsType := range builder.credentialsType { + for _, credentialsType := range builder.CredentialsType { if credentialsType == givenCredentialsType { match = true break @@ -81,11 +90,20 @@ func (builder *HcHttpClientBuilder) Build() *HcHttpClient { } if !match { - panic(fmt.Sprintf("Need credential type is %s, actually is %s", builder.credentialsType, reflect.TypeOf(builder.credentials).String())) + panic(fmt.Sprintf("Need credential type is %s, actually is %s", builder.CredentialsType, reflect.TypeOf(builder.credentials).String())) } defaultHttpClient := impl.NewDefaultHttpClient(builder.httpConfig) + if builder.region != nil { + builder.endpoint = builder.region.Endpoint + builder.credentials = builder.credentials.ProcessAuthParams(defaultHttpClient, builder.region.Id) + } + + if !strings.HasPrefix(builder.endpoint, "http") { + builder.endpoint = "https://" + builder.endpoint + } + hcHttpClient := NewHcHttpClient(defaultHttpClient).WithEndpoint(builder.endpoint).WithCredential(builder.credentials) return hcHttpClient } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/httphandler/http_handler.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/httphandler/http_handler.go index c1c9551047002e95fedbecf96eb41f81907da471..2d5aeca3ce965057a2076f795b6bfd6dd0c5248b 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/httphandler/http_handler.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/httphandler/http_handler.go @@ -21,11 +21,25 @@ package httphandler import ( "net/http" + "time" ) +type MonitorMetric struct { + Host string + Path string + Method string + Raw string + UserAgent string + RequestId string + StatusCode int + ContentLength int64 + Latency time.Duration +} + type HttpHandler struct { RequestHandlers func(http.Request) ResponseHandlers func(http.Response) + MonitorHandlers func(*MonitorMetric) } func NewHttpHandler() *HttpHandler { @@ -42,3 +56,8 @@ func (handler *HttpHandler) AddResponseHandler(responseHandler func(response htt handler.ResponseHandlers = responseHandler return handler } + +func (handler *HttpHandler) AddMonitorHandler(monitorHandler func(*MonitorMetric)) *HttpHandler { + handler.MonitorHandlers = monitorHandler + return handler +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/impl/default_http_client.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/impl/default_http_client.go index 9cce0e82326aaefe60b8865fa99e320c98c88256..3bb0d10e45dc40f4f845cc8cc6874ecf2ddf4ba5 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/impl/default_http_client.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/impl/default_http_client.go @@ -20,13 +20,18 @@ package impl import ( + "bytes" "crypto/tls" + "io/ioutil" + "net/http" + "net/http/httputil" + "net/url" + "time" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/config" "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/httphandler" "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/request" "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/response" - "net/http" - "net/url" ) type DefaultHttpClient struct { @@ -41,6 +46,10 @@ func NewDefaultHttpClient(httpConfig *config.HttpConfig) *DefaultHttpClient { TLSClientConfig: &tls.Config{InsecureSkipVerify: httpConfig.IgnoreSSLVerification}, } + if httpConfig.DialContext != nil { + transport.DialContext = httpConfig.DialContext + } + if httpConfig.HttpProxy != nil { proxyUrl := httpConfig.HttpProxy.GetProxyUrl() if proxyUrl != "" { @@ -70,6 +79,19 @@ func (client *DefaultHttpClient) SyncInvokeHttp(request *request.DefaultHttpRequ return nil, err } + if client.httpHandler != nil && client.httpHandler.RequestHandlers != nil && req != nil { + bodyBytes, err := httputil.DumpRequest(req, true) + if err != nil { + return nil, err + } + reqClone := req.Clone(req.Context()) + reqClone.Body = ioutil.NopCloser(bytes.NewBuffer(bodyBytes)) + defer reqClone.Body.Close() + client.httpHandler.RequestHandlers(*reqClone) + } + + startTime := time.Now() + var resp *http.Response tried := 0 for { @@ -81,17 +103,53 @@ func (client *DefaultHttpClient) SyncInvokeHttp(request *request.DefaultHttpRequ } } - if client.httpHandler != nil { - if client.httpHandler.RequestHandlers != nil && req != nil { - client.httpHandler.RequestHandlers(*req) + endTime := time.Now() + + if client.httpHandler != nil && client.httpHandler.ResponseHandlers != nil && resp != nil { + bodyBytes, err := httputil.DumpResponse(resp, true) + if err != nil { + return nil, err } - if client.httpHandler.ResponseHandlers != nil && resp != nil { - client.httpHandler.ResponseHandlers(*resp) + respClone := http.Response{ + Body: ioutil.NopCloser(bytes.NewBuffer(bodyBytes)), + Status: resp.Status, + StatusCode: resp.StatusCode, + Proto: resp.Proto, + ProtoMajor: resp.ProtoMajor, + ProtoMinor: resp.ProtoMinor, + Header: resp.Header, + ContentLength: resp.ContentLength, + TransferEncoding: resp.TransferEncoding, + Close: resp.Close, + Uncompressed: resp.Uncompressed, + Trailer: resp.Trailer, } + defer respClone.Body.Close() + client.httpHandler.ResponseHandlers(respClone) + } + + if client.httpHandler != nil && client.httpHandler.MonitorHandlers != nil { + metric := &httphandler.MonitorMetric{ + Host: req.URL.Host, + Method: req.Method, + Path: req.URL.Path, + Raw: req.URL.RawQuery, + UserAgent: req.UserAgent(), + Latency: endTime.Sub(startTime), + } + + if resp != nil { + metric.RequestId = resp.Header.Get("X-Request-Id") + metric.StatusCode = resp.StatusCode + metric.ContentLength = resp.ContentLength + } + + client.httpHandler.MonitorHandlers(metric) } if err != nil { return nil, err } + return response.NewDefaultHttpResponse(resp), nil } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/region/region.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/region/region.go new file mode 100644 index 0000000000000000000000000000000000000000..6d9d603bf330016c17b3fb7672772a292f33935f --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/region/region.go @@ -0,0 +1,18 @@ +package region + +type Region struct { + Id string + Endpoint string +} + +func NewRegion(id string, endpoint string) *Region { + return &Region{ + Id: id, + Endpoint: endpoint, + } +} + +func (r *Region) WithEndpointOverride(endpoint string) *Region { + r.Endpoint = endpoint + return r +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/request/default_http_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/request/default_http_request.go index a3d06d2b42af9a54f2ce0a946637441163b1b54a..7ff6cc0b4630c196f8aecdf039cb7be31a0f9612 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/request/default_http_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/request/default_http_request.go @@ -20,23 +20,33 @@ package request import ( + "bufio" "bytes" "encoding/json" + "errors" "fmt" + "io" + "mime/multipart" "net/http" + "os" "reflect" "strings" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/def" ) type DefaultHttpRequest struct { - endpoint string - path string - method string - queryParams map[string]interface{} - pathParams map[string]string + endpoint string + path string + method string + + queryParams map[string]interface{} + pathParams map[string]string + headerParams map[string]string + formParams map[string]def.FormData + body interface{} + autoFilledPathParams map[string]string - headerParams map[string]string - body interface{} } func (httpRequest *DefaultHttpRequest) fillParamsInPath() *DefaultHttpRequest { @@ -78,18 +88,35 @@ func (httpRequest *DefaultHttpRequest) GetPathPrams() map[string]string { return httpRequest.pathParams } +func (httpRequest *DefaultHttpRequest) GetFormPrams() map[string]def.FormData { + return httpRequest.formParams +} + func (httpRequest *DefaultHttpRequest) GetBody() interface{} { return httpRequest.body } func (httpRequest *DefaultHttpRequest) GetBodyToBytes() (*bytes.Buffer, error) { buf := &bytes.Buffer{} + if httpRequest.body != nil { - err := json.NewEncoder(buf).Encode(httpRequest.body) - if err != nil { - return nil, err + v := reflect.ValueOf(httpRequest.body) + if v.Kind() == reflect.Ptr { + v = v.Elem() + } + + if v.Kind() == reflect.String { + buf.WriteString(v.Interface().(string)) + } else { + encoder := json.NewEncoder(buf) + encoder.SetEscapeHTML(false) + err := encoder.Encode(httpRequest.body) + if err != nil { + return nil, err + } } } + return buf, nil } @@ -105,18 +132,93 @@ func (httpRequest *DefaultHttpRequest) AddHeaderParam(key string, value string) httpRequest.headerParams[key] = value } +func (httpRequest *DefaultHttpRequest) AddFormParam(key string, value def.FormData) { + httpRequest.formParams[key] = value +} + func (httpRequest *DefaultHttpRequest) ConvertRequest() (*http.Request, error) { - buf, err := httpRequest.GetBodyToBytes() - if err != nil { - return nil, err + t := reflect.TypeOf(httpRequest.body) + if t != nil && t.Kind() == reflect.Ptr { + t = t.Elem() } - req, err := http.NewRequest(httpRequest.GetMethod(), httpRequest.GetEndpoint(), buf) - if err != nil { - return nil, err + + var req *http.Request + var err error + if httpRequest.body != nil && t != nil && t.Name() == "File" { + req, err = httpRequest.convertStreamBody(err, req) + if err != nil { + return nil, err + } + } else if len(httpRequest.GetFormPrams()) != 0 { + req, err = httpRequest.covertFormBody() + if err != nil { + return nil, err + } + } else { + var buf *bytes.Buffer + + buf, err = httpRequest.GetBodyToBytes() + if err != nil { + return nil, err + } + + req, err = http.NewRequest(httpRequest.GetMethod(), httpRequest.GetEndpoint(), buf) + if err != nil { + return nil, err + } } + httpRequest.fillPath(req) httpRequest.fillQueryParams(req) httpRequest.fillHeaderParams(req) + + return req, nil +} + +func (httpRequest *DefaultHttpRequest) covertFormBody() (*http.Request, error) { + bodyBuffer := &bytes.Buffer{} + bodyWriter := multipart.NewWriter(bodyBuffer) + + for k, v := range httpRequest.GetFormPrams() { + if err := v.Write(bodyWriter, k); err != nil { + return nil, err + } + } + + contentType := bodyWriter.FormDataContentType() + if err := bodyWriter.Close(); err != nil { + return nil, err + } + + req, err := http.NewRequest(httpRequest.GetMethod(), httpRequest.GetEndpoint(), bodyBuffer) + if err != nil { + return nil, err + } + + req.Header.Set("Content-type", contentType) + return req, nil +} + +func (httpRequest *DefaultHttpRequest) convertStreamBody(err error, req *http.Request) (*http.Request, error) { + bodyBuffer := &bytes.Buffer{} + + if f, ok := httpRequest.body.(os.File); !ok { + return nil, errors.New("failed to get stream request body") + } else { + buf := bufio.NewReader(&f) + writer := bufio.NewWriter(bodyBuffer) + + _, err = io.Copy(writer, buf) + if err != nil { + return nil, err + } + + req, err = http.NewRequest(httpRequest.GetMethod(), httpRequest.GetEndpoint(), bodyBuffer) + if err != nil { + return nil, err + } + } + return req, nil } @@ -124,7 +226,11 @@ func (httpRequest *DefaultHttpRequest) fillHeaderParams(req *http.Request) { if len(httpRequest.GetHeaderParams()) == 0 { return } + for key, value := range httpRequest.GetHeaderParams() { + if strings.EqualFold(key, "Content-type") && req.Header.Get("Content-type") != "" { + continue + } req.Header.Add(key, value) } } @@ -133,18 +239,96 @@ func (httpRequest *DefaultHttpRequest) fillQueryParams(req *http.Request) { if len(httpRequest.GetQueryParams()) == 0 { return } + q := req.URL.Query() for key, value := range httpRequest.GetQueryParams() { - if reflect.TypeOf(value).Kind() == reflect.Struct && value.(reflect.Value).Kind() == reflect.Slice { - s := value.(reflect.Value) - for i := 0; i < s.Len(); i++ { - q.Add(key, fmt.Sprintf("%v", s.Index(i))) + valueWithType := value.(reflect.Value) + + if valueWithType.Kind() == reflect.Slice { + params := httpRequest.CanonicalSliceQueryParamsToMulti(valueWithType) + for _, param := range params { + q.Add(key, param) + } + } else if valueWithType.Kind() == reflect.Map { + params := httpRequest.CanonicalMapQueryParams(key, valueWithType) + for _, param := range params { + for k, v := range param { + q.Add(k, v) + } } } else { - q.Add(key, fmt.Sprintf("%v", value)) + q.Add(key, httpRequest.CanonicalStringQueryParams(valueWithType)) } } - req.URL.RawQuery = q.Encode() + + req.URL.RawQuery = strings.ReplaceAll(strings.ReplaceAll(strings.Trim(q.Encode(), "="), "=&", "&"), "+", "%20") +} + +func (httpRequest *DefaultHttpRequest) CanonicalStringQueryParams(value reflect.Value) string { + return fmt.Sprintf("%v", value) +} + +func (httpRequest *DefaultHttpRequest) CanonicalSliceQueryParamsToMulti(value reflect.Value) []string { + params := make([]string, 0) + + for i := 0; i < value.Len(); i++ { + if value.Index(i).Kind() == reflect.Struct { + v, e := json.Marshal(value.Interface()) + if e == nil { + if strings.HasPrefix(string(v), "\"") { + params = append(params, strings.Trim(string(v), "\"")) + } else { + params = append(params, string(v)) + } + } + } else { + params = append(params, httpRequest.CanonicalStringQueryParams(value.Index(i))) + } + } + + return params +} + +func (httpRequest *DefaultHttpRequest) CanonicalMapQueryParams(key string, value reflect.Value) []map[string]string { + queryParams := make([]map[string]string, 0) + + for _, k := range value.MapKeys() { + if value.MapIndex(k).Kind() == reflect.Struct { + v, e := json.Marshal(value.Interface()) + if e == nil { + if strings.HasPrefix(string(v), "\"") { + queryParams = append(queryParams, map[string]string{ + key: strings.Trim(string(v), "\""), + }) + } else { + queryParams = append(queryParams, map[string]string{ + key: string(v), + }) + } + } + } else if value.MapIndex(k).Kind() == reflect.Slice { + params := httpRequest.CanonicalSliceQueryParamsToMulti(value.MapIndex(k)) + if len(params) == 0 { + queryParams = append(queryParams, map[string]string{ + fmt.Sprintf("%s[%s]", key, k): "", + }) + continue + } + for _, paramValue := range httpRequest.CanonicalSliceQueryParamsToMulti(value.MapIndex(k)) { + queryParams = append(queryParams, map[string]string{ + fmt.Sprintf("%s[%s]", key, k): paramValue, + }) + } + } else if value.MapIndex(k).Kind() == reflect.Map { + queryParams = append(queryParams, httpRequest.CanonicalMapQueryParams(fmt.Sprintf("%s[%s]", key, k), value.MapIndex(k))...) + } else { + queryParams = append(queryParams, map[string]string{ + fmt.Sprintf("%s[%s]", key, k): httpRequest.CanonicalStringQueryParams(value.MapIndex(k)), + }) + } + } + + return queryParams } func (httpRequest *DefaultHttpRequest) fillPath(req *http.Request) { @@ -163,6 +347,7 @@ func NewHttpRequestBuilder() *HttpRequestBuilder { headerParams: make(map[string]string), pathParams: make(map[string]string), autoFilledPathParams: make(map[string]string), + formParams: make(map[string]def.FormData), } httpRequestBuilder := &HttpRequestBuilder{ httpRequest: httpRequest, @@ -205,8 +390,39 @@ func (builder *HttpRequestBuilder) AddHeaderParam(key string, value string) *Htt return builder } -func (builder *HttpRequestBuilder) WithBody(body interface{}) *HttpRequestBuilder { - builder.httpRequest.body = body +func (builder *HttpRequestBuilder) AddFormParam(key string, value def.FormData) *HttpRequestBuilder { + builder.httpRequest.formParams[key] = value + return builder +} + +func (builder *HttpRequestBuilder) WithBody(kind string, body interface{}) *HttpRequestBuilder { + if kind == "multipart" { + v := reflect.ValueOf(body) + if v.Kind() == reflect.Ptr { + v = v.Elem() + } + + t := reflect.TypeOf(body) + if t.Kind() == reflect.Ptr { + t = t.Elem() + } + + fieldNum := t.NumField() + for i := 0; i < fieldNum; i++ { + jsonTag := t.Field(i).Tag.Get("json") + if jsonTag != "" { + if v.FieldByName(t.Field(i).Name).IsNil() && strings.Contains(jsonTag, "omitempty") { + continue + } + builder.AddFormParam(strings.Split(jsonTag, ",")[0], v.FieldByName(t.Field(i).Name).Interface().(def.FormData)) + } else { + builder.AddFormParam(t.Field(i).Name, v.FieldByName(t.Field(i).Name).Interface().(def.FormData)) + } + } + } else { + builder.httpRequest.body = body + } + return builder } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdkerr/types.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdkerr/types.go index e44b8b088ce0fde1d7b1caf716952e55b513b6e6..29b569a84651b455f257ebed73faa053c9ba4420 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdkerr/types.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdkerr/types.go @@ -21,11 +21,13 @@ package sdkerr import ( "bytes" - "encoding/json" "fmt" - jsoniter "github.com/json-iterator/go" "io/ioutil" "net/http" + + jsoniter "github.com/json-iterator/go" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" ) type CredentialsTypeError struct { @@ -94,11 +96,12 @@ func NewServiceResponseError(resp *http.Response) *ServiceResponseError { dataBuf := make(map[string]map[string]string) err := jsoniter.Unmarshal(data, &dataBuf) for _, value := range dataBuf { - if err == nil && value["code"] != "" { + if err == nil && value["code"] != "" && value["message"] != "" { sr.ErrorCode = value["code"] - } - if err == nil && value["message"] != "" { sr.ErrorMessage = value["message"] + } else if err == nil && value["error_code"] != "" && value["error_msg"] != "" { + sr.ErrorCode = value["error_code"] + sr.ErrorMessage = value["error_msg"] } } } else { @@ -126,7 +129,7 @@ func NewServiceResponseError(resp *http.Response) *ServiceResponseError { } func (sr ServiceResponseError) Error() string { - data, err := json.Marshal(sr) + data, err := utils.Marshal(sr) if err != nil { return fmt.Sprintf("{\"ErrorMessage\": \"%s\",\"ErrorCode\": \"%s\"}", sr.ErrorMessage, sr.ErrorCode) } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime/sdk_time.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime/sdk_time.go index 15173a55eefcadd1f318d92d535c5faac29ace35..690ae0da1e5ba99873b7c184d728ed9953d64ae0 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime/sdk_time.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime/sdk_time.go @@ -10,18 +10,44 @@ type SdkTime time.Time func (t *SdkTime) UnmarshalJSON(data []byte) error { tmp := strings.Trim(string(data[:]), "\"") + now, err := time.ParseInLocation(`2006-01-02T15:04:05Z`, tmp, time.UTC) - if err != nil { - now, err = time.ParseInLocation(`2006-01-02T15:04:05`, tmp, time.UTC) - if err != nil { - now, err = time.ParseInLocation(`2006-01-02 15:04:05`, tmp, time.UTC) - if err != nil { - return err - } - } + if err == nil { + *t = SdkTime(now) + return err + } + + now, err = time.ParseInLocation(`2006-01-02T15:04:05`, tmp, time.UTC) + if err == nil { + *t = SdkTime(now) + return err + } + + now, err = time.ParseInLocation(`2006-01-02 15:04:05`, tmp, time.UTC) + if err == nil { + *t = SdkTime(now) + return err + } + + now, err = time.ParseInLocation(`2006-01-02T15:04:05+08:00`, tmp, time.UTC) + if err == nil { + *t = SdkTime(now) + return err + } + + now, err = time.ParseInLocation(time.RFC3339, tmp, time.UTC) + if err == nil { + *t = SdkTime(now) + return err } - *t = SdkTime(now) - return nil + + now, err = time.ParseInLocation(time.RFC3339Nano, tmp, time.UTC) + if err == nil { + *t = SdkTime(now) + return err + } + + return err } func (t SdkTime) MarshalJSON() ([]byte, error) { @@ -30,7 +56,5 @@ func (t SdkTime) MarshalJSON() ([]byte, error) { } func (t SdkTime) String() string { - // return time.Time(t).Format(`2006-01-02T15:04:05Z`) - // temp solution for: https://github.com/huaweicloud/huaweicloud-sdk-go-v3/issues/8 - return time.Time(t).Format(`2006-01-02T15:04Z`) + return time.Time(t).Format(`2006-01-02T15:04:05Z`) } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils/json_utils.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils/json_utils.go new file mode 100644 index 0000000000000000000000000000000000000000..ca841bb07b2718f5c08498546b561a3871256887 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils/json_utils.go @@ -0,0 +1,14 @@ +package utils + +import ( + "bytes" + "encoding/json" +) + +func Marshal(i interface{}) ([]byte, error) { + buffer := bytes.NewBuffer([]byte{}) + encoder := json.NewEncoder(buffer) + encoder.SetEscapeHTML(false) + err := encoder.Encode(i) + return buffer.Bytes(), err +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils/string_utils.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils/string_utils.go new file mode 100644 index 0000000000000000000000000000000000000000..164ebe9528eac318a4478fa2a4fb59c43c258efc --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils/string_utils.go @@ -0,0 +1,28 @@ +// Copyright 2020 Huawei Technologies Co.,Ltd. +// +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +package utils + +import "strings" + +func UnderscoreToCamel(name string) string { + name = strings.Replace(name, "_", " ", -1) + name = strings.Title(name) + return strings.Replace(name, " ", "", -1) +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/as_client.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/as_client.go index 3b7abb87918a5072c18e3347a17f35235b403eda..edc9d14b6f6a6b6bc9f12ba44b58eabe8ce9d1ff 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/as_client.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/as_client.go @@ -6,11 +6,11 @@ import ( ) type AsClient struct { - hcClient *http_client.HcHttpClient + HcClient *http_client.HcHttpClient } func NewAsClient(hcClient *http_client.HcHttpClient) *AsClient { - return &AsClient{hcClient: hcClient} + return &AsClient{HcClient: hcClient} } func AsClientBuilder() *http_client.HcHttpClientBuilder { @@ -18,25 +18,124 @@ func AsClientBuilder() *http_client.HcHttpClientBuilder { return builder } +//通过生命周期操作令牌或者通过实例ID和生命周期挂钩名称对伸缩实例指定的挂钩进行回调操作。如果在超时时间结束前已完成自定义操作,选择终止或继续完成生命周期操作。如果需要更多时间完成自定义操作,选择延长超时时间,实例保持等待状态的时间将增加1小时。只有实例的生命周期挂钩状态为 HANGING 时才可以进行回调操作。 +func (c *AsClient) AttachCallbackInstanceLifeCycleHook(request *model.AttachCallbackInstanceLifeCycleHookRequest) (*model.AttachCallbackInstanceLifeCycleHookResponse, error) { + requestDef := GenReqDefForAttachCallbackInstanceLifeCycleHook() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.AttachCallbackInstanceLifeCycleHookResponse), nil + } +} + +//批量移出伸缩组中的实例或批量添加伸缩组外的实例。批量对伸缩组中的实例设置或取消其实例保护属性。批量将伸缩组中的实例转入或移出备用状态。 +func (c *AsClient) BatchAddScalingInstances(request *model.BatchAddScalingInstancesRequest) (*model.BatchAddScalingInstancesResponse, error) { + requestDef := GenReqDefForBatchAddScalingInstances() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.BatchAddScalingInstancesResponse), nil + } +} + //批量删除指定弹性伸缩配置。被伸缩组使用的伸缩配置不能被删除。单次最多删除伸缩配置个数为50。 func (c *AsClient) BatchDeleteScalingConfigs(request *model.BatchDeleteScalingConfigsRequest) (*model.BatchDeleteScalingConfigsResponse, error) { requestDef := GenReqDefForBatchDeleteScalingConfigs() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.BatchDeleteScalingConfigsResponse), nil } } -//通过生命周期操作令牌或者通过实例ID和生命周期挂钩名称对伸缩实例指定的挂钩进行回调操作。如果在超时时间结束前已完成自定义操作,选择终止或继续完成生命周期操作。如果需要更多时间完成自定义操作,选择延长超时时间,实例保持等待状态的时间将增加1小时。只有实例的生命周期挂钩状态为 HANGING 时才可以进行回调操作。 -func (c *AsClient) CompleteLifecycleAction(request *model.CompleteLifecycleActionRequest) (*model.CompleteLifecycleActionResponse, error) { - requestDef := GenReqDefForCompleteLifecycleAction() +//批量启用、停用或者删除弹性伸缩策略。单次最多批量操作伸缩策略个数为20。 +func (c *AsClient) BatchDeleteScalingPolicies(request *model.BatchDeleteScalingPoliciesRequest) (*model.BatchDeleteScalingPoliciesResponse, error) { + requestDef := GenReqDefForBatchDeleteScalingPolicies() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.BatchDeleteScalingPoliciesResponse), nil + } +} + +//批量启用、停用或者删除弹性伸缩策略。单次最多批量操作伸缩策略个数为20。 +func (c *AsClient) BatchPauseScalingPolicies(request *model.BatchPauseScalingPoliciesRequest) (*model.BatchPauseScalingPoliciesResponse, error) { + requestDef := GenReqDefForBatchPauseScalingPolicies() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.BatchPauseScalingPoliciesResponse), nil + } +} - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { +//批量移出伸缩组中的实例或批量添加伸缩组外的实例。批量对伸缩组中的实例设置或取消其实例保护属性。批量将伸缩组中的实例转入或移出备用状态。 +func (c *AsClient) BatchProtectScalingInstances(request *model.BatchProtectScalingInstancesRequest) (*model.BatchProtectScalingInstancesResponse, error) { + requestDef := GenReqDefForBatchProtectScalingInstances() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp.(*model.CompleteLifecycleActionResponse), nil + return resp.(*model.BatchProtectScalingInstancesResponse), nil + } +} + +//批量移出伸缩组中的实例或批量添加伸缩组外的实例。批量对伸缩组中的实例设置或取消其实例保护属性。批量将伸缩组中的实例转入或移出备用状态。 +func (c *AsClient) BatchRemoveScalingInstances(request *model.BatchRemoveScalingInstancesRequest) (*model.BatchRemoveScalingInstancesResponse, error) { + requestDef := GenReqDefForBatchRemoveScalingInstances() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.BatchRemoveScalingInstancesResponse), nil + } +} + +//批量启用、停用或者删除弹性伸缩策略。单次最多批量操作伸缩策略个数为20。 +func (c *AsClient) BatchResumeScalingPolicies(request *model.BatchResumeScalingPoliciesRequest) (*model.BatchResumeScalingPoliciesResponse, error) { + requestDef := GenReqDefForBatchResumeScalingPolicies() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.BatchResumeScalingPoliciesResponse), nil + } +} + +//批量移出伸缩组中的实例或批量添加伸缩组外的实例。批量对伸缩组中的实例设置或取消其实例保护属性。批量将伸缩组中的实例转入或移出备用状态。 +func (c *AsClient) BatchSetScalingInstancesStandby(request *model.BatchSetScalingInstancesStandbyRequest) (*model.BatchSetScalingInstancesStandbyResponse, error) { + requestDef := GenReqDefForBatchSetScalingInstancesStandby() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.BatchSetScalingInstancesStandbyResponse), nil + } +} + +//批量移出伸缩组中的实例或批量添加伸缩组外的实例。批量对伸缩组中的实例设置或取消其实例保护属性。批量将伸缩组中的实例转入或移出备用状态。 +func (c *AsClient) BatchUnprotectScalingInstances(request *model.BatchUnprotectScalingInstancesRequest) (*model.BatchUnprotectScalingInstancesResponse, error) { + requestDef := GenReqDefForBatchUnprotectScalingInstances() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.BatchUnprotectScalingInstancesResponse), nil + } +} + +//批量移出伸缩组中的实例或批量添加伸缩组外的实例。批量对伸缩组中的实例设置或取消其实例保护属性。批量将伸缩组中的实例转入或移出备用状态。 +func (c *AsClient) BatchUnsetScalingInstancesStantby(request *model.BatchUnsetScalingInstancesStantbyRequest) (*model.BatchUnsetScalingInstancesStantbyResponse, error) { + requestDef := GenReqDefForBatchUnsetScalingInstancesStantby() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.BatchUnsetScalingInstancesStantbyResponse), nil } } @@ -44,7 +143,7 @@ func (c *AsClient) CompleteLifecycleAction(request *model.CompleteLifecycleActio func (c *AsClient) CreateLifyCycleHook(request *model.CreateLifyCycleHookRequest) (*model.CreateLifyCycleHookResponse, error) { requestDef := GenReqDefForCreateLifyCycleHook() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.CreateLifyCycleHookResponse), nil @@ -55,7 +154,7 @@ func (c *AsClient) CreateLifyCycleHook(request *model.CreateLifyCycleHookRequest func (c *AsClient) CreateScalingConfig(request *model.CreateScalingConfigRequest) (*model.CreateScalingConfigResponse, error) { requestDef := GenReqDefForCreateScalingConfig() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.CreateScalingConfigResponse), nil @@ -66,7 +165,7 @@ func (c *AsClient) CreateScalingConfig(request *model.CreateScalingConfigRequest func (c *AsClient) CreateScalingGroup(request *model.CreateScalingGroupRequest) (*model.CreateScalingGroupResponse, error) { requestDef := GenReqDefForCreateScalingGroup() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.CreateScalingGroupResponse), nil @@ -77,7 +176,7 @@ func (c *AsClient) CreateScalingGroup(request *model.CreateScalingGroupRequest) func (c *AsClient) CreateScalingNotification(request *model.CreateScalingNotificationRequest) (*model.CreateScalingNotificationResponse, error) { requestDef := GenReqDefForCreateScalingNotification() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.CreateScalingNotificationResponse), nil @@ -88,7 +187,7 @@ func (c *AsClient) CreateScalingNotification(request *model.CreateScalingNotific func (c *AsClient) CreateScalingPolicy(request *model.CreateScalingPolicyRequest) (*model.CreateScalingPolicyResponse, error) { requestDef := GenReqDefForCreateScalingPolicy() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.CreateScalingPolicyResponse), nil @@ -96,13 +195,13 @@ func (c *AsClient) CreateScalingPolicy(request *model.CreateScalingPolicyRequest } //创建或删除指定资源的标签。每个伸缩组最多添加10个标签。 -func (c *AsClient) CreateScalingTags(request *model.CreateScalingTagsRequest) (*model.CreateScalingTagsResponse, error) { - requestDef := GenReqDefForCreateScalingTags() +func (c *AsClient) CreateScalingTagInfo(request *model.CreateScalingTagInfoRequest) (*model.CreateScalingTagInfoResponse, error) { + requestDef := GenReqDefForCreateScalingTagInfo() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp.(*model.CreateScalingTagsResponse), nil + return resp.(*model.CreateScalingTagInfoResponse), nil } } @@ -110,7 +209,7 @@ func (c *AsClient) CreateScalingTags(request *model.CreateScalingTagsRequest) (* func (c *AsClient) DeleteLifecycleHook(request *model.DeleteLifecycleHookRequest) (*model.DeleteLifecycleHookResponse, error) { requestDef := GenReqDefForDeleteLifecycleHook() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.DeleteLifecycleHookResponse), nil @@ -121,7 +220,7 @@ func (c *AsClient) DeleteLifecycleHook(request *model.DeleteLifecycleHookRequest func (c *AsClient) DeleteScalingConfig(request *model.DeleteScalingConfigRequest) (*model.DeleteScalingConfigResponse, error) { requestDef := GenReqDefForDeleteScalingConfig() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.DeleteScalingConfigResponse), nil @@ -132,7 +231,7 @@ func (c *AsClient) DeleteScalingConfig(request *model.DeleteScalingConfigRequest func (c *AsClient) DeleteScalingGroup(request *model.DeleteScalingGroupRequest) (*model.DeleteScalingGroupResponse, error) { requestDef := GenReqDefForDeleteScalingGroup() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.DeleteScalingGroupResponse), nil @@ -143,7 +242,7 @@ func (c *AsClient) DeleteScalingGroup(request *model.DeleteScalingGroupRequest) func (c *AsClient) DeleteScalingInstance(request *model.DeleteScalingInstanceRequest) (*model.DeleteScalingInstanceResponse, error) { requestDef := GenReqDefForDeleteScalingInstance() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.DeleteScalingInstanceResponse), nil @@ -154,7 +253,7 @@ func (c *AsClient) DeleteScalingInstance(request *model.DeleteScalingInstanceReq func (c *AsClient) DeleteScalingNotification(request *model.DeleteScalingNotificationRequest) (*model.DeleteScalingNotificationResponse, error) { requestDef := GenReqDefForDeleteScalingNotification() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.DeleteScalingNotificationResponse), nil @@ -165,7 +264,7 @@ func (c *AsClient) DeleteScalingNotification(request *model.DeleteScalingNotific func (c *AsClient) DeleteScalingPolicy(request *model.DeleteScalingPolicyRequest) (*model.DeleteScalingPolicyResponse, error) { requestDef := GenReqDefForDeleteScalingPolicy() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.DeleteScalingPolicyResponse), nil @@ -173,24 +272,13 @@ func (c *AsClient) DeleteScalingPolicy(request *model.DeleteScalingPolicyRequest } //创建或删除指定资源的标签。每个伸缩组最多添加10个标签。 -func (c *AsClient) DeleteScalingTags(request *model.DeleteScalingTagsRequest) (*model.DeleteScalingTagsResponse, error) { - requestDef := GenReqDefForDeleteScalingTags() - - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { - return nil, err - } else { - return resp.(*model.DeleteScalingTagsResponse), nil - } -} - -//启用或停止一个指定弹性伸缩组。已停用状态的伸缩组,不会自动触发任何伸缩活动。当伸缩组正在进行伸缩活动,即使停用,正在进行的伸缩活动也不会立即停止。 -func (c *AsClient) EnableOrDisableScalingGroup(request *model.EnableOrDisableScalingGroupRequest) (*model.EnableOrDisableScalingGroupResponse, error) { - requestDef := GenReqDefForEnableOrDisableScalingGroup() +func (c *AsClient) DeleteScalingTagInfo(request *model.DeleteScalingTagInfoRequest) (*model.DeleteScalingTagInfoResponse, error) { + requestDef := GenReqDefForDeleteScalingTagInfo() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp.(*model.EnableOrDisableScalingGroupResponse), nil + return resp.(*model.DeleteScalingTagInfoResponse), nil } } @@ -198,7 +286,7 @@ func (c *AsClient) EnableOrDisableScalingGroup(request *model.EnableOrDisableSca func (c *AsClient) ExecuteScalingPolicy(request *model.ExecuteScalingPolicyRequest) (*model.ExecuteScalingPolicyResponse, error) { requestDef := GenReqDefForExecuteScalingPolicy() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ExecuteScalingPolicyResponse), nil @@ -209,7 +297,7 @@ func (c *AsClient) ExecuteScalingPolicy(request *model.ExecuteScalingPolicyReque func (c *AsClient) ListHookInstances(request *model.ListHookInstancesRequest) (*model.ListHookInstancesResponse, error) { requestDef := GenReqDefForListHookInstances() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ListHookInstancesResponse), nil @@ -220,7 +308,7 @@ func (c *AsClient) ListHookInstances(request *model.ListHookInstancesRequest) (* func (c *AsClient) ListLifeCycleHooks(request *model.ListLifeCycleHooksRequest) (*model.ListLifeCycleHooksResponse, error) { requestDef := GenReqDefForListLifeCycleHooks() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ListLifeCycleHooksResponse), nil @@ -231,7 +319,7 @@ func (c *AsClient) ListLifeCycleHooks(request *model.ListLifeCycleHooksRequest) func (c *AsClient) ListResourceInstances(request *model.ListResourceInstancesRequest) (*model.ListResourceInstancesResponse, error) { requestDef := GenReqDefForListResourceInstances() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ListResourceInstancesResponse), nil @@ -242,18 +330,29 @@ func (c *AsClient) ListResourceInstances(request *model.ListResourceInstancesReq func (c *AsClient) ListScalingActivityLogs(request *model.ListScalingActivityLogsRequest) (*model.ListScalingActivityLogsResponse, error) { requestDef := GenReqDefForListScalingActivityLogs() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ListScalingActivityLogsResponse), nil } } +//根据输入条件过滤查询伸缩活动日志,支持查询实例伸缩、ELB迁移、实例备用等类型活动。查询结果分页显示。查询伸缩活动日志V2版本与V1版本区别在于,V2版本展示了更详细的实例伸缩日志,如ELB迁移日志,实例备用日志信息。可根据起始时间,截止时间,起始行号,记录数,伸缩活动类型等作为条件过滤查询。若不加过滤条件默认查询最多20条伸缩活动日志信息。 +func (c *AsClient) ListScalingActivityV2Logs(request *model.ListScalingActivityV2LogsRequest) (*model.ListScalingActivityV2LogsResponse, error) { + requestDef := GenReqDefForListScalingActivityV2Logs() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListScalingActivityV2LogsResponse), nil + } +} + //根据输入条件过滤查询弹性伸缩配置。查询结果分页显示。可以根据伸缩配置名称,镜像ID,起始行号,记录条数进行条件过滤查询。若不加过滤条件默认最多查询租户下20条伸缩配置信息。 func (c *AsClient) ListScalingConfigs(request *model.ListScalingConfigsRequest) (*model.ListScalingConfigsResponse, error) { requestDef := GenReqDefForListScalingConfigs() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ListScalingConfigsResponse), nil @@ -264,7 +363,7 @@ func (c *AsClient) ListScalingConfigs(request *model.ListScalingConfigsRequest) func (c *AsClient) ListScalingGroups(request *model.ListScalingGroupsRequest) (*model.ListScalingGroupsResponse, error) { requestDef := GenReqDefForListScalingGroups() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ListScalingGroupsResponse), nil @@ -275,7 +374,7 @@ func (c *AsClient) ListScalingGroups(request *model.ListScalingGroupsRequest) (* func (c *AsClient) ListScalingInstances(request *model.ListScalingInstancesRequest) (*model.ListScalingInstancesResponse, error) { requestDef := GenReqDefForListScalingInstances() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ListScalingInstancesResponse), nil @@ -286,7 +385,7 @@ func (c *AsClient) ListScalingInstances(request *model.ListScalingInstancesReque func (c *AsClient) ListScalingNotifications(request *model.ListScalingNotificationsRequest) (*model.ListScalingNotificationsResponse, error) { requestDef := GenReqDefForListScalingNotifications() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ListScalingNotificationsResponse), nil @@ -297,7 +396,7 @@ func (c *AsClient) ListScalingNotifications(request *model.ListScalingNotificati func (c *AsClient) ListScalingPolicies(request *model.ListScalingPoliciesRequest) (*model.ListScalingPoliciesResponse, error) { requestDef := GenReqDefForListScalingPolicies() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ListScalingPoliciesResponse), nil @@ -308,7 +407,7 @@ func (c *AsClient) ListScalingPolicies(request *model.ListScalingPoliciesRequest func (c *AsClient) ListScalingPolicyExecuteLogs(request *model.ListScalingPolicyExecuteLogsRequest) (*model.ListScalingPolicyExecuteLogsResponse, error) { requestDef := GenReqDefForListScalingPolicyExecuteLogs() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ListScalingPolicyExecuteLogsResponse), nil @@ -319,7 +418,7 @@ func (c *AsClient) ListScalingPolicyExecuteLogs(request *model.ListScalingPolicy func (c *AsClient) ListScalingTagInfosByResourceId(request *model.ListScalingTagInfosByResourceIdRequest) (*model.ListScalingTagInfosByResourceIdResponse, error) { requestDef := GenReqDefForListScalingTagInfosByResourceId() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ListScalingTagInfosByResourceIdResponse), nil @@ -330,18 +429,62 @@ func (c *AsClient) ListScalingTagInfosByResourceId(request *model.ListScalingTag func (c *AsClient) ListScalingTagInfosByTenantId(request *model.ListScalingTagInfosByTenantIdRequest) (*model.ListScalingTagInfosByTenantIdResponse, error) { requestDef := GenReqDefForListScalingTagInfosByTenantId() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ListScalingTagInfosByTenantIdResponse), nil } } +//启用或停止一个指定弹性伸缩组。已停用状态的伸缩组,不会自动触发任何伸缩活动。当伸缩组正在进行伸缩活动,即使停用,正在进行的伸缩活动也不会立即停止。 +func (c *AsClient) PauseScalingGroup(request *model.PauseScalingGroupRequest) (*model.PauseScalingGroupResponse, error) { + requestDef := GenReqDefForPauseScalingGroup() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.PauseScalingGroupResponse), nil + } +} + +//立即执行或启用或停止一个指定弹性伸缩策略。当伸缩组、伸缩策略状态处于INSERVICE时,伸缩策略才能被正确执行,否则会执行失败。 +func (c *AsClient) PauseScalingPolicy(request *model.PauseScalingPolicyRequest) (*model.PauseScalingPolicyResponse, error) { + requestDef := GenReqDefForPauseScalingPolicy() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.PauseScalingPolicyResponse), nil + } +} + +//启用或停止一个指定弹性伸缩组。已停用状态的伸缩组,不会自动触发任何伸缩活动。当伸缩组正在进行伸缩活动,即使停用,正在进行的伸缩活动也不会立即停止。 +func (c *AsClient) ResumeScalingGroup(request *model.ResumeScalingGroupRequest) (*model.ResumeScalingGroupResponse, error) { + requestDef := GenReqDefForResumeScalingGroup() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ResumeScalingGroupResponse), nil + } +} + +//立即执行或启用或停止一个指定弹性伸缩策略。当伸缩组、伸缩策略状态处于INSERVICE时,伸缩策略才能被正确执行,否则会执行失败。 +func (c *AsClient) ResumeScalingPolicy(request *model.ResumeScalingPolicyRequest) (*model.ResumeScalingPolicyResponse, error) { + requestDef := GenReqDefForResumeScalingPolicy() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ResumeScalingPolicyResponse), nil + } +} + //根据伸缩组ID及生命周期挂钩名称查询指定的生命周期挂钩详情。 func (c *AsClient) ShowLifeCycleHook(request *model.ShowLifeCycleHookRequest) (*model.ShowLifeCycleHookResponse, error) { requestDef := GenReqDefForShowLifeCycleHook() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ShowLifeCycleHookResponse), nil @@ -352,7 +495,7 @@ func (c *AsClient) ShowLifeCycleHook(request *model.ShowLifeCycleHookRequest) (* func (c *AsClient) ShowPolicyAndInstanceQuota(request *model.ShowPolicyAndInstanceQuotaRequest) (*model.ShowPolicyAndInstanceQuotaResponse, error) { requestDef := GenReqDefForShowPolicyAndInstanceQuota() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ShowPolicyAndInstanceQuotaResponse), nil @@ -363,7 +506,7 @@ func (c *AsClient) ShowPolicyAndInstanceQuota(request *model.ShowPolicyAndInstan func (c *AsClient) ShowResourceQuota(request *model.ShowResourceQuotaRequest) (*model.ShowResourceQuotaResponse, error) { requestDef := GenReqDefForShowResourceQuota() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ShowResourceQuotaResponse), nil @@ -374,7 +517,7 @@ func (c *AsClient) ShowResourceQuota(request *model.ShowResourceQuotaRequest) (* func (c *AsClient) ShowScalingConfig(request *model.ShowScalingConfigRequest) (*model.ShowScalingConfigResponse, error) { requestDef := GenReqDefForShowScalingConfig() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ShowScalingConfigResponse), nil @@ -385,7 +528,7 @@ func (c *AsClient) ShowScalingConfig(request *model.ShowScalingConfigRequest) (* func (c *AsClient) ShowScalingGroup(request *model.ShowScalingGroupRequest) (*model.ShowScalingGroupResponse, error) { requestDef := GenReqDefForShowScalingGroup() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ShowScalingGroupResponse), nil @@ -396,7 +539,7 @@ func (c *AsClient) ShowScalingGroup(request *model.ShowScalingGroupRequest) (*mo func (c *AsClient) ShowScalingPolicy(request *model.ShowScalingPolicyRequest) (*model.ShowScalingPolicyResponse, error) { requestDef := GenReqDefForShowScalingPolicy() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ShowScalingPolicyResponse), nil @@ -407,7 +550,7 @@ func (c *AsClient) ShowScalingPolicy(request *model.ShowScalingPolicyRequest) (* func (c *AsClient) UpdateLifeCycleHook(request *model.UpdateLifeCycleHookRequest) (*model.UpdateLifeCycleHookResponse, error) { requestDef := GenReqDefForUpdateLifeCycleHook() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.UpdateLifeCycleHookResponse), nil @@ -418,31 +561,97 @@ func (c *AsClient) UpdateLifeCycleHook(request *model.UpdateLifeCycleHookRequest func (c *AsClient) UpdateScalingGroup(request *model.UpdateScalingGroupRequest) (*model.UpdateScalingGroupResponse, error) { requestDef := GenReqDefForUpdateScalingGroup() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.UpdateScalingGroupResponse), nil } } -//批量移出伸缩组中的实例或批量添加伸缩组外的实例。批量对伸缩组中的实例设置或取消其实例保护属性。批量将伸缩组中的实例转入或移出备用状态。 -func (c *AsClient) UpdateScalingGroupInstance(request *model.UpdateScalingGroupInstanceRequest) (*model.UpdateScalingGroupInstanceResponse, error) { - requestDef := GenReqDefForUpdateScalingGroupInstance() +//修改指定弹性伸缩策略。 +func (c *AsClient) UpdateScalingPolicy(request *model.UpdateScalingPolicyRequest) (*model.UpdateScalingPolicyResponse, error) { + requestDef := GenReqDefForUpdateScalingPolicy() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp.(*model.UpdateScalingGroupInstanceResponse), nil + return resp.(*model.UpdateScalingPolicyResponse), nil } } -//修改指定弹性伸缩策略。 -func (c *AsClient) UpdateScalingPolicy(request *model.UpdateScalingPolicyRequest) (*model.UpdateScalingPolicyResponse, error) { - requestDef := GenReqDefForUpdateScalingPolicy() +//查询弹性伸缩API所有版本信息 +func (c *AsClient) ListApiVersions(request *model.ListApiVersionsRequest) (*model.ListApiVersionsResponse, error) { + requestDef := GenReqDefForListApiVersions() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp.(*model.UpdateScalingPolicyResponse), nil + return resp.(*model.ListApiVersionsResponse), nil + } +} + +//根据租户id和资源id查询指定资源类型的标签列表 +func (c *AsClient) ShowApiVersion(request *model.ShowApiVersionRequest) (*model.ShowApiVersionResponse, error) { + requestDef := GenReqDefForShowApiVersion() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowApiVersionResponse), nil + } +} + +//可针对不同类型资源如伸缩组或带宽,创建弹性伸缩策略。创建弹性伸缩策略V2版本与V1版本的区别在于,V2版本支持创建对带宽资源进行调整的策略,通过伸缩资源类型区分伸缩资源。 +func (c *AsClient) CreateScalingV2Policy(request *model.CreateScalingV2PolicyRequest) (*model.CreateScalingV2PolicyResponse, error) { + requestDef := GenReqDefForCreateScalingV2Policy() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateScalingV2PolicyResponse), nil + } +} + +//根据输入条件过滤查询弹性伸缩策略,支持查询当前租户下全量伸缩策略。查询结果分页显示。可根据伸缩资源ID,伸缩资源类型,伸缩策略名称,伸缩策略ID,告警ID,企业项目ID,起始行号,记录数,排序方式等条件进行过滤查询。若不加过滤添加默认查询该租户下最多20条伸缩策略信息。 +func (c *AsClient) ListAllScalingV2Policies(request *model.ListAllScalingV2PoliciesRequest) (*model.ListAllScalingV2PoliciesResponse, error) { + requestDef := GenReqDefForListAllScalingV2Policies() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListAllScalingV2PoliciesResponse), nil + } +} + +//根据输入条件过滤查询弹性伸缩策略。查询结果分页显示。查询弹性伸缩策略V2版本与V1版本的区别在于,V2版本响应含伸缩资源类型。可根据伸缩策略名称,策略类型,伸缩策略ID,起始行号,记录数进行条件过滤查询。若不加过滤条件默认查询该租户下指定资源下最多20条伸缩策略信息。 +func (c *AsClient) ListScalingV2Policies(request *model.ListScalingV2PoliciesRequest) (*model.ListScalingV2PoliciesResponse, error) { + requestDef := GenReqDefForListScalingV2Policies() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListScalingV2PoliciesResponse), nil + } +} + +//查询指定弹性伸缩策略信息。 +func (c *AsClient) ShowScalingV2Policy(request *model.ShowScalingV2PolicyRequest) (*model.ShowScalingV2PolicyResponse, error) { + requestDef := GenReqDefForShowScalingV2Policy() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowScalingV2PolicyResponse), nil + } +} + +//修改指定弹性伸缩策略。修改弹性伸缩策略V2版本与V1版本的区别在于,V2版本支持修改伸缩资源类型。 +func (c *AsClient) UpdateScalingV2Policy(request *model.UpdateScalingV2PolicyRequest) (*model.UpdateScalingV2PolicyResponse, error) { + requestDef := GenReqDefForUpdateScalingV2Policy() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.UpdateScalingV2PolicyResponse), nil } } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/as_meta.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/as_meta.go index 2400aaae9b94f575d530fe6bbdb141c953881d58..daedd7df4afb1c41fdb885b90d89058c37d379bd 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/as_meta.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/as_meta.go @@ -1,11 +1,52 @@ package v1 import ( + "net/http" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/def" "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model" - "net/http" ) +func GenReqDefForAttachCallbackInstanceLifeCycleHook() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/autoscaling-api/v1/{project_id}/scaling_instance_hook/{scaling_group_id}/callback"). + WithResponse(new(model.AttachCallbackInstanceLifeCycleHookResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForBatchAddScalingInstances() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/autoscaling-api/v1/{project_id}/scaling_group_instance/{scaling_group_id}/action"). + WithResponse(new(model.BatchAddScalingInstancesResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + func GenReqDefForBatchDeleteScalingConfigs() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). @@ -13,26 +54,126 @@ func GenReqDefForBatchDeleteScalingConfigs() *def.HttpRequestDef { WithResponse(new(model.BatchDeleteScalingConfigsResponse)). WithContentType("application/json;charset=UTF-8") - // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForBatchDeleteScalingPolicies() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/autoscaling-api/v1/{project_id}/scaling_policies/action"). + WithResponse(new(model.BatchDeleteScalingPoliciesResponse)). + WithContentType("application/json;charset=UTF-8") reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("Body"). WithLocationType(def.Body)) - // response + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForBatchPauseScalingPolicies() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/autoscaling-api/v1/{project_id}/scaling_policies/action"). + WithResponse(new(model.BatchPauseScalingPoliciesResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) requestDef := reqDefBuilder.Build() return requestDef } -func GenReqDefForCompleteLifecycleAction() *def.HttpRequestDef { +func GenReqDefForBatchProtectScalingInstances() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). - WithMethod(http.MethodPut). - WithPath("/autoscaling-api/v1/{project_id}/scaling_instance_hook/{scaling_group_id}/callback"). - WithResponse(new(model.CompleteLifecycleActionResponse)). + WithMethod(http.MethodPost). + WithPath("/autoscaling-api/v1/{project_id}/scaling_group_instance/{scaling_group_id}/action"). + WithResponse(new(model.BatchProtectScalingInstancesResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForBatchRemoveScalingInstances() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/autoscaling-api/v1/{project_id}/scaling_group_instance/{scaling_group_id}/action"). + WithResponse(new(model.BatchRemoveScalingInstancesResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForBatchResumeScalingPolicies() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/autoscaling-api/v1/{project_id}/scaling_policies/action"). + WithResponse(new(model.BatchResumeScalingPoliciesResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForBatchSetScalingInstancesStandby() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/autoscaling-api/v1/{project_id}/scaling_group_instance/{scaling_group_id}/action"). + WithResponse(new(model.BatchSetScalingInstancesStandbyResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForBatchUnprotectScalingInstances() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/autoscaling-api/v1/{project_id}/scaling_group_instance/{scaling_group_id}/action"). + WithResponse(new(model.BatchUnprotectScalingInstancesResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ScalingGroupId"). WithJsonTag("scaling_group_id"). @@ -42,7 +183,25 @@ func GenReqDefForCompleteLifecycleAction() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForBatchUnsetScalingInstancesStantby() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/autoscaling-api/v1/{project_id}/scaling_group_instance/{scaling_group_id}/action"). + WithResponse(new(model.BatchUnsetScalingInstancesStantbyResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) requestDef := reqDefBuilder.Build() return requestDef @@ -55,7 +214,6 @@ func GenReqDefForCreateLifyCycleHook() *def.HttpRequestDef { WithResponse(new(model.CreateLifyCycleHookResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ScalingGroupId"). WithJsonTag("scaling_group_id"). @@ -65,8 +223,6 @@ func GenReqDefForCreateLifyCycleHook() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -78,14 +234,10 @@ func GenReqDefForCreateScalingConfig() *def.HttpRequestDef { WithResponse(new(model.CreateScalingConfigResponse)). WithContentType("application/json;charset=UTF-8") - // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -97,14 +249,10 @@ func GenReqDefForCreateScalingGroup() *def.HttpRequestDef { WithResponse(new(model.CreateScalingGroupResponse)). WithContentType("application/json;charset=UTF-8") - // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -116,7 +264,6 @@ func GenReqDefForCreateScalingNotification() *def.HttpRequestDef { WithResponse(new(model.CreateScalingNotificationResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ScalingGroupId"). WithJsonTag("scaling_group_id"). @@ -126,8 +273,6 @@ func GenReqDefForCreateScalingNotification() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -139,26 +284,21 @@ func GenReqDefForCreateScalingPolicy() *def.HttpRequestDef { WithResponse(new(model.CreateScalingPolicyResponse)). WithContentType("application/json;charset=UTF-8") - // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } -func GenReqDefForCreateScalingTags() *def.HttpRequestDef { +func GenReqDefForCreateScalingTagInfo() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/autoscaling-api/v1/{project_id}/{resource_type}/{resource_id}/tags/action"). - WithResponse(new(model.CreateScalingTagsResponse)). + WithResponse(new(model.CreateScalingTagInfoResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ResourceType"). WithJsonTag("resource_type"). @@ -172,8 +312,6 @@ func GenReqDefForCreateScalingTags() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -182,9 +320,9 @@ func GenReqDefForDeleteLifecycleHook() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). WithPath("/autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}/{lifecycle_hook_name}"). - WithResponse(new(model.DeleteLifecycleHookResponse)) + WithResponse(new(model.DeleteLifecycleHookResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ScalingGroupId"). WithJsonTag("scaling_group_id"). @@ -194,8 +332,6 @@ func GenReqDefForDeleteLifecycleHook() *def.HttpRequestDef { WithJsonTag("lifecycle_hook_name"). WithLocationType(def.Path)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -204,16 +340,14 @@ func GenReqDefForDeleteScalingConfig() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). WithPath("/autoscaling-api/v1/{project_id}/scaling_configuration/{scaling_configuration_id}"). - WithResponse(new(model.DeleteScalingConfigResponse)) + WithResponse(new(model.DeleteScalingConfigResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ScalingConfigurationId"). WithJsonTag("scaling_configuration_id"). WithLocationType(def.Path)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -222,9 +356,9 @@ func GenReqDefForDeleteScalingGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). WithPath("/autoscaling-api/v1/{project_id}/scaling_group/{scaling_group_id}"). - WithResponse(new(model.DeleteScalingGroupResponse)) + WithResponse(new(model.DeleteScalingGroupResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ScalingGroupId"). WithJsonTag("scaling_group_id"). @@ -235,8 +369,6 @@ func GenReqDefForDeleteScalingGroup() *def.HttpRequestDef { WithJsonTag("force_delete"). WithLocationType(def.Query)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -245,9 +377,9 @@ func GenReqDefForDeleteScalingInstance() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). WithPath("/autoscaling-api/v1/{project_id}/scaling_group_instance/{instance_id}"). - WithResponse(new(model.DeleteScalingInstanceResponse)) + WithResponse(new(model.DeleteScalingInstanceResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("InstanceId"). WithJsonTag("instance_id"). @@ -258,8 +390,6 @@ func GenReqDefForDeleteScalingInstance() *def.HttpRequestDef { WithJsonTag("instance_delete"). WithLocationType(def.Query)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -268,9 +398,9 @@ func GenReqDefForDeleteScalingNotification() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). WithPath("/autoscaling-api/v1/{project_id}/scaling_notification/{scaling_group_id}/{topic_urn}"). - WithResponse(new(model.DeleteScalingNotificationResponse)) + WithResponse(new(model.DeleteScalingNotificationResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ScalingGroupId"). WithJsonTag("scaling_group_id"). @@ -280,8 +410,6 @@ func GenReqDefForDeleteScalingNotification() *def.HttpRequestDef { WithJsonTag("topic_urn"). WithLocationType(def.Path)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -290,28 +418,25 @@ func GenReqDefForDeleteScalingPolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). WithPath("/autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}"). - WithResponse(new(model.DeleteScalingPolicyResponse)) + WithResponse(new(model.DeleteScalingPolicyResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ScalingPolicyId"). WithJsonTag("scaling_policy_id"). WithLocationType(def.Path)) - // response - requestDef := reqDefBuilder.Build() return requestDef } -func GenReqDefForDeleteScalingTags() *def.HttpRequestDef { +func GenReqDefForDeleteScalingTagInfo() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/autoscaling-api/v1/{project_id}/{resource_type}/{resource_id}/tags/action"). - WithResponse(new(model.DeleteScalingTagsResponse)). + WithResponse(new(model.DeleteScalingTagInfoResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ResourceType"). WithJsonTag("resource_type"). @@ -325,31 +450,6 @@ func GenReqDefForDeleteScalingTags() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response - - requestDef := reqDefBuilder.Build() - return requestDef -} - -func GenReqDefForEnableOrDisableScalingGroup() *def.HttpRequestDef { - reqDefBuilder := def.NewHttpRequestDefBuilder(). - WithMethod(http.MethodPost). - WithPath("/autoscaling-api/v1/{project_id}/scaling_group/{scaling_group_id}/action"). - WithResponse(new(model.EnableOrDisableScalingGroupResponse)). - WithContentType("application/json;charset=UTF-8") - - // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("ScalingGroupId"). - WithJsonTag("scaling_group_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("Body"). - WithLocationType(def.Body)) - - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -361,7 +461,6 @@ func GenReqDefForExecuteScalingPolicy() *def.HttpRequestDef { WithResponse(new(model.ExecuteScalingPolicyResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ScalingPolicyId"). WithJsonTag("scaling_policy_id"). @@ -371,8 +470,6 @@ func GenReqDefForExecuteScalingPolicy() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -381,9 +478,9 @@ func GenReqDefForListHookInstances() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/autoscaling-api/v1/{project_id}/scaling_instance_hook/{scaling_group_id}/list"). - WithResponse(new(model.ListHookInstancesResponse)) + WithResponse(new(model.ListHookInstancesResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ScalingGroupId"). WithJsonTag("scaling_group_id"). @@ -394,8 +491,6 @@ func GenReqDefForListHookInstances() *def.HttpRequestDef { WithJsonTag("instance_id"). WithLocationType(def.Query)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -404,16 +499,14 @@ func GenReqDefForListLifeCycleHooks() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}/list"). - WithResponse(new(model.ListLifeCycleHooksResponse)) + WithResponse(new(model.ListLifeCycleHooksResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ScalingGroupId"). WithJsonTag("scaling_group_id"). WithLocationType(def.Path)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -425,7 +518,6 @@ func GenReqDefForListResourceInstances() *def.HttpRequestDef { WithResponse(new(model.ListResourceInstancesResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ResourceType"). WithJsonTag("resource_type"). @@ -435,8 +527,6 @@ func GenReqDefForListResourceInstances() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -445,9 +535,9 @@ func GenReqDefForListScalingActivityLogs() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/autoscaling-api/v1/{project_id}/scaling_activity_log/{scaling_group_id}"). - WithResponse(new(model.ListScalingActivityLogsResponse)) + WithResponse(new(model.ListScalingActivityLogsResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ScalingGroupId"). WithJsonTag("scaling_group_id"). @@ -470,7 +560,50 @@ func GenReqDefForListScalingActivityLogs() *def.HttpRequestDef { WithJsonTag("limit"). WithLocationType(def.Query)) - // response + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListScalingActivityV2Logs() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/autoscaling-api/v2/{project_id}/scaling_activity_log/{scaling_group_id}"). + WithResponse(new(model.ListScalingActivityV2LogsResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("LogId"). + WithJsonTag("log_id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("StartTime"). + WithJsonTag("start_time"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("EndTime"). + WithJsonTag("end_time"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("StartNumber"). + WithJsonTag("start_number"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Type"). + WithJsonTag("type"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Status"). + WithJsonTag("status"). + WithLocationType(def.Query)) requestDef := reqDefBuilder.Build() return requestDef @@ -480,9 +613,8 @@ func GenReqDefForListScalingConfigs() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/autoscaling-api/v1/{project_id}/scaling_configuration"). - WithResponse(new(model.ListScalingConfigsResponse)) - - // request + WithResponse(new(model.ListScalingConfigsResponse)). + WithContentType("application/json") reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ScalingConfigurationName"). @@ -501,8 +633,6 @@ func GenReqDefForListScalingConfigs() *def.HttpRequestDef { WithJsonTag("limit"). WithLocationType(def.Query)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -511,9 +641,8 @@ func GenReqDefForListScalingGroups() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/autoscaling-api/v1/{project_id}/scaling_group"). - WithResponse(new(model.ListScalingGroupsResponse)) - - // request + WithResponse(new(model.ListScalingGroupsResponse)). + WithContentType("application/json") reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ScalingGroupName"). @@ -535,8 +664,10 @@ func GenReqDefForListScalingGroups() *def.HttpRequestDef { WithName("Limit"). WithJsonTag("limit"). WithLocationType(def.Query)) - - // response + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). + WithLocationType(def.Query)) requestDef := reqDefBuilder.Build() return requestDef @@ -546,9 +677,9 @@ func GenReqDefForListScalingInstances() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/autoscaling-api/v1/{project_id}/scaling_group_instance/{scaling_group_id}/list"). - WithResponse(new(model.ListScalingInstancesResponse)) + WithResponse(new(model.ListScalingInstancesResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ScalingGroupId"). WithJsonTag("scaling_group_id"). @@ -575,8 +706,6 @@ func GenReqDefForListScalingInstances() *def.HttpRequestDef { WithJsonTag("limit"). WithLocationType(def.Query)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -585,16 +714,14 @@ func GenReqDefForListScalingNotifications() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/autoscaling-api/v1/{project_id}/scaling_notification/{scaling_group_id}"). - WithResponse(new(model.ListScalingNotificationsResponse)) + WithResponse(new(model.ListScalingNotificationsResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ScalingGroupId"). WithJsonTag("scaling_group_id"). WithLocationType(def.Path)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -603,9 +730,9 @@ func GenReqDefForListScalingPolicies() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/autoscaling-api/v1/{project_id}/scaling_policy/{scaling_group_id}/list"). - WithResponse(new(model.ListScalingPoliciesResponse)) + WithResponse(new(model.ListScalingPoliciesResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ScalingGroupId"). WithJsonTag("scaling_group_id"). @@ -632,8 +759,6 @@ func GenReqDefForListScalingPolicies() *def.HttpRequestDef { WithJsonTag("limit"). WithLocationType(def.Query)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -642,9 +767,9 @@ func GenReqDefForListScalingPolicyExecuteLogs() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/autoscaling-api/v1/{project_id}/scaling_policy_execute_log/{scaling_policy_id}"). - WithResponse(new(model.ListScalingPolicyExecuteLogsResponse)) + WithResponse(new(model.ListScalingPolicyExecuteLogsResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ScalingPolicyId"). WithJsonTag("scaling_policy_id"). @@ -683,8 +808,6 @@ func GenReqDefForListScalingPolicyExecuteLogs() *def.HttpRequestDef { WithJsonTag("limit"). WithLocationType(def.Query)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -693,9 +816,9 @@ func GenReqDefForListScalingTagInfosByResourceId() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/autoscaling-api/v1/{project_id}/{resource_type}/{resource_id}/tags"). - WithResponse(new(model.ListScalingTagInfosByResourceIdResponse)) + WithResponse(new(model.ListScalingTagInfosByResourceIdResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ResourceType"). WithJsonTag("resource_type"). @@ -705,8 +828,6 @@ func GenReqDefForListScalingTagInfosByResourceId() *def.HttpRequestDef { WithJsonTag("resource_id"). WithLocationType(def.Path)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -715,15 +836,93 @@ func GenReqDefForListScalingTagInfosByTenantId() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/autoscaling-api/v1/{project_id}/{resource_type}/tags"). - WithResponse(new(model.ListScalingTagInfosByTenantIdResponse)) + WithResponse(new(model.ListScalingTagInfosByTenantIdResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ResourceType"). WithJsonTag("resource_type"). WithLocationType(def.Path)) - // response + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForPauseScalingGroup() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/autoscaling-api/v1/{project_id}/scaling_group/{scaling_group_id}/action"). + WithResponse(new(model.PauseScalingGroupResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForPauseScalingPolicy() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}/action"). + WithResponse(new(model.PauseScalingPolicyResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ScalingPolicyId"). + WithJsonTag("scaling_policy_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForResumeScalingGroup() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/autoscaling-api/v1/{project_id}/scaling_group/{scaling_group_id}/action"). + WithResponse(new(model.ResumeScalingGroupResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForResumeScalingPolicy() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}/action"). + WithResponse(new(model.ResumeScalingPolicyResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ScalingPolicyId"). + WithJsonTag("scaling_policy_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) requestDef := reqDefBuilder.Build() return requestDef @@ -733,9 +932,9 @@ func GenReqDefForShowLifeCycleHook() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}/{lifecycle_hook_name}"). - WithResponse(new(model.ShowLifeCycleHookResponse)) + WithResponse(new(model.ShowLifeCycleHookResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ScalingGroupId"). WithJsonTag("scaling_group_id"). @@ -745,8 +944,6 @@ func GenReqDefForShowLifeCycleHook() *def.HttpRequestDef { WithJsonTag("lifecycle_hook_name"). WithLocationType(def.Path)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -755,16 +952,14 @@ func GenReqDefForShowPolicyAndInstanceQuota() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/autoscaling-api/v1/{project_id}/quotas/{scaling_group_id}"). - WithResponse(new(model.ShowPolicyAndInstanceQuotaResponse)) + WithResponse(new(model.ShowPolicyAndInstanceQuotaResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ScalingGroupId"). WithJsonTag("scaling_group_id"). WithLocationType(def.Path)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -773,11 +968,8 @@ func GenReqDefForShowResourceQuota() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/autoscaling-api/v1/{project_id}/quotas"). - WithResponse(new(model.ShowResourceQuotaResponse)) - - // request - - // response + WithResponse(new(model.ShowResourceQuotaResponse)). + WithContentType("application/json") requestDef := reqDefBuilder.Build() return requestDef @@ -787,16 +979,14 @@ func GenReqDefForShowScalingConfig() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/autoscaling-api/v1/{project_id}/scaling_configuration/{scaling_configuration_id}"). - WithResponse(new(model.ShowScalingConfigResponse)) + WithResponse(new(model.ShowScalingConfigResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ScalingConfigurationId"). WithJsonTag("scaling_configuration_id"). WithLocationType(def.Path)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -805,16 +995,14 @@ func GenReqDefForShowScalingGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/autoscaling-api/v1/{project_id}/scaling_group/{scaling_group_id}"). - WithResponse(new(model.ShowScalingGroupResponse)) + WithResponse(new(model.ShowScalingGroupResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ScalingGroupId"). WithJsonTag("scaling_group_id"). WithLocationType(def.Path)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -823,16 +1011,14 @@ func GenReqDefForShowScalingPolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}"). - WithResponse(new(model.ShowScalingPolicyResponse)) + WithResponse(new(model.ShowScalingPolicyResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ScalingPolicyId"). WithJsonTag("scaling_policy_id"). WithLocationType(def.Path)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -844,7 +1030,6 @@ func GenReqDefForUpdateLifeCycleHook() *def.HttpRequestDef { WithResponse(new(model.UpdateLifeCycleHookResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ScalingGroupId"). WithJsonTag("scaling_group_id"). @@ -858,8 +1043,6 @@ func GenReqDefForUpdateLifeCycleHook() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -871,7 +1054,6 @@ func GenReqDefForUpdateScalingGroup() *def.HttpRequestDef { WithResponse(new(model.UpdateScalingGroupResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ScalingGroupId"). WithJsonTag("scaling_group_id"). @@ -881,43 +1063,184 @@ func GenReqDefForUpdateScalingGroup() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } -func GenReqDefForUpdateScalingGroupInstance() *def.HttpRequestDef { +func GenReqDefForUpdateScalingPolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). - WithMethod(http.MethodPost). - WithPath("/autoscaling-api/v1/{project_id}/scaling_group_instance/{scaling_group_id}/action"). - WithResponse(new(model.UpdateScalingGroupInstanceResponse)). + WithMethod(http.MethodPut). + WithPath("/autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}"). + WithResponse(new(model.UpdateScalingPolicyResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("ScalingGroupId"). - WithJsonTag("scaling_group_id"). + WithName("ScalingPolicyId"). + WithJsonTag("scaling_policy_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("Body"). WithLocationType(def.Body)) - // response + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListApiVersions() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/"). + WithResponse(new(model.ListApiVersionsResponse)). + WithContentType("application/json") requestDef := reqDefBuilder.Build() return requestDef } -func GenReqDefForUpdateScalingPolicy() *def.HttpRequestDef { +func GenReqDefForShowApiVersion() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/{api_version}"). + WithResponse(new(model.ShowApiVersionResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ApiVersion"). + WithJsonTag("api_version"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForCreateScalingV2Policy() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/autoscaling-api/v2/{project_id}/scaling_policy"). + WithResponse(new(model.CreateScalingV2PolicyResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListAllScalingV2Policies() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/autoscaling-api/v2/{project_id}/scaling_policy"). + WithResponse(new(model.ListAllScalingV2PoliciesResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ScalingResourceId"). + WithJsonTag("scaling_resource_id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ScalingResourceType"). + WithJsonTag("scaling_resource_type"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ScalingPolicyName"). + WithJsonTag("scaling_policy_name"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ScalingPolicyType"). + WithJsonTag("scaling_policy_type"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ScalingPolicyId"). + WithJsonTag("scaling_policy_id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("StartNumber"). + WithJsonTag("start_number"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("SortBy"). + WithJsonTag("sort_by"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Order"). + WithJsonTag("order"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListScalingV2Policies() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/autoscaling-api/v2/{project_id}/scaling_policy/{scaling_resource_id}/list"). + WithResponse(new(model.ListScalingV2PoliciesResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ScalingResourceId"). + WithJsonTag("scaling_resource_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ScalingPolicyName"). + WithJsonTag("scaling_policy_name"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ScalingPolicyType"). + WithJsonTag("scaling_policy_type"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ScalingPolicyId"). + WithJsonTag("scaling_policy_id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("StartNumber"). + WithJsonTag("start_number"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowScalingV2Policy() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/autoscaling-api/v2/{project_id}/scaling_policy/{scaling_policy_id}"). + WithResponse(new(model.ShowScalingV2PolicyResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ScalingPolicyId"). + WithJsonTag("scaling_policy_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForUpdateScalingV2Policy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). - WithPath("/autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}"). - WithResponse(new(model.UpdateScalingPolicyResponse)). + WithPath("/autoscaling-api/v2/{project_id}/scaling_policy/{scaling_policy_id}"). + WithResponse(new(model.UpdateScalingV2PolicyResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ScalingPolicyId"). WithJsonTag("scaling_policy_id"). @@ -927,8 +1250,6 @@ func GenReqDefForUpdateScalingPolicy() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_all_quotas.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_all_quotas.go index dfeaa136e451c5205455134948d1b7dca1dfaca9..962a84f1b9ac1fdbda3225674d70c8f573ddad4b 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_all_quotas.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_all_quotas.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,15 @@ import ( // 配额列表 type AllQuotas struct { // 配额详情资源列表。 + Resources *[]AllResources `json:"resources,omitempty"` } func (o AllQuotas) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "AllQuotas struct{}" + } + return strings.Join([]string{"AllQuotas", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_all_resources.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_all_resources.go index 3886b6189d774e4529837125f08a22c3cb83c3e4..6bb765f931c6b5fdd30493f41f8c282792063269 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_all_resources.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_all_resources.go @@ -1,33 +1,37 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // 配额资源 type AllResources struct { // 查询配额的类型。scaling_Group:伸缩组配额。scaling_Config:伸缩配置配额。scaling_Policy:伸缩策略配额。scaling_Instance:伸缩实例配额。bandwidth_scaling_policy:伸缩带宽策略配额。 + Type *AllResourcesType `json:"type,omitempty"` // 已使用的配额数量。当type为scaling_Policy和scaling_Instance时,该字段为保留字段,返回-1。可通过查询弹性伸缩策略和伸缩实例配额查询指定弹性伸缩组下的弹性伸缩策略和伸缩实例已使用的配额数量。 + Used *int32 `json:"used,omitempty"` // 配额总数量。 + Quota *int32 `json:"quota,omitempty"` // 配额上限。 + Max *int32 `json:"max,omitempty"` } func (o AllResources) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "AllResources struct{}" + } + return strings.Join([]string{"AllResources", string(data)}, " ") } @@ -64,7 +68,7 @@ func GetAllResourcesTypeEnum() AllResourcesTypeEnum { } func (c AllResourcesType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *AllResourcesType) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_allowed_address_pair.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_allowed_address_pair.go new file mode 100644 index 0000000000000000000000000000000000000000..b9b44770d4dbccd139b9f580c1f8f569a9d86ff8 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_allowed_address_pair.go @@ -0,0 +1,23 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// 是否开启源/目的检查开关。 +type AllowedAddressPair struct { + // 是否开启源/目的检查开关。 默认是开启,不允许置空。 关闭:1.1.1.1/0 开启:除“1.1.1.1/0”以外的其余值均按开启处理 + + IpAddress *string `json:"ip_address,omitempty"` +} + +func (o AllowedAddressPair) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "AllowedAddressPair struct{}" + } + + return strings.Join([]string{"AllowedAddressPair", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_attach_callback_instance_life_cycle_hook_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_attach_callback_instance_life_cycle_hook_request.go new file mode 100644 index 0000000000000000000000000000000000000000..e63b5a3e86ccf8f36bac1847a5c0a3569556645f --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_attach_callback_instance_life_cycle_hook_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type AttachCallbackInstanceLifeCycleHookRequest struct { + // 伸缩组标识。 + + ScalingGroupId string `json:"scaling_group_id"` + + Body *CallbackLifeCycleHookOption `json:"body,omitempty"` +} + +func (o AttachCallbackInstanceLifeCycleHookRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "AttachCallbackInstanceLifeCycleHookRequest struct{}" + } + + return strings.Join([]string{"AttachCallbackInstanceLifeCycleHookRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_attach_callback_instance_life_cycle_hook_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_attach_callback_instance_life_cycle_hook_response.go new file mode 100644 index 0000000000000000000000000000000000000000..c9203d5abd90e9b03b7fd69a586c9eca85a12240 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_attach_callback_instance_life_cycle_hook_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type AttachCallbackInstanceLifeCycleHookResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o AttachCallbackInstanceLifeCycleHookResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "AttachCallbackInstanceLifeCycleHookResponse struct{}" + } + + return strings.Join([]string{"AttachCallbackInstanceLifeCycleHookResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_bandwidth.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_bandwidth_info.go similarity index 52% rename from cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_bandwidth.go rename to cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_bandwidth_info.go index 1056bed4b3522d79fb4ba6fe8af428683dc18f53..c1a0bac02345d3f413631346ebb2dc92b4bf90ce 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_bandwidth.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_bandwidth_info.go @@ -1,61 +1,65 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // 带宽信息 -type Bandwidth struct { +type BandwidthInfo struct { // 带宽(Mbit/s),取值范围为[1,300]。 - Size int32 `json:"size"` + + Size *int32 `json:"size,omitempty"` // 带宽的共享类型。共享类型枚举:PER:独享型。WHOLE:共享型。 - ShareType *BandwidthShareType `json:"share_type,omitempty"` + + ShareType BandwidthInfoShareType `json:"share_type"` // 带宽的计费类型。字段值为“bandwidth”,表示按带宽计费。字段值为“traffic”,表示按流量计费。字段为其它值,会导致创建云服务器失败。如果share_type是PER,该参数为必选项。如果share_type是WHOLE,会忽略该参数。 - ChargingMode BandwidthChargingMode `json:"charging_mode"` + + ChargingMode *BandwidthInfoChargingMode `json:"charging_mode,omitempty"` // 带宽ID,使用共享型带宽时,可以选择之前创建的共享带宽来创建弹性IP。如果share_type是PER,会忽略该参数。如果share_type是WHOLE,该参数为必选项。 + Id *string `json:"id,omitempty"` } -func (o Bandwidth) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"Bandwidth", string(data)}, " ") +func (o BandwidthInfo) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BandwidthInfo struct{}" + } + + return strings.Join([]string{"BandwidthInfo", string(data)}, " ") } -type BandwidthShareType struct { +type BandwidthInfoShareType struct { value string } -type BandwidthShareTypeEnum struct { - PER BandwidthShareType - WHOLE BandwidthShareType +type BandwidthInfoShareTypeEnum struct { + PER BandwidthInfoShareType + WHOLE BandwidthInfoShareType } -func GetBandwidthShareTypeEnum() BandwidthShareTypeEnum { - return BandwidthShareTypeEnum{ - PER: BandwidthShareType{ +func GetBandwidthInfoShareTypeEnum() BandwidthInfoShareTypeEnum { + return BandwidthInfoShareTypeEnum{ + PER: BandwidthInfoShareType{ value: "PER", }, - WHOLE: BandwidthShareType{ + WHOLE: BandwidthInfoShareType{ value: "WHOLE", }, } } -func (c BandwidthShareType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) +func (c BandwidthInfoShareType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) } -func (c *BandwidthShareType) UnmarshalJSON(b []byte) error { +func (c *BandwidthInfoShareType) UnmarshalJSON(b []byte) error { myConverter := converter.StringConverterFactory("string") if myConverter != nil { val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) @@ -69,31 +73,31 @@ func (c *BandwidthShareType) UnmarshalJSON(b []byte) error { } } -type BandwidthChargingMode struct { +type BandwidthInfoChargingMode struct { value string } -type BandwidthChargingModeEnum struct { - BANDWIDTH BandwidthChargingMode - TRAFFIC BandwidthChargingMode +type BandwidthInfoChargingModeEnum struct { + BANDWIDTH BandwidthInfoChargingMode + TRAFFIC BandwidthInfoChargingMode } -func GetBandwidthChargingModeEnum() BandwidthChargingModeEnum { - return BandwidthChargingModeEnum{ - BANDWIDTH: BandwidthChargingMode{ +func GetBandwidthInfoChargingModeEnum() BandwidthInfoChargingModeEnum { + return BandwidthInfoChargingModeEnum{ + BANDWIDTH: BandwidthInfoChargingMode{ value: "bandwidth", }, - TRAFFIC: BandwidthChargingMode{ + TRAFFIC: BandwidthInfoChargingMode{ value: "traffic", }, } } -func (c BandwidthChargingMode) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) +func (c BandwidthInfoChargingMode) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) } -func (c *BandwidthChargingMode) UnmarshalJSON(b []byte) error { +func (c *BandwidthInfoChargingMode) UnmarshalJSON(b []byte) error { myConverter := converter.StringConverterFactory("string") if myConverter != nil { val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_bandwidth_result.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_bandwidth_result.go new file mode 100644 index 0000000000000000000000000000000000000000..dc55a1851a7efd1ee9deff8f97e37a5aebcc583f --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_bandwidth_result.go @@ -0,0 +1,112 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// 带宽信息 +type BandwidthResult struct { + // 带宽(Mbit/s)。 + + Size *int32 `json:"size,omitempty"` + // 带宽的共享类型。共享类型枚举:PER,表示独享。目前只支持独享。 + + ShareType *BandwidthResultShareType `json:"share_type,omitempty"` + // 带宽的计费类型。字段值为“bandwidth”,表示按带宽计费。字段值为“traffic”,表示按流量计费。 + + ChargingMode *BandwidthResultChargingMode `json:"charging_mode,omitempty"` + // 带宽ID,创建WHOLE类型带宽的弹性IP时指定的共享带宽。 + + Id *string `json:"id,omitempty"` +} + +func (o BandwidthResult) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BandwidthResult struct{}" + } + + return strings.Join([]string{"BandwidthResult", string(data)}, " ") +} + +type BandwidthResultShareType struct { + value string +} + +type BandwidthResultShareTypeEnum struct { + PER BandwidthResultShareType + WHOLE BandwidthResultShareType +} + +func GetBandwidthResultShareTypeEnum() BandwidthResultShareTypeEnum { + return BandwidthResultShareTypeEnum{ + PER: BandwidthResultShareType{ + value: "PER", + }, + WHOLE: BandwidthResultShareType{ + value: "WHOLE", + }, + } +} + +func (c BandwidthResultShareType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BandwidthResultShareType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type BandwidthResultChargingMode struct { + value string +} + +type BandwidthResultChargingModeEnum struct { + BANDWIDTH BandwidthResultChargingMode + TRAFFIC BandwidthResultChargingMode +} + +func GetBandwidthResultChargingModeEnum() BandwidthResultChargingModeEnum { + return BandwidthResultChargingModeEnum{ + BANDWIDTH: BandwidthResultChargingMode{ + value: "bandwidth", + }, + TRAFFIC: BandwidthResultChargingMode{ + value: "traffic", + }, + } +} + +func (c BandwidthResultChargingMode) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BandwidthResultChargingMode) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_add_instances_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_add_instances_option.go new file mode 100644 index 0000000000000000000000000000000000000000..298e712ecc15c9481eaa49478f4c73a4480a0858 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_add_instances_option.go @@ -0,0 +1,146 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// 批量添加实例 +type BatchAddInstancesOption struct { + // 云服务器ID。 + + InstancesId []string `json:"instances_id"` + // 从伸缩组中移出实例时,是否删除云服务器。默认为no;可选值为yes或no。只有action为REMOVE时,这个字段才生效。 + + InstanceDelete *BatchAddInstancesOptionInstanceDelete `json:"instance_delete,omitempty"` + // 批量操作实例action标识:添加:ADD 移除: REMOVE 设置实例保护: PROTECT 取消实例保护: UNPROTECT;转入备用状态:ENTER_STANDBY 移出备用状态:EXIT_STANDBY + + Action BatchAddInstancesOptionAction `json:"action"` + // 将实例移入备用状态时,是否补充新的云服务器。取值如下:no:不补充新的实例,默认情况为no。yes:补充新的实例。只有action为ENTER_STANDBY时,这个字段才生效。 + + InstanceAppend *BatchAddInstancesOptionInstanceAppend `json:"instance_append,omitempty"` +} + +func (o BatchAddInstancesOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchAddInstancesOption struct{}" + } + + return strings.Join([]string{"BatchAddInstancesOption", string(data)}, " ") +} + +type BatchAddInstancesOptionInstanceDelete struct { + value string +} + +type BatchAddInstancesOptionInstanceDeleteEnum struct { + YES BatchAddInstancesOptionInstanceDelete + NO BatchAddInstancesOptionInstanceDelete +} + +func GetBatchAddInstancesOptionInstanceDeleteEnum() BatchAddInstancesOptionInstanceDeleteEnum { + return BatchAddInstancesOptionInstanceDeleteEnum{ + YES: BatchAddInstancesOptionInstanceDelete{ + value: "yes", + }, + NO: BatchAddInstancesOptionInstanceDelete{ + value: "no", + }, + } +} + +func (c BatchAddInstancesOptionInstanceDelete) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchAddInstancesOptionInstanceDelete) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type BatchAddInstancesOptionAction struct { + value string +} + +type BatchAddInstancesOptionActionEnum struct { + ADD BatchAddInstancesOptionAction +} + +func GetBatchAddInstancesOptionActionEnum() BatchAddInstancesOptionActionEnum { + return BatchAddInstancesOptionActionEnum{ + ADD: BatchAddInstancesOptionAction{ + value: "ADD", + }, + } +} + +func (c BatchAddInstancesOptionAction) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchAddInstancesOptionAction) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type BatchAddInstancesOptionInstanceAppend struct { + value string +} + +type BatchAddInstancesOptionInstanceAppendEnum struct { + NO BatchAddInstancesOptionInstanceAppend + YES BatchAddInstancesOptionInstanceAppend +} + +func GetBatchAddInstancesOptionInstanceAppendEnum() BatchAddInstancesOptionInstanceAppendEnum { + return BatchAddInstancesOptionInstanceAppendEnum{ + NO: BatchAddInstancesOptionInstanceAppend{ + value: "no", + }, + YES: BatchAddInstancesOptionInstanceAppend{ + value: "yes", + }, + } +} + +func (c BatchAddInstancesOptionInstanceAppend) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchAddInstancesOptionInstanceAppend) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_add_scaling_instances_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_add_scaling_instances_request.go new file mode 100644 index 0000000000000000000000000000000000000000..f32614a7869272bc18e11e0820e0c32114b2ff1a --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_add_scaling_instances_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type BatchAddScalingInstancesRequest struct { + // 实例ID。 + + ScalingGroupId string `json:"scaling_group_id"` + + Body *BatchAddInstancesOption `json:"body,omitempty"` +} + +func (o BatchAddScalingInstancesRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchAddScalingInstancesRequest struct{}" + } + + return strings.Join([]string{"BatchAddScalingInstancesRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_add_scaling_instances_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_add_scaling_instances_response.go new file mode 100644 index 0000000000000000000000000000000000000000..34cf2524eb2931f394a8590bda2ecb4db7a639bf --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_add_scaling_instances_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type BatchAddScalingInstancesResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o BatchAddScalingInstancesResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchAddScalingInstancesResponse struct{}" + } + + return strings.Join([]string{"BatchAddScalingInstancesResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_delete_scaling_config_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_delete_scaling_config_option.go new file mode 100644 index 0000000000000000000000000000000000000000..b91177a57e85a2b030e8955dced61e2f7b5dfd0b --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_delete_scaling_config_option.go @@ -0,0 +1,23 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// 批量删除伸缩配置请求 +type BatchDeleteScalingConfigOption struct { + // 伸缩配置ID。 + + ScalingConfigurationId []string `json:"scaling_configuration_id"` +} + +func (o BatchDeleteScalingConfigOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchDeleteScalingConfigOption struct{}" + } + + return strings.Join([]string{"BatchDeleteScalingConfigOption", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_delete_scaling_configs_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_delete_scaling_configs_request.go index 7fe4d85b913b8768177df3b1a8bd2ad58ef29d2f..31cac87529e911515fb6c37271c47610ee5642ea 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_delete_scaling_configs_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_delete_scaling_configs_request.go @@ -1,24 +1,21 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type BatchDeleteScalingConfigsRequest struct { - Body *BatchDeleteScalingConfigsRequestBody `json:"body,omitempty"` + Body *BatchDeleteScalingConfigOption `json:"body,omitempty"` } func (o BatchDeleteScalingConfigsRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchDeleteScalingConfigsRequest struct{}" + } + return strings.Join([]string{"BatchDeleteScalingConfigsRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_delete_scaling_configs_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_delete_scaling_configs_request_body.go deleted file mode 100644 index a5920a7109305469c0f21e1b3a39270be0a337c5..0000000000000000000000000000000000000000 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_delete_scaling_configs_request_body.go +++ /dev/null @@ -1,25 +0,0 @@ -/* - * As - * - * 弹性伸缩API - * - */ - -package model - -import ( - "encoding/json" - - "strings" -) - -// 批量删除伸缩配置请求 -type BatchDeleteScalingConfigsRequestBody struct { - // 伸缩配置ID。 - ScalingConfigurationId *[]string `json:"scaling_configuration_id,omitempty"` -} - -func (o BatchDeleteScalingConfigsRequestBody) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"BatchDeleteScalingConfigsRequestBody", string(data)}, " ") -} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_delete_scaling_configs_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_delete_scaling_configs_response.go index 112d7b4feb156e521ea9b9af70f5e25294b7f3f3..e3660ef833b68fc0b94049620e726b4fe43d9523 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_delete_scaling_configs_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_delete_scaling_configs_response.go @@ -1,23 +1,21 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type BatchDeleteScalingConfigsResponse struct { + HttpStatusCode int `json:"-"` } func (o BatchDeleteScalingConfigsResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchDeleteScalingConfigsResponse struct{}" + } + return strings.Join([]string{"BatchDeleteScalingConfigsResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_delete_scaling_policies_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_delete_scaling_policies_option.go new file mode 100644 index 0000000000000000000000000000000000000000..92b8f8391f42d076c119ab959bc3574b54c2a551 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_delete_scaling_policies_option.go @@ -0,0 +1,108 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// 批量操作弹性伸缩策略 +type BatchDeleteScalingPoliciesOption struct { + // 伸缩策略ID。 + + ScalingPolicyId []string `json:"scaling_policy_id"` + // 是否强制删除伸缩策略。默认为no,可选值为yes或no。只有action为delete时,该字段才生效。 + + ForceDelete *BatchDeleteScalingPoliciesOptionForceDelete `json:"force_delete,omitempty"` + // 批量操作伸缩策略action标识:删除:delete。启用:resume。停止:pause。 + + Action BatchDeleteScalingPoliciesOptionAction `json:"action"` + // 是否删除告警策略使用的告警规则。可选值为yes或no,默认为no。 只有action为delete时,该字段才生效。 + + DeleteAlarm *string `json:"delete_alarm,omitempty"` +} + +func (o BatchDeleteScalingPoliciesOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchDeleteScalingPoliciesOption struct{}" + } + + return strings.Join([]string{"BatchDeleteScalingPoliciesOption", string(data)}, " ") +} + +type BatchDeleteScalingPoliciesOptionForceDelete struct { + value string +} + +type BatchDeleteScalingPoliciesOptionForceDeleteEnum struct { + NO BatchDeleteScalingPoliciesOptionForceDelete + YES BatchDeleteScalingPoliciesOptionForceDelete +} + +func GetBatchDeleteScalingPoliciesOptionForceDeleteEnum() BatchDeleteScalingPoliciesOptionForceDeleteEnum { + return BatchDeleteScalingPoliciesOptionForceDeleteEnum{ + NO: BatchDeleteScalingPoliciesOptionForceDelete{ + value: "no", + }, + YES: BatchDeleteScalingPoliciesOptionForceDelete{ + value: "yes", + }, + } +} + +func (c BatchDeleteScalingPoliciesOptionForceDelete) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchDeleteScalingPoliciesOptionForceDelete) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type BatchDeleteScalingPoliciesOptionAction struct { + value string +} + +type BatchDeleteScalingPoliciesOptionActionEnum struct { + DELETE BatchDeleteScalingPoliciesOptionAction +} + +func GetBatchDeleteScalingPoliciesOptionActionEnum() BatchDeleteScalingPoliciesOptionActionEnum { + return BatchDeleteScalingPoliciesOptionActionEnum{ + DELETE: BatchDeleteScalingPoliciesOptionAction{ + value: "delete", + }, + } +} + +func (c BatchDeleteScalingPoliciesOptionAction) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchDeleteScalingPoliciesOptionAction) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_delete_scaling_policies_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_delete_scaling_policies_request.go new file mode 100644 index 0000000000000000000000000000000000000000..77792f99086cf67f7dbba7a5e04774dbe21571fb --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_delete_scaling_policies_request.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type BatchDeleteScalingPoliciesRequest struct { + Body *BatchDeleteScalingPoliciesOption `json:"body,omitempty"` +} + +func (o BatchDeleteScalingPoliciesRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchDeleteScalingPoliciesRequest struct{}" + } + + return strings.Join([]string{"BatchDeleteScalingPoliciesRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_delete_scaling_policies_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_delete_scaling_policies_response.go new file mode 100644 index 0000000000000000000000000000000000000000..d1acb858daae7b8588dc6b37897e992766bcd568 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_delete_scaling_policies_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type BatchDeleteScalingPoliciesResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o BatchDeleteScalingPoliciesResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchDeleteScalingPoliciesResponse struct{}" + } + + return strings.Join([]string{"BatchDeleteScalingPoliciesResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_enter_standby_instances_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_enter_standby_instances_option.go new file mode 100644 index 0000000000000000000000000000000000000000..cb9903451f40603090549d82f6eb9a4756e4fbe1 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_enter_standby_instances_option.go @@ -0,0 +1,146 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// 批量将实例转入备用状态 +type BatchEnterStandbyInstancesOption struct { + // 云服务器ID。 + + InstancesId []string `json:"instances_id"` + // 从伸缩组中移出实例时,是否删除云服务器。默认为no;可选值为yes或no。只有action为REMOVE时,这个字段才生效。 + + InstanceDelete *BatchEnterStandbyInstancesOptionInstanceDelete `json:"instance_delete,omitempty"` + // 批量操作实例action标识:添加:ADD 移除: REMOVE 设置实例保护: PROTECT 取消实例保护: UNPROTECT;转入备用状态:ENTER_STANDBY 移出备用状态:EXIT_STANDBY + + Action BatchEnterStandbyInstancesOptionAction `json:"action"` + // 将实例移入备用状态时,是否补充新的云服务器。取值如下:no:不补充新的实例,默认情况为no。yes:补充新的实例。只有action为ENTER_STANDBY时,这个字段才生效。 + + InstanceAppend *BatchEnterStandbyInstancesOptionInstanceAppend `json:"instance_append,omitempty"` +} + +func (o BatchEnterStandbyInstancesOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchEnterStandbyInstancesOption struct{}" + } + + return strings.Join([]string{"BatchEnterStandbyInstancesOption", string(data)}, " ") +} + +type BatchEnterStandbyInstancesOptionInstanceDelete struct { + value string +} + +type BatchEnterStandbyInstancesOptionInstanceDeleteEnum struct { + YES BatchEnterStandbyInstancesOptionInstanceDelete + NO BatchEnterStandbyInstancesOptionInstanceDelete +} + +func GetBatchEnterStandbyInstancesOptionInstanceDeleteEnum() BatchEnterStandbyInstancesOptionInstanceDeleteEnum { + return BatchEnterStandbyInstancesOptionInstanceDeleteEnum{ + YES: BatchEnterStandbyInstancesOptionInstanceDelete{ + value: "yes", + }, + NO: BatchEnterStandbyInstancesOptionInstanceDelete{ + value: "no", + }, + } +} + +func (c BatchEnterStandbyInstancesOptionInstanceDelete) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchEnterStandbyInstancesOptionInstanceDelete) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type BatchEnterStandbyInstancesOptionAction struct { + value string +} + +type BatchEnterStandbyInstancesOptionActionEnum struct { + ENTER_STANDBY BatchEnterStandbyInstancesOptionAction +} + +func GetBatchEnterStandbyInstancesOptionActionEnum() BatchEnterStandbyInstancesOptionActionEnum { + return BatchEnterStandbyInstancesOptionActionEnum{ + ENTER_STANDBY: BatchEnterStandbyInstancesOptionAction{ + value: "ENTER_STANDBY", + }, + } +} + +func (c BatchEnterStandbyInstancesOptionAction) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchEnterStandbyInstancesOptionAction) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type BatchEnterStandbyInstancesOptionInstanceAppend struct { + value string +} + +type BatchEnterStandbyInstancesOptionInstanceAppendEnum struct { + NO BatchEnterStandbyInstancesOptionInstanceAppend + YES BatchEnterStandbyInstancesOptionInstanceAppend +} + +func GetBatchEnterStandbyInstancesOptionInstanceAppendEnum() BatchEnterStandbyInstancesOptionInstanceAppendEnum { + return BatchEnterStandbyInstancesOptionInstanceAppendEnum{ + NO: BatchEnterStandbyInstancesOptionInstanceAppend{ + value: "no", + }, + YES: BatchEnterStandbyInstancesOptionInstanceAppend{ + value: "yes", + }, + } +} + +func (c BatchEnterStandbyInstancesOptionInstanceAppend) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchEnterStandbyInstancesOptionInstanceAppend) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_exit_stand_by_instances_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_exit_stand_by_instances_option.go new file mode 100644 index 0000000000000000000000000000000000000000..0c0cad5d6a84633d58a511fc16d44aa48abd08ea --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_exit_stand_by_instances_option.go @@ -0,0 +1,146 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// 批量将实例移出备用状态 +type BatchExitStandByInstancesOption struct { + // 云服务器ID。 + + InstancesId []string `json:"instances_id"` + // 从伸缩组中移出实例时,是否删除云服务器。默认为no;可选值为yes或no。只有action为REMOVE时,这个字段才生效。 + + InstanceDelete *BatchExitStandByInstancesOptionInstanceDelete `json:"instance_delete,omitempty"` + // 批量操作实例action标识:添加:ADD 移除: REMOVE 设置实例保护: PROTECT 取消实例保护: UNPROTECT;转入备用状态:ENTER_STANDBY 移出备用状态:EXIT_STANDBY + + Action BatchExitStandByInstancesOptionAction `json:"action"` + // 将实例移入备用状态时,是否补充新的云服务器。取值如下:no:不补充新的实例,默认情况为no。yes:补充新的实例。只有action为ENTER_STANDBY时,这个字段才生效。 + + InstanceAppend *BatchExitStandByInstancesOptionInstanceAppend `json:"instance_append,omitempty"` +} + +func (o BatchExitStandByInstancesOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchExitStandByInstancesOption struct{}" + } + + return strings.Join([]string{"BatchExitStandByInstancesOption", string(data)}, " ") +} + +type BatchExitStandByInstancesOptionInstanceDelete struct { + value string +} + +type BatchExitStandByInstancesOptionInstanceDeleteEnum struct { + YES BatchExitStandByInstancesOptionInstanceDelete + NO BatchExitStandByInstancesOptionInstanceDelete +} + +func GetBatchExitStandByInstancesOptionInstanceDeleteEnum() BatchExitStandByInstancesOptionInstanceDeleteEnum { + return BatchExitStandByInstancesOptionInstanceDeleteEnum{ + YES: BatchExitStandByInstancesOptionInstanceDelete{ + value: "yes", + }, + NO: BatchExitStandByInstancesOptionInstanceDelete{ + value: "no", + }, + } +} + +func (c BatchExitStandByInstancesOptionInstanceDelete) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchExitStandByInstancesOptionInstanceDelete) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type BatchExitStandByInstancesOptionAction struct { + value string +} + +type BatchExitStandByInstancesOptionActionEnum struct { + EXIT_STANDBY BatchExitStandByInstancesOptionAction +} + +func GetBatchExitStandByInstancesOptionActionEnum() BatchExitStandByInstancesOptionActionEnum { + return BatchExitStandByInstancesOptionActionEnum{ + EXIT_STANDBY: BatchExitStandByInstancesOptionAction{ + value: "EXIT_STANDBY", + }, + } +} + +func (c BatchExitStandByInstancesOptionAction) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchExitStandByInstancesOptionAction) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type BatchExitStandByInstancesOptionInstanceAppend struct { + value string +} + +type BatchExitStandByInstancesOptionInstanceAppendEnum struct { + NO BatchExitStandByInstancesOptionInstanceAppend + YES BatchExitStandByInstancesOptionInstanceAppend +} + +func GetBatchExitStandByInstancesOptionInstanceAppendEnum() BatchExitStandByInstancesOptionInstanceAppendEnum { + return BatchExitStandByInstancesOptionInstanceAppendEnum{ + NO: BatchExitStandByInstancesOptionInstanceAppend{ + value: "no", + }, + YES: BatchExitStandByInstancesOptionInstanceAppend{ + value: "yes", + }, + } +} + +func (c BatchExitStandByInstancesOptionInstanceAppend) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchExitStandByInstancesOptionInstanceAppend) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_pause_scaling_policies_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_pause_scaling_policies_option.go new file mode 100644 index 0000000000000000000000000000000000000000..d36abfc0f88bda2e2217854acdaf5fe458745d8d --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_pause_scaling_policies_option.go @@ -0,0 +1,108 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// 批量操作弹性伸缩策略 +type BatchPauseScalingPoliciesOption struct { + // 伸缩策略ID。 + + ScalingPolicyId []string `json:"scaling_policy_id"` + // 是否强制删除伸缩策略。默认为no,可选值为yes或no。只有action为delete时,该字段才生效。 + + ForceDelete *BatchPauseScalingPoliciesOptionForceDelete `json:"force_delete,omitempty"` + // 批量操作伸缩策略action标识:删除:delete。启用:resume。停止:pause。 + + Action BatchPauseScalingPoliciesOptionAction `json:"action"` + // 是否删除告警策略使用的告警规则。可选值为yes或no,默认为no。 只有action为delete时,该字段才生效。 + + DeleteAlarm *string `json:"delete_alarm,omitempty"` +} + +func (o BatchPauseScalingPoliciesOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchPauseScalingPoliciesOption struct{}" + } + + return strings.Join([]string{"BatchPauseScalingPoliciesOption", string(data)}, " ") +} + +type BatchPauseScalingPoliciesOptionForceDelete struct { + value string +} + +type BatchPauseScalingPoliciesOptionForceDeleteEnum struct { + NO BatchPauseScalingPoliciesOptionForceDelete + YES BatchPauseScalingPoliciesOptionForceDelete +} + +func GetBatchPauseScalingPoliciesOptionForceDeleteEnum() BatchPauseScalingPoliciesOptionForceDeleteEnum { + return BatchPauseScalingPoliciesOptionForceDeleteEnum{ + NO: BatchPauseScalingPoliciesOptionForceDelete{ + value: "no", + }, + YES: BatchPauseScalingPoliciesOptionForceDelete{ + value: "yes", + }, + } +} + +func (c BatchPauseScalingPoliciesOptionForceDelete) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchPauseScalingPoliciesOptionForceDelete) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type BatchPauseScalingPoliciesOptionAction struct { + value string +} + +type BatchPauseScalingPoliciesOptionActionEnum struct { + PAUSE BatchPauseScalingPoliciesOptionAction +} + +func GetBatchPauseScalingPoliciesOptionActionEnum() BatchPauseScalingPoliciesOptionActionEnum { + return BatchPauseScalingPoliciesOptionActionEnum{ + PAUSE: BatchPauseScalingPoliciesOptionAction{ + value: "pause", + }, + } +} + +func (c BatchPauseScalingPoliciesOptionAction) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchPauseScalingPoliciesOptionAction) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_pause_scaling_policies_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_pause_scaling_policies_request.go new file mode 100644 index 0000000000000000000000000000000000000000..75857ea0e58c6f5d6ca1a1f12f6b1f85cbc81219 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_pause_scaling_policies_request.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type BatchPauseScalingPoliciesRequest struct { + Body *BatchPauseScalingPoliciesOption `json:"body,omitempty"` +} + +func (o BatchPauseScalingPoliciesRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchPauseScalingPoliciesRequest struct{}" + } + + return strings.Join([]string{"BatchPauseScalingPoliciesRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_pause_scaling_policies_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_pause_scaling_policies_response.go new file mode 100644 index 0000000000000000000000000000000000000000..2bbb163061b00b43828f47ebe35f81c6ecd59cf9 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_pause_scaling_policies_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type BatchPauseScalingPoliciesResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o BatchPauseScalingPoliciesResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchPauseScalingPoliciesResponse struct{}" + } + + return strings.Join([]string{"BatchPauseScalingPoliciesResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_protect_instances_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_protect_instances_option.go new file mode 100644 index 0000000000000000000000000000000000000000..69ee7d772b016448dec98d309c54710f94ccfe00 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_protect_instances_option.go @@ -0,0 +1,146 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// 批量设置实例保护 +type BatchProtectInstancesOption struct { + // 云服务器ID。 + + InstancesId []string `json:"instances_id"` + // 从伸缩组中移出实例时,是否删除云服务器。默认为no;可选值为yes或no。只有action为REMOVE时,这个字段才生效。 + + InstanceDelete *BatchProtectInstancesOptionInstanceDelete `json:"instance_delete,omitempty"` + // 批量操作实例action标识:添加:ADD 移除: REMOVE 设置实例保护: PROTECT 取消实例保护: UNPROTECT;转入备用状态:ENTER_STANDBY 移出备用状态:EXIT_STANDBY + + Action BatchProtectInstancesOptionAction `json:"action"` + // 将实例移入备用状态时,是否补充新的云服务器。取值如下:no:不补充新的实例,默认情况为no。yes:补充新的实例。只有action为ENTER_STANDBY时,这个字段才生效。 + + InstanceAppend *BatchProtectInstancesOptionInstanceAppend `json:"instance_append,omitempty"` +} + +func (o BatchProtectInstancesOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchProtectInstancesOption struct{}" + } + + return strings.Join([]string{"BatchProtectInstancesOption", string(data)}, " ") +} + +type BatchProtectInstancesOptionInstanceDelete struct { + value string +} + +type BatchProtectInstancesOptionInstanceDeleteEnum struct { + YES BatchProtectInstancesOptionInstanceDelete + NO BatchProtectInstancesOptionInstanceDelete +} + +func GetBatchProtectInstancesOptionInstanceDeleteEnum() BatchProtectInstancesOptionInstanceDeleteEnum { + return BatchProtectInstancesOptionInstanceDeleteEnum{ + YES: BatchProtectInstancesOptionInstanceDelete{ + value: "yes", + }, + NO: BatchProtectInstancesOptionInstanceDelete{ + value: "no", + }, + } +} + +func (c BatchProtectInstancesOptionInstanceDelete) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchProtectInstancesOptionInstanceDelete) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type BatchProtectInstancesOptionAction struct { + value string +} + +type BatchProtectInstancesOptionActionEnum struct { + PROTECT BatchProtectInstancesOptionAction +} + +func GetBatchProtectInstancesOptionActionEnum() BatchProtectInstancesOptionActionEnum { + return BatchProtectInstancesOptionActionEnum{ + PROTECT: BatchProtectInstancesOptionAction{ + value: "PROTECT", + }, + } +} + +func (c BatchProtectInstancesOptionAction) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchProtectInstancesOptionAction) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type BatchProtectInstancesOptionInstanceAppend struct { + value string +} + +type BatchProtectInstancesOptionInstanceAppendEnum struct { + NO BatchProtectInstancesOptionInstanceAppend + YES BatchProtectInstancesOptionInstanceAppend +} + +func GetBatchProtectInstancesOptionInstanceAppendEnum() BatchProtectInstancesOptionInstanceAppendEnum { + return BatchProtectInstancesOptionInstanceAppendEnum{ + NO: BatchProtectInstancesOptionInstanceAppend{ + value: "no", + }, + YES: BatchProtectInstancesOptionInstanceAppend{ + value: "yes", + }, + } +} + +func (c BatchProtectInstancesOptionInstanceAppend) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchProtectInstancesOptionInstanceAppend) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_protect_scaling_instances_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_protect_scaling_instances_request.go new file mode 100644 index 0000000000000000000000000000000000000000..136aea73e23944d06445ff4eae370dd30adcabf1 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_protect_scaling_instances_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type BatchProtectScalingInstancesRequest struct { + // 实例ID。 + + ScalingGroupId string `json:"scaling_group_id"` + + Body *BatchProtectInstancesOption `json:"body,omitempty"` +} + +func (o BatchProtectScalingInstancesRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchProtectScalingInstancesRequest struct{}" + } + + return strings.Join([]string{"BatchProtectScalingInstancesRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_protect_scaling_instances_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_protect_scaling_instances_response.go new file mode 100644 index 0000000000000000000000000000000000000000..5216079ea05dab4330364210972830cc0c5bf080 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_protect_scaling_instances_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type BatchProtectScalingInstancesResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o BatchProtectScalingInstancesResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchProtectScalingInstancesResponse struct{}" + } + + return strings.Join([]string{"BatchProtectScalingInstancesResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_remove_instances_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_remove_instances_option.go new file mode 100644 index 0000000000000000000000000000000000000000..e2407cf05194caccaca25cf9dade17cafaafc84b --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_remove_instances_option.go @@ -0,0 +1,146 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// 批量移除实例 +type BatchRemoveInstancesOption struct { + // 云服务器ID。 + + InstancesId []string `json:"instances_id"` + // 从伸缩组中移出实例时,是否删除云服务器。默认为no;可选值为yes或no。只有action为REMOVE时,这个字段才生效。 + + InstanceDelete *BatchRemoveInstancesOptionInstanceDelete `json:"instance_delete,omitempty"` + // 批量操作实例action标识:添加:ADD 移除: REMOVE 设置实例保护: PROTECT 取消实例保护: UNPROTECT;转入备用状态:ENTER_STANDBY 移出备用状态:EXIT_STANDBY + + Action BatchRemoveInstancesOptionAction `json:"action"` + // 将实例移入备用状态时,是否补充新的云服务器。取值如下:no:不补充新的实例,默认情况为no。yes:补充新的实例。只有action为ENTER_STANDBY时,这个字段才生效。 + + InstanceAppend *BatchRemoveInstancesOptionInstanceAppend `json:"instance_append,omitempty"` +} + +func (o BatchRemoveInstancesOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchRemoveInstancesOption struct{}" + } + + return strings.Join([]string{"BatchRemoveInstancesOption", string(data)}, " ") +} + +type BatchRemoveInstancesOptionInstanceDelete struct { + value string +} + +type BatchRemoveInstancesOptionInstanceDeleteEnum struct { + YES BatchRemoveInstancesOptionInstanceDelete + NO BatchRemoveInstancesOptionInstanceDelete +} + +func GetBatchRemoveInstancesOptionInstanceDeleteEnum() BatchRemoveInstancesOptionInstanceDeleteEnum { + return BatchRemoveInstancesOptionInstanceDeleteEnum{ + YES: BatchRemoveInstancesOptionInstanceDelete{ + value: "yes", + }, + NO: BatchRemoveInstancesOptionInstanceDelete{ + value: "no", + }, + } +} + +func (c BatchRemoveInstancesOptionInstanceDelete) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchRemoveInstancesOptionInstanceDelete) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type BatchRemoveInstancesOptionAction struct { + value string +} + +type BatchRemoveInstancesOptionActionEnum struct { + REMOVE BatchRemoveInstancesOptionAction +} + +func GetBatchRemoveInstancesOptionActionEnum() BatchRemoveInstancesOptionActionEnum { + return BatchRemoveInstancesOptionActionEnum{ + REMOVE: BatchRemoveInstancesOptionAction{ + value: "REMOVE", + }, + } +} + +func (c BatchRemoveInstancesOptionAction) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchRemoveInstancesOptionAction) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type BatchRemoveInstancesOptionInstanceAppend struct { + value string +} + +type BatchRemoveInstancesOptionInstanceAppendEnum struct { + NO BatchRemoveInstancesOptionInstanceAppend + YES BatchRemoveInstancesOptionInstanceAppend +} + +func GetBatchRemoveInstancesOptionInstanceAppendEnum() BatchRemoveInstancesOptionInstanceAppendEnum { + return BatchRemoveInstancesOptionInstanceAppendEnum{ + NO: BatchRemoveInstancesOptionInstanceAppend{ + value: "no", + }, + YES: BatchRemoveInstancesOptionInstanceAppend{ + value: "yes", + }, + } +} + +func (c BatchRemoveInstancesOptionInstanceAppend) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchRemoveInstancesOptionInstanceAppend) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_remove_scaling_instances_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_remove_scaling_instances_request.go new file mode 100644 index 0000000000000000000000000000000000000000..00579c1b4774e3b8e9c875c90d38c0b18ba8de90 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_remove_scaling_instances_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type BatchRemoveScalingInstancesRequest struct { + // 实例ID。 + + ScalingGroupId string `json:"scaling_group_id"` + + Body *BatchRemoveInstancesOption `json:"body,omitempty"` +} + +func (o BatchRemoveScalingInstancesRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchRemoveScalingInstancesRequest struct{}" + } + + return strings.Join([]string{"BatchRemoveScalingInstancesRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_remove_scaling_instances_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_remove_scaling_instances_response.go new file mode 100644 index 0000000000000000000000000000000000000000..04d5c9b1238ade92047e56fe014794886746d1a2 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_remove_scaling_instances_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type BatchRemoveScalingInstancesResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o BatchRemoveScalingInstancesResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchRemoveScalingInstancesResponse struct{}" + } + + return strings.Join([]string{"BatchRemoveScalingInstancesResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_resume_scaling_policies_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_resume_scaling_policies_option.go new file mode 100644 index 0000000000000000000000000000000000000000..67b081a0b97e8081b68ec33892a5928854b49bb3 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_resume_scaling_policies_option.go @@ -0,0 +1,108 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// 批量操作弹性伸缩策略 +type BatchResumeScalingPoliciesOption struct { + // 伸缩策略ID。 + + ScalingPolicyId []string `json:"scaling_policy_id"` + // 是否强制删除伸缩策略。默认为no,可选值为yes或no。只有action为delete时,该字段才生效。 + + ForceDelete *BatchResumeScalingPoliciesOptionForceDelete `json:"force_delete,omitempty"` + // 批量操作伸缩策略action标识:删除:delete。启用:resume。停止:pause。 + + Action BatchResumeScalingPoliciesOptionAction `json:"action"` + // 是否删除告警策略使用的告警规则。可选值为yes或no,默认为no。 只有action为delete时,该字段才生效。 + + DeleteAlarm *string `json:"delete_alarm,omitempty"` +} + +func (o BatchResumeScalingPoliciesOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchResumeScalingPoliciesOption struct{}" + } + + return strings.Join([]string{"BatchResumeScalingPoliciesOption", string(data)}, " ") +} + +type BatchResumeScalingPoliciesOptionForceDelete struct { + value string +} + +type BatchResumeScalingPoliciesOptionForceDeleteEnum struct { + NO BatchResumeScalingPoliciesOptionForceDelete + YES BatchResumeScalingPoliciesOptionForceDelete +} + +func GetBatchResumeScalingPoliciesOptionForceDeleteEnum() BatchResumeScalingPoliciesOptionForceDeleteEnum { + return BatchResumeScalingPoliciesOptionForceDeleteEnum{ + NO: BatchResumeScalingPoliciesOptionForceDelete{ + value: "no", + }, + YES: BatchResumeScalingPoliciesOptionForceDelete{ + value: "yes", + }, + } +} + +func (c BatchResumeScalingPoliciesOptionForceDelete) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchResumeScalingPoliciesOptionForceDelete) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type BatchResumeScalingPoliciesOptionAction struct { + value string +} + +type BatchResumeScalingPoliciesOptionActionEnum struct { + RESUME BatchResumeScalingPoliciesOptionAction +} + +func GetBatchResumeScalingPoliciesOptionActionEnum() BatchResumeScalingPoliciesOptionActionEnum { + return BatchResumeScalingPoliciesOptionActionEnum{ + RESUME: BatchResumeScalingPoliciesOptionAction{ + value: "resume", + }, + } +} + +func (c BatchResumeScalingPoliciesOptionAction) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchResumeScalingPoliciesOptionAction) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_resume_scaling_policies_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_resume_scaling_policies_request.go new file mode 100644 index 0000000000000000000000000000000000000000..d413853c7b0c0b874c4afc325b17e8ee31c3ba92 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_resume_scaling_policies_request.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type BatchResumeScalingPoliciesRequest struct { + Body *BatchResumeScalingPoliciesOption `json:"body,omitempty"` +} + +func (o BatchResumeScalingPoliciesRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchResumeScalingPoliciesRequest struct{}" + } + + return strings.Join([]string{"BatchResumeScalingPoliciesRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_resume_scaling_policies_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_resume_scaling_policies_response.go new file mode 100644 index 0000000000000000000000000000000000000000..cb37e0d3da4a41f37be2e66a4d010b38525d84c1 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_resume_scaling_policies_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type BatchResumeScalingPoliciesResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o BatchResumeScalingPoliciesResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchResumeScalingPoliciesResponse struct{}" + } + + return strings.Join([]string{"BatchResumeScalingPoliciesResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_set_scaling_instances_standby_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_set_scaling_instances_standby_request.go new file mode 100644 index 0000000000000000000000000000000000000000..b24d46ffe7b44d421e71f4760f0601533688bf3c --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_set_scaling_instances_standby_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type BatchSetScalingInstancesStandbyRequest struct { + // 实例ID。 + + ScalingGroupId string `json:"scaling_group_id"` + + Body *BatchEnterStandbyInstancesOption `json:"body,omitempty"` +} + +func (o BatchSetScalingInstancesStandbyRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchSetScalingInstancesStandbyRequest struct{}" + } + + return strings.Join([]string{"BatchSetScalingInstancesStandbyRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_set_scaling_instances_standby_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_set_scaling_instances_standby_response.go new file mode 100644 index 0000000000000000000000000000000000000000..bf513a418b9ed66de483d344b35d4d4cb030cf69 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_set_scaling_instances_standby_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type BatchSetScalingInstancesStandbyResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o BatchSetScalingInstancesStandbyResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchSetScalingInstancesStandbyResponse struct{}" + } + + return strings.Join([]string{"BatchSetScalingInstancesStandbyResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_unprotect_instances_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_unprotect_instances_option.go new file mode 100644 index 0000000000000000000000000000000000000000..f13bb355691ecf23a74a1c5dbe5529bab46b5a05 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_unprotect_instances_option.go @@ -0,0 +1,146 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// 批量取消实例保护 +type BatchUnprotectInstancesOption struct { + // 云服务器ID。 + + InstancesId []string `json:"instances_id"` + // 从伸缩组中移出实例时,是否删除云服务器。默认为no;可选值为yes或no。只有action为REMOVE时,这个字段才生效。 + + InstanceDelete *BatchUnprotectInstancesOptionInstanceDelete `json:"instance_delete,omitempty"` + // 批量操作实例action标识:添加:ADD 移除: REMOVE 设置实例保护: PROTECT 取消实例保护: UNPROTECT;转入备用状态:ENTER_STANDBY 移出备用状态:EXIT_STANDBY + + Action BatchUnprotectInstancesOptionAction `json:"action"` + // 将实例移入备用状态时,是否补充新的云服务器。取值如下:no:不补充新的实例,默认情况为no。yes:补充新的实例。只有action为ENTER_STANDBY时,这个字段才生效。 + + InstanceAppend *BatchUnprotectInstancesOptionInstanceAppend `json:"instance_append,omitempty"` +} + +func (o BatchUnprotectInstancesOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchUnprotectInstancesOption struct{}" + } + + return strings.Join([]string{"BatchUnprotectInstancesOption", string(data)}, " ") +} + +type BatchUnprotectInstancesOptionInstanceDelete struct { + value string +} + +type BatchUnprotectInstancesOptionInstanceDeleteEnum struct { + YES BatchUnprotectInstancesOptionInstanceDelete + NO BatchUnprotectInstancesOptionInstanceDelete +} + +func GetBatchUnprotectInstancesOptionInstanceDeleteEnum() BatchUnprotectInstancesOptionInstanceDeleteEnum { + return BatchUnprotectInstancesOptionInstanceDeleteEnum{ + YES: BatchUnprotectInstancesOptionInstanceDelete{ + value: "yes", + }, + NO: BatchUnprotectInstancesOptionInstanceDelete{ + value: "no", + }, + } +} + +func (c BatchUnprotectInstancesOptionInstanceDelete) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchUnprotectInstancesOptionInstanceDelete) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type BatchUnprotectInstancesOptionAction struct { + value string +} + +type BatchUnprotectInstancesOptionActionEnum struct { + UNPROTECT BatchUnprotectInstancesOptionAction +} + +func GetBatchUnprotectInstancesOptionActionEnum() BatchUnprotectInstancesOptionActionEnum { + return BatchUnprotectInstancesOptionActionEnum{ + UNPROTECT: BatchUnprotectInstancesOptionAction{ + value: "UNPROTECT", + }, + } +} + +func (c BatchUnprotectInstancesOptionAction) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchUnprotectInstancesOptionAction) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type BatchUnprotectInstancesOptionInstanceAppend struct { + value string +} + +type BatchUnprotectInstancesOptionInstanceAppendEnum struct { + NO BatchUnprotectInstancesOptionInstanceAppend + YES BatchUnprotectInstancesOptionInstanceAppend +} + +func GetBatchUnprotectInstancesOptionInstanceAppendEnum() BatchUnprotectInstancesOptionInstanceAppendEnum { + return BatchUnprotectInstancesOptionInstanceAppendEnum{ + NO: BatchUnprotectInstancesOptionInstanceAppend{ + value: "no", + }, + YES: BatchUnprotectInstancesOptionInstanceAppend{ + value: "yes", + }, + } +} + +func (c BatchUnprotectInstancesOptionInstanceAppend) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BatchUnprotectInstancesOptionInstanceAppend) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_unprotect_scaling_instances_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_unprotect_scaling_instances_request.go new file mode 100644 index 0000000000000000000000000000000000000000..c529d4b29a02487a5c03c0299b62a246ed222d01 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_unprotect_scaling_instances_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type BatchUnprotectScalingInstancesRequest struct { + // 实例ID。 + + ScalingGroupId string `json:"scaling_group_id"` + + Body *BatchUnprotectInstancesOption `json:"body,omitempty"` +} + +func (o BatchUnprotectScalingInstancesRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchUnprotectScalingInstancesRequest struct{}" + } + + return strings.Join([]string{"BatchUnprotectScalingInstancesRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_unprotect_scaling_instances_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_unprotect_scaling_instances_response.go new file mode 100644 index 0000000000000000000000000000000000000000..6e05de5a1245243ce947aff6d30bf9c5af864494 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_unprotect_scaling_instances_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type BatchUnprotectScalingInstancesResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o BatchUnprotectScalingInstancesResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchUnprotectScalingInstancesResponse struct{}" + } + + return strings.Join([]string{"BatchUnprotectScalingInstancesResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_unset_scaling_instances_stantby_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_unset_scaling_instances_stantby_request.go new file mode 100644 index 0000000000000000000000000000000000000000..4909b4801bc97a8ec757062610d950569f91a11f --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_unset_scaling_instances_stantby_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type BatchUnsetScalingInstancesStantbyRequest struct { + // 实例ID。 + + ScalingGroupId string `json:"scaling_group_id"` + + Body *BatchExitStandByInstancesOption `json:"body,omitempty"` +} + +func (o BatchUnsetScalingInstancesStantbyRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchUnsetScalingInstancesStantbyRequest struct{}" + } + + return strings.Join([]string{"BatchUnsetScalingInstancesStantbyRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_unset_scaling_instances_stantby_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_unset_scaling_instances_stantby_response.go new file mode 100644 index 0000000000000000000000000000000000000000..d710a9f59397cac7caef06ee46cde1aeec5ec953 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_batch_unset_scaling_instances_stantby_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type BatchUnsetScalingInstancesStantbyResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o BatchUnsetScalingInstancesStantbyResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchUnsetScalingInstancesStantbyResponse struct{}" + } + + return strings.Join([]string{"BatchUnsetScalingInstancesStantbyResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_complete_lifecycle_action_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_callback_life_cycle_hook_option.go similarity index 50% rename from cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_complete_lifecycle_action_request_body.go rename to cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_callback_life_cycle_hook_option.go index 2ce446b429c333782e945e94b8da5c5492b3fa3a..3b3270132a20718ae03afae333854d6cb9c4ea49 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_complete_lifecycle_action_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_callback_life_cycle_hook_option.go @@ -1,65 +1,69 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // 伸缩实例生命周期回调 -type CompleteLifecycleActionRequestBody struct { +type CallbackLifeCycleHookOption struct { // 生命周期操作令牌,通过查询伸缩实例挂起信息接口获取。指定生命周期回调对象,当不传入instance_id字段时,该字段为必选。当该字段与instance_id字段都传入,优先使用该字段进行回调。 + LifecycleActionKey *string `json:"lifecycle_action_key,omitempty"` // 实例ID。指定生命周期回调对象,当不传入lifecycle_action_key字段时,该字段为必选。 + InstanceId *string `json:"instance_id,omitempty"` // 生命周期挂钩名称。指定生命周期回调对象,当不传入lifecycle_action_key字段时,该字段为必选。 + LifecycleHookName *string `json:"lifecycle_hook_name,omitempty"` // 生命周期回调操作。ABANDON:终止。CONTINUE:继续。EXTEND:延长超时时间,每次延长1小时。 - LifecycleActionResult CompleteLifecycleActionRequestBodyLifecycleActionResult `json:"lifecycle_action_result"` + + LifecycleActionResult CallbackLifeCycleHookOptionLifecycleActionResult `json:"lifecycle_action_result"` } -func (o CompleteLifecycleActionRequestBody) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"CompleteLifecycleActionRequestBody", string(data)}, " ") +func (o CallbackLifeCycleHookOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CallbackLifeCycleHookOption struct{}" + } + + return strings.Join([]string{"CallbackLifeCycleHookOption", string(data)}, " ") } -type CompleteLifecycleActionRequestBodyLifecycleActionResult struct { +type CallbackLifeCycleHookOptionLifecycleActionResult struct { value string } -type CompleteLifecycleActionRequestBodyLifecycleActionResultEnum struct { - ABANDON CompleteLifecycleActionRequestBodyLifecycleActionResult - CONTINUE CompleteLifecycleActionRequestBodyLifecycleActionResult - EXTEND CompleteLifecycleActionRequestBodyLifecycleActionResult +type CallbackLifeCycleHookOptionLifecycleActionResultEnum struct { + ABANDON CallbackLifeCycleHookOptionLifecycleActionResult + CONTINUE CallbackLifeCycleHookOptionLifecycleActionResult + EXTEND CallbackLifeCycleHookOptionLifecycleActionResult } -func GetCompleteLifecycleActionRequestBodyLifecycleActionResultEnum() CompleteLifecycleActionRequestBodyLifecycleActionResultEnum { - return CompleteLifecycleActionRequestBodyLifecycleActionResultEnum{ - ABANDON: CompleteLifecycleActionRequestBodyLifecycleActionResult{ +func GetCallbackLifeCycleHookOptionLifecycleActionResultEnum() CallbackLifeCycleHookOptionLifecycleActionResultEnum { + return CallbackLifeCycleHookOptionLifecycleActionResultEnum{ + ABANDON: CallbackLifeCycleHookOptionLifecycleActionResult{ value: "ABANDON", }, - CONTINUE: CompleteLifecycleActionRequestBodyLifecycleActionResult{ + CONTINUE: CallbackLifeCycleHookOptionLifecycleActionResult{ value: "CONTINUE", }, - EXTEND: CompleteLifecycleActionRequestBodyLifecycleActionResult{ + EXTEND: CallbackLifeCycleHookOptionLifecycleActionResult{ value: "EXTEND", }, } } -func (c CompleteLifecycleActionRequestBodyLifecycleActionResult) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) +func (c CallbackLifeCycleHookOptionLifecycleActionResult) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) } -func (c *CompleteLifecycleActionRequestBodyLifecycleActionResult) UnmarshalJSON(b []byte) error { +func (c *CallbackLifeCycleHookOptionLifecycleActionResult) UnmarshalJSON(b []byte) error { myConverter := converter.StringConverterFactory("string") if myConverter != nil { val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_complete_lifecycle_action_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_complete_lifecycle_action_request.go deleted file mode 100644 index 7aa537fd7bc14230004ec077287b6ffe48af7d74..0000000000000000000000000000000000000000 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_complete_lifecycle_action_request.go +++ /dev/null @@ -1,25 +0,0 @@ -/* - * As - * - * 弹性伸缩API - * - */ - -package model - -import ( - "encoding/json" - - "strings" -) - -// Request Object -type CompleteLifecycleActionRequest struct { - ScalingGroupId string `json:"scaling_group_id"` - Body *CompleteLifecycleActionRequestBody `json:"body,omitempty"` -} - -func (o CompleteLifecycleActionRequest) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"CompleteLifecycleActionRequest", string(data)}, " ") -} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_complete_lifecycle_action_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_complete_lifecycle_action_response.go deleted file mode 100644 index 3ed94cd4cf87eba9f790276ef9d48c8fc5af3c30..0000000000000000000000000000000000000000 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_complete_lifecycle_action_response.go +++ /dev/null @@ -1,23 +0,0 @@ -/* - * As - * - * 弹性伸缩API - * - */ - -package model - -import ( - "encoding/json" - - "strings" -) - -// Response Object -type CompleteLifecycleActionResponse struct { -} - -func (o CompleteLifecycleActionResponse) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"CompleteLifecycleActionResponse", string(data)}, " ") -} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_life_cycle_hook_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_life_cycle_hook_option.go similarity index 59% rename from cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_life_cycle_hook_request_body.go rename to cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_life_cycle_hook_option.go index f1a978175bbab7e1cf53efdaf0b890585af8169b..77b7c48772c2f5e358cc1f0a8646a3dda3988372 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_life_cycle_hook_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_life_cycle_hook_option.go @@ -1,65 +1,71 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // 创建生命周期挂钩 -type CreateLifeCycleHookRequestBody struct { +type CreateLifeCycleHookOption struct { // 生命周期挂钩名称(1-32个字符),只能包含字母、数字、下划线或中划线。 + LifecycleHookName string `json:"lifecycle_hook_name"` // 生命周期挂钩类型。INSTANCE_TERMINATING。INSTANCE_LAUNCHING。INSTANCE_TERMINATING 类型的挂钩负责在实例终止时将实例挂起,INSTANCE_LAUNCHING 类型的挂钩则是在实例启动时将实例挂起。 - LifecycleHookType CreateLifeCycleHookRequestBodyLifecycleHookType `json:"lifecycle_hook_type"` + + LifecycleHookType CreateLifeCycleHookOptionLifecycleHookType `json:"lifecycle_hook_type"` // 生命周期挂钩默认回调操作。默认情况下,到达超时时间后执行的操作。ABANDON;CONTINUE;如果实例正在启动,则 CONTINUE 表示用户自定义操作已成功,可将实例投入使用。否则,ABANDON 表示用户自定义操作未成功,终止实例,伸缩活动置为失败,重新创建新实例。如果实例正在终止,则 ABANDON 和 CONTINUE 都允许终止实例。不过,ABANDON 将停止其他生命周期挂钩,而 CONTINUE 将允许完成其他生命周期挂钩。该字段缺省时默认为 ABANDON。 - DefaultResult *CreateLifeCycleHookRequestBodyDefaultResult `json:"default_result,omitempty"` + + DefaultResult *CreateLifeCycleHookOptionDefaultResult `json:"default_result,omitempty"` // 生命周期挂钩超时时间,取值范围300-86400,默认为3600,单位是秒。默认情况下,实例保持等待状态的时间。您可以延长超时时间,也可以在超时时间结束前进行 CONTINUE 或 ABANDON 操作。 + DefaultTimeout *int32 `json:"default_timeout,omitempty"` // SMN 服务中 Topic 的唯一的资源标识。为生命周期挂钩定义一个通知目标,当实例被生命周期挂钩挂起时向该通知目标发送消息。该消息包含实例的基本信息、用户自定义通知消息,以及可用于控制生命周期操作的令牌信息。 + NotificationTopicUrn string `json:"notification_topic_urn"` // 自定义通知消息,长度不超过256位,不能包含字符< > & ' ( )当配置了通知目标时,可向其发送用户自定义的通知内容。 + NotificationMetadata *string `json:"notification_metadata,omitempty"` } -func (o CreateLifeCycleHookRequestBody) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"CreateLifeCycleHookRequestBody", string(data)}, " ") +func (o CreateLifeCycleHookOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateLifeCycleHookOption struct{}" + } + + return strings.Join([]string{"CreateLifeCycleHookOption", string(data)}, " ") } -type CreateLifeCycleHookRequestBodyLifecycleHookType struct { +type CreateLifeCycleHookOptionLifecycleHookType struct { value string } -type CreateLifeCycleHookRequestBodyLifecycleHookTypeEnum struct { - INSTANCE_TERMINATING CreateLifeCycleHookRequestBodyLifecycleHookType - INSTANCE_LAUNCHING CreateLifeCycleHookRequestBodyLifecycleHookType +type CreateLifeCycleHookOptionLifecycleHookTypeEnum struct { + INSTANCE_TERMINATING CreateLifeCycleHookOptionLifecycleHookType + INSTANCE_LAUNCHING CreateLifeCycleHookOptionLifecycleHookType } -func GetCreateLifeCycleHookRequestBodyLifecycleHookTypeEnum() CreateLifeCycleHookRequestBodyLifecycleHookTypeEnum { - return CreateLifeCycleHookRequestBodyLifecycleHookTypeEnum{ - INSTANCE_TERMINATING: CreateLifeCycleHookRequestBodyLifecycleHookType{ +func GetCreateLifeCycleHookOptionLifecycleHookTypeEnum() CreateLifeCycleHookOptionLifecycleHookTypeEnum { + return CreateLifeCycleHookOptionLifecycleHookTypeEnum{ + INSTANCE_TERMINATING: CreateLifeCycleHookOptionLifecycleHookType{ value: "INSTANCE_TERMINATING", }, - INSTANCE_LAUNCHING: CreateLifeCycleHookRequestBodyLifecycleHookType{ + INSTANCE_LAUNCHING: CreateLifeCycleHookOptionLifecycleHookType{ value: "INSTANCE_LAUNCHING", }, } } -func (c CreateLifeCycleHookRequestBodyLifecycleHookType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) +func (c CreateLifeCycleHookOptionLifecycleHookType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) } -func (c *CreateLifeCycleHookRequestBodyLifecycleHookType) UnmarshalJSON(b []byte) error { +func (c *CreateLifeCycleHookOptionLifecycleHookType) UnmarshalJSON(b []byte) error { myConverter := converter.StringConverterFactory("string") if myConverter != nil { val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) @@ -73,31 +79,31 @@ func (c *CreateLifeCycleHookRequestBodyLifecycleHookType) UnmarshalJSON(b []byte } } -type CreateLifeCycleHookRequestBodyDefaultResult struct { +type CreateLifeCycleHookOptionDefaultResult struct { value string } -type CreateLifeCycleHookRequestBodyDefaultResultEnum struct { - ABANDON CreateLifeCycleHookRequestBodyDefaultResult - CONTINUE CreateLifeCycleHookRequestBodyDefaultResult +type CreateLifeCycleHookOptionDefaultResultEnum struct { + ABANDON CreateLifeCycleHookOptionDefaultResult + CONTINUE CreateLifeCycleHookOptionDefaultResult } -func GetCreateLifeCycleHookRequestBodyDefaultResultEnum() CreateLifeCycleHookRequestBodyDefaultResultEnum { - return CreateLifeCycleHookRequestBodyDefaultResultEnum{ - ABANDON: CreateLifeCycleHookRequestBodyDefaultResult{ +func GetCreateLifeCycleHookOptionDefaultResultEnum() CreateLifeCycleHookOptionDefaultResultEnum { + return CreateLifeCycleHookOptionDefaultResultEnum{ + ABANDON: CreateLifeCycleHookOptionDefaultResult{ value: "ABANDON", }, - CONTINUE: CreateLifeCycleHookRequestBodyDefaultResult{ + CONTINUE: CreateLifeCycleHookOptionDefaultResult{ value: "CONTINUE", }, } } -func (c CreateLifeCycleHookRequestBodyDefaultResult) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) +func (c CreateLifeCycleHookOptionDefaultResult) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) } -func (c *CreateLifeCycleHookRequestBodyDefaultResult) UnmarshalJSON(b []byte) error { +func (c *CreateLifeCycleHookOptionDefaultResult) UnmarshalJSON(b []byte) error { myConverter := converter.StringConverterFactory("string") if myConverter != nil { val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_lify_cycle_hook_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_lify_cycle_hook_request.go index f37a34909da830a20aa6a61e44364d1c1f755b7f..bc9e1ed84da8de048dd129fb1d94c827a89c4b20 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_lify_cycle_hook_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_lify_cycle_hook_request.go @@ -1,25 +1,25 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type CreateLifyCycleHookRequest struct { - ScalingGroupId string `json:"scaling_group_id"` - Body *CreateLifeCycleHookRequestBody `json:"body,omitempty"` + // 伸缩组标识。 + + ScalingGroupId string `json:"scaling_group_id"` + + Body *CreateLifeCycleHookOption `json:"body,omitempty"` } func (o CreateLifyCycleHookRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "CreateLifyCycleHookRequest struct{}" + } + return strings.Join([]string{"CreateLifyCycleHookRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_lify_cycle_hook_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_lify_cycle_hook_response.go index 1a34045113a244271ace91835bcb85af59f99ed0..cb0a6eb344e06f87305796cec9b99f80b94f5c0b 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_lify_cycle_hook_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_lify_cycle_hook_response.go @@ -1,42 +1,50 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" - "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" + "strings" ) // Response Object type CreateLifyCycleHookResponse struct { // 生命周期挂钩名称。 + LifecycleHookName *string `json:"lifecycle_hook_name,omitempty"` // 生命周期挂钩类型。INSTANCE_TERMINATING;INSTANCE_LAUNCHING + LifecycleHookType *CreateLifyCycleHookResponseLifecycleHookType `json:"lifecycle_hook_type,omitempty"` // 生命周期挂钩默认回调操作。ABANDON;CONTINUE + DefaultResult *CreateLifyCycleHookResponseDefaultResult `json:"default_result,omitempty"` // 生命周期挂钩超时时间,单位秒。 + DefaultTimeout *int32 `json:"default_timeout,omitempty"` // SMN服务中Topic的唯一的资源标识。 + NotificationTopicUrn *string `json:"notification_topic_urn,omitempty"` // SMN服务中Topic的资源名称。 + NotificationTopicName *string `json:"notification_topic_name,omitempty"` // 自定义通知消息。 + NotificationMetadata *string `json:"notification_metadata,omitempty"` // 生命周期挂钩创建时间,遵循UTC时间。 - CreateTime *sdktime.SdkTime `json:"create_time,omitempty"` + + CreateTime *string `json:"create_time,omitempty"` + HttpStatusCode int `json:"-"` } func (o CreateLifyCycleHookResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "CreateLifyCycleHookResponse struct{}" + } + return strings.Join([]string{"CreateLifyCycleHookResponse", string(data)}, " ") } @@ -61,7 +69,7 @@ func GetCreateLifyCycleHookResponseLifecycleHookTypeEnum() CreateLifyCycleHookRe } func (c CreateLifyCycleHookResponseLifecycleHookType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *CreateLifyCycleHookResponseLifecycleHookType) UnmarshalJSON(b []byte) error { @@ -99,7 +107,7 @@ func GetCreateLifyCycleHookResponseDefaultResultEnum() CreateLifyCycleHookRespon } func (c CreateLifyCycleHookResponseDefaultResult) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *CreateLifyCycleHookResponseDefaultResult) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_notification_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_notification_option.go new file mode 100644 index 0000000000000000000000000000000000000000..0ccb5408aa6c753ada4e417110cb83e2f6f86f11 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_notification_option.go @@ -0,0 +1,80 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// 配置伸缩组通知 +type CreateNotificationOption struct { + // SMN服务中Topic的唯一的资源标识。 + + TopicUrn string `json:"topic_urn"` + // 通知场景,有以下五种类型。SCALING_UP:扩容成功。SCALING_UP_FAIL:扩容失败。SCALING_DOWN:减容成功。SCALING_DOWN_FAIL:减容失败。SCALING_GROUP_ABNORMAL:伸缩组发生异常 + + TopicScene []CreateNotificationOptionTopicScene `json:"topic_scene"` +} + +func (o CreateNotificationOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateNotificationOption struct{}" + } + + return strings.Join([]string{"CreateNotificationOption", string(data)}, " ") +} + +type CreateNotificationOptionTopicScene struct { + value string +} + +type CreateNotificationOptionTopicSceneEnum struct { + SCALING_UP CreateNotificationOptionTopicScene + SCALING_UP_FAIL CreateNotificationOptionTopicScene + SCALING_DOWN CreateNotificationOptionTopicScene + SCALING_DOWN_FAIL CreateNotificationOptionTopicScene + SCALING_GROUP_ABNORMAL CreateNotificationOptionTopicScene +} + +func GetCreateNotificationOptionTopicSceneEnum() CreateNotificationOptionTopicSceneEnum { + return CreateNotificationOptionTopicSceneEnum{ + SCALING_UP: CreateNotificationOptionTopicScene{ + value: "[SCALING_UP", + }, + SCALING_UP_FAIL: CreateNotificationOptionTopicScene{ + value: "SCALING_UP_FAIL", + }, + SCALING_DOWN: CreateNotificationOptionTopicScene{ + value: "SCALING_DOWN", + }, + SCALING_DOWN_FAIL: CreateNotificationOptionTopicScene{ + value: "SCALING_DOWN_FAIL", + }, + SCALING_GROUP_ABNORMAL: CreateNotificationOptionTopicScene{ + value: "SCALING_GROUP_ABNORMAL]", + }, + } +} + +func (c CreateNotificationOptionTopicScene) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *CreateNotificationOptionTopicScene) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_notification_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_notification_request_body.go deleted file mode 100644 index 168301c8134ecb4bd460995a3ab8b7d82d370cc1..0000000000000000000000000000000000000000 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_notification_request_body.go +++ /dev/null @@ -1,27 +0,0 @@ -/* - * As - * - * 弹性伸缩API - * - */ - -package model - -import ( - "encoding/json" - - "strings" -) - -// 配置伸缩组通知 -type CreateNotificationRequestBody struct { - // SMN服务中Topic的唯一的资源标识。 - TopicUrn *string `json:"topic_urn,omitempty"` - // 通知场景,有以下五种类型。SCALING_UP:扩容成功。SCALING_UP_FAIL:扩容失败。SCALING_DOWN:减容成功。SCALING_DOWN_FAIL:减容失败。SCALING_GROUP_ABNORMAL:伸缩组发生异常 - TopicScene *[]string `json:"topic_scene,omitempty"` -} - -func (o CreateNotificationRequestBody) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"CreateNotificationRequestBody", string(data)}, " ") -} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_config_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_config_option.go new file mode 100644 index 0000000000000000000000000000000000000000..178c9c5b2e0372c44842491006adb417bb568015 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_config_option.go @@ -0,0 +1,25 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// 创建伸缩配置请求 +type CreateScalingConfigOption struct { + // 伸缩配置名称(1-64个字符),只能包含中文、字母、数字、下划线或中划线。 + + ScalingConfigurationName string `json:"scaling_configuration_name"` + + InstanceConfig *InstanceConfig `json:"instance_config"` +} + +func (o CreateScalingConfigOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateScalingConfigOption struct{}" + } + + return strings.Join([]string{"CreateScalingConfigOption", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_config_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_config_request.go index 3ede38844d95efb3236bc6ccdaad6c45d014e8c0..c244ac6d909170e8ae9b5e3a37879f0b9ec7b96f 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_config_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_config_request.go @@ -1,24 +1,21 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type CreateScalingConfigRequest struct { - Body *CreateScalingConfigRequestBody `json:"body,omitempty"` + Body *CreateScalingConfigOption `json:"body,omitempty"` } func (o CreateScalingConfigRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "CreateScalingConfigRequest struct{}" + } + return strings.Join([]string{"CreateScalingConfigRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_config_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_config_request_body.go deleted file mode 100644 index 50879ef4514fc3337fdc3bd283acff865a617f92..0000000000000000000000000000000000000000 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_config_request_body.go +++ /dev/null @@ -1,26 +0,0 @@ -/* - * As - * - * 弹性伸缩API - * - */ - -package model - -import ( - "encoding/json" - - "strings" -) - -// 创建伸缩配置请求 -type CreateScalingConfigRequestBody struct { - // 伸缩配置名称(1-64个字符),只能包含中文、字母、数字、下划线或中划线。 - ScalingConfigurationName string `json:"scaling_configuration_name"` - InstanceConfig *InstanceConfig `json:"instance_config"` -} - -func (o CreateScalingConfigRequestBody) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"CreateScalingConfigRequestBody", string(data)}, " ") -} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_config_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_config_response.go index 47ae0bf40f6502e4038deb254e80400e5f9a8a1d..baed4b89510a5a479736503f80f329f8a42d68e3 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_config_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_config_response.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type CreateScalingConfigResponse struct { // 伸缩配置ID + ScalingConfigurationId *string `json:"scaling_configuration_id,omitempty"` + HttpStatusCode int `json:"-"` } func (o CreateScalingConfigResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "CreateScalingConfigResponse struct{}" + } + return strings.Join([]string{"CreateScalingConfigResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_group_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_group_option.go similarity index 55% rename from cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_group_request_body.go rename to cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_group_option.go index 6087ee122e98cd63d0d7707bcdff23dd4ecde513..51273bb9ebdcdaa761525d1edaad051f7214aa10 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_group_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_group_option.go @@ -1,93 +1,119 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // 创建伸缩组请求 -type CreateScalingGroupRequestBody struct { +type CreateScalingGroupOption struct { // 伸缩组名称(1-64个字符),只能包含中文、字母、数字、下划线、中划线。 + ScalingGroupName string `json:"scaling_group_name"` // 伸缩配置ID,通过查询弹性伸缩配置列表接口获取。 + ScalingConfigurationId *string `json:"scaling_configuration_id,omitempty"` // 期望实例数量,默认值为最小实例数。最小实例数<=期望实例数<=最大实例数 + DesireInstanceNumber *int32 `json:"desire_instance_number,omitempty"` // 最小实例数量,默认值为0。 + MinInstanceNumber *int32 `json:"min_instance_number,omitempty"` // 最大实例数量,默认值为0。 + MaxInstanceNumber *int32 `json:"max_instance_number,omitempty"` // 冷却时间,取值范围0-86400,默认为900,单位是秒。 只针对告警策略生效,定时、周期策略和手动触发策略不受该参数限制。 + CoolDownTime *int32 `json:"cool_down_time,omitempty"` // 弹性负载均衡(经典型)监听器ID,最多支持绑定3个负载均衡监听器,多个负载均衡监听器ID以逗号分隔。首先使用vpc_id通过查询ELB服务负载均衡器列表接口获取负载均衡器的ID,详见《弹性负载均衡API参考》的“查询负载均衡器列表”,再使用该ID查询监听器列表获取,详见《弹性负载均衡API参考》的“查询监听器列表”。 + LbListenerId *string `json:"lb_listener_id,omitempty"` // 弹性负载均衡器(增强型)信息,最多支持绑定3个负载均衡。该字段与lb_listener_id互斥。 + LbaasListeners *[]LbaasListeners `json:"lbaas_listeners,omitempty"` // 可用分区信息。弹性伸缩活动中自动添加的云服务器会被创建在指定的可用区中。如果没有指定可用分区,会由系统自动指定可用分区。详情请参考地区和终端节点。 + AvailableZones *[]string `json:"available_zones,omitempty"` - // 网络信息,最多支持选择5个子网,传入的第一个子网默认作为云服务器的主网卡。使用vpc_id通过查询VPC服务子网列表接口获取, 查询子网列表”。 + // 网络信息,最多支持选择5个子网,传入的第一个子网默认作为云服务器的主网卡。获取子网信息请参考[查询子网列表](https://support.huaweicloud.com/api-vpc/vpc_subnet01_0003.html)。 + Networks []Networks `json:"networks"` // 安全组信息,最多支持选择1个安全组。使用vpc_id通过查询VPC服务安全组列表接口获取,详见《虚拟私有云API参考》的“查询安全组列表”。当伸缩配置和伸缩组同时指定安全组时,将以伸缩配置中的安全组为准;当伸缩配置和伸缩组都没有指定安全组时,将使用默认安全组。为了使用灵活性更高,推荐在伸缩配置中指定安全组。 - SecurityGroups *[]SecurityGroups `json:"security_groups,omitempty"` + + SecurityGroups *[]SecurityGroup `json:"security_groups,omitempty"` // VPC信息,通过查询VPC服务VPC列表接口获取,详见《虚拟私有云API参考》的“查询VPC列表”。 + VpcId string `json:"vpc_id"` // 伸缩组实例健康检查方式:ELB_AUDIT和NOVA_AUDIT。当伸缩组参数中设置负载均衡时,默认为ELB_AUDIT;否则默认为NOVA_AUDIT。ELB_AUDIT表示负载均衡健康检查方式,在有监听器的伸缩组中有效。NOVA_AUDIT表示弹性伸缩自带的健康检查方式。 - HealthPeriodicAuditMethod *CreateScalingGroupRequestBodyHealthPeriodicAuditMethod `json:"health_periodic_audit_method,omitempty"` + + HealthPeriodicAuditMethod *CreateScalingGroupOptionHealthPeriodicAuditMethod `json:"health_periodic_audit_method,omitempty"` // 伸缩组实例的健康检查周期,可设置为1、5、15、60、180(分钟),若不设置该参数,默认为5。若设置为0,可以实现10秒级健康检查。 - HealthPeriodicAuditTime *CreateScalingGroupRequestBodyHealthPeriodicAuditTime `json:"health_periodic_audit_time,omitempty"` + + HealthPeriodicAuditTime *int32 `json:"health_periodic_audit_time,omitempty"` // 伸缩组实例健康状况检查宽限期,取值范围0-86400,单位是秒。当实例加入伸缩组并且进入已启用状态后,健康状况检查宽限期才会启动,伸缩组会等健康状况检查宽限期结束后才检查实例的运行状况。当伸缩组实例健康检查方式为ELB_AUDIT时,该参数生效,若不设置该参数,默认为600秒。 + HealthPeriodicAuditGracePeriod *int32 `json:"health_periodic_audit_grace_period,omitempty"` // 伸缩组实例移除策略:OLD_CONFIG_OLD_INSTANCE(默认):从根据“较早创建的配置”创建的实例中筛选出较早创建的实例被优先移除。OLD_CONFIG_NEW_INSTANCE:从根据“较早创建的配置”创建的实例中筛选出较新创建的实例被优先移除。OLD_INSTANCE:较早创建的实例被优先移除。NEW_INSTANCE:较新创建的实例将被优先移除。 - InstanceTerminatePolicy *CreateScalingGroupRequestBodyInstanceTerminatePolicy `json:"instance_terminate_policy,omitempty"` + + InstanceTerminatePolicy *CreateScalingGroupOptionInstanceTerminatePolicy `json:"instance_terminate_policy,omitempty"` // 通知方式:EMAIL为发送邮件通知。该通知方式即将被废除,建议给弹性伸缩组配置通知功能。详见通知。 + Notifications *[]string `json:"notifications,omitempty"` // 配置删除云服务器时是否删除云服务器绑定的弹性IP。取值为true或false,默认为false。true:删除云服务器时,会同时删除绑定在云服务器上的弹性IP。当弹性IP的计费方式为包年包月时,不会被删除。false:删除云服务器时,仅解绑定在云服务器上的弹性IP,不删除弹性IP。 + DeletePublicip *bool `json:"delete_publicip,omitempty"` + // 配置删除云服务器时是否删除云服务器绑定的数据盘。取值为true或false,默认为false。 true:删除云服务器时,会同时删除绑定在云服务器上的数据盘。当数据盘的计费方式为包年包月时,不会被删除。 false:删除云服务器时,仅解绑定在云服务器上的数据盘,不删除数据盘。 + + DeleteVolume *bool `json:"delete_volume,omitempty"` // 企业项目ID,用于指定伸缩组归属的企业项目。当伸缩组配置企业项目时,由该伸缩组创建的弹性云服务器将归属于该企业项目。当没有指定企业项目时,将使用企业项目ID为0的默认项目。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` // 伸缩组扩缩容时目标AZ选择的优先级策略:EQUILIBRIUM_DISTRIBUTE(默认):均衡分布,云服务器扩缩容时优先保证available_zones列表中各AZ下虚拟机数量均衡,当无法在目标AZ下完成虚拟机扩容时,按照PICK_FIRST原则选择其他可用AZ。PICK_FIRST:选择优先,虚拟机扩缩容时目标AZ的选择按照available_zones列表的顺序进行优先级排序。 - MultiAzPriorityPolicy *CreateScalingGroupRequestBodyMultiAzPriorityPolicy `json:"multi_az_priority_policy,omitempty"` + + MultiAzPriorityPolicy *CreateScalingGroupOptionMultiAzPriorityPolicy `json:"multi_az_priority_policy,omitempty"` + // 伸缩组描述信息(0-256个字符) + + Description *string `json:"description,omitempty"` } -func (o CreateScalingGroupRequestBody) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"CreateScalingGroupRequestBody", string(data)}, " ") +func (o CreateScalingGroupOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateScalingGroupOption struct{}" + } + + return strings.Join([]string{"CreateScalingGroupOption", string(data)}, " ") } -type CreateScalingGroupRequestBodyHealthPeriodicAuditMethod struct { +type CreateScalingGroupOptionHealthPeriodicAuditMethod struct { value string } -type CreateScalingGroupRequestBodyHealthPeriodicAuditMethodEnum struct { - ELB_AUDIT CreateScalingGroupRequestBodyHealthPeriodicAuditMethod - NOVA_AUDIT CreateScalingGroupRequestBodyHealthPeriodicAuditMethod +type CreateScalingGroupOptionHealthPeriodicAuditMethodEnum struct { + ELB_AUDIT CreateScalingGroupOptionHealthPeriodicAuditMethod + NOVA_AUDIT CreateScalingGroupOptionHealthPeriodicAuditMethod } -func GetCreateScalingGroupRequestBodyHealthPeriodicAuditMethodEnum() CreateScalingGroupRequestBodyHealthPeriodicAuditMethodEnum { - return CreateScalingGroupRequestBodyHealthPeriodicAuditMethodEnum{ - ELB_AUDIT: CreateScalingGroupRequestBodyHealthPeriodicAuditMethod{ +func GetCreateScalingGroupOptionHealthPeriodicAuditMethodEnum() CreateScalingGroupOptionHealthPeriodicAuditMethodEnum { + return CreateScalingGroupOptionHealthPeriodicAuditMethodEnum{ + ELB_AUDIT: CreateScalingGroupOptionHealthPeriodicAuditMethod{ value: "ELB_AUDIT", }, - NOVA_AUDIT: CreateScalingGroupRequestBodyHealthPeriodicAuditMethod{ + NOVA_AUDIT: CreateScalingGroupOptionHealthPeriodicAuditMethod{ value: "NOVA_AUDIT", }, } } -func (c CreateScalingGroupRequestBodyHealthPeriodicAuditMethod) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) +func (c CreateScalingGroupOptionHealthPeriodicAuditMethod) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) } -func (c *CreateScalingGroupRequestBodyHealthPeriodicAuditMethod) UnmarshalJSON(b []byte) error { +func (c *CreateScalingGroupOptionHealthPeriodicAuditMethod) UnmarshalJSON(b []byte) error { myConverter := converter.StringConverterFactory("string") if myConverter != nil { val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) @@ -101,88 +127,39 @@ func (c *CreateScalingGroupRequestBodyHealthPeriodicAuditMethod) UnmarshalJSON(b } } -type CreateScalingGroupRequestBodyHealthPeriodicAuditTime struct { - value int32 -} - -type CreateScalingGroupRequestBodyHealthPeriodicAuditTimeEnum struct { - E_0 CreateScalingGroupRequestBodyHealthPeriodicAuditTime - E_1 CreateScalingGroupRequestBodyHealthPeriodicAuditTime - E_5 CreateScalingGroupRequestBodyHealthPeriodicAuditTime - E_15 CreateScalingGroupRequestBodyHealthPeriodicAuditTime - E_60 CreateScalingGroupRequestBodyHealthPeriodicAuditTime - E_180 CreateScalingGroupRequestBodyHealthPeriodicAuditTime -} - -func GetCreateScalingGroupRequestBodyHealthPeriodicAuditTimeEnum() CreateScalingGroupRequestBodyHealthPeriodicAuditTimeEnum { - return CreateScalingGroupRequestBodyHealthPeriodicAuditTimeEnum{ - E_0: CreateScalingGroupRequestBodyHealthPeriodicAuditTime{ - value: 0, - }, E_1: CreateScalingGroupRequestBodyHealthPeriodicAuditTime{ - value: 1, - }, E_5: CreateScalingGroupRequestBodyHealthPeriodicAuditTime{ - value: 5, - }, E_15: CreateScalingGroupRequestBodyHealthPeriodicAuditTime{ - value: 15, - }, E_60: CreateScalingGroupRequestBodyHealthPeriodicAuditTime{ - value: 60, - }, E_180: CreateScalingGroupRequestBodyHealthPeriodicAuditTime{ - value: 180, - }, - } -} - -func (c CreateScalingGroupRequestBodyHealthPeriodicAuditTime) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) -} - -func (c *CreateScalingGroupRequestBodyHealthPeriodicAuditTime) UnmarshalJSON(b []byte) error { - myConverter := converter.StringConverterFactory("int32") - if myConverter != nil { - val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) - if err == nil { - c.value = val.(int32) - return nil - } - return err - } else { - return errors.New("convert enum data to int32 error") - } -} - -type CreateScalingGroupRequestBodyInstanceTerminatePolicy struct { +type CreateScalingGroupOptionInstanceTerminatePolicy struct { value string } -type CreateScalingGroupRequestBodyInstanceTerminatePolicyEnum struct { - OLD_CONFIG_OLD_INSTANCE CreateScalingGroupRequestBodyInstanceTerminatePolicy - OLD_CONFIG_NEW_INSTANCE CreateScalingGroupRequestBodyInstanceTerminatePolicy - OLD_INSTANCE CreateScalingGroupRequestBodyInstanceTerminatePolicy - NEW_INSTANCE CreateScalingGroupRequestBodyInstanceTerminatePolicy +type CreateScalingGroupOptionInstanceTerminatePolicyEnum struct { + OLD_CONFIG_OLD_INSTANCE CreateScalingGroupOptionInstanceTerminatePolicy + OLD_CONFIG_NEW_INSTANCE CreateScalingGroupOptionInstanceTerminatePolicy + OLD_INSTANCE CreateScalingGroupOptionInstanceTerminatePolicy + NEW_INSTANCE CreateScalingGroupOptionInstanceTerminatePolicy } -func GetCreateScalingGroupRequestBodyInstanceTerminatePolicyEnum() CreateScalingGroupRequestBodyInstanceTerminatePolicyEnum { - return CreateScalingGroupRequestBodyInstanceTerminatePolicyEnum{ - OLD_CONFIG_OLD_INSTANCE: CreateScalingGroupRequestBodyInstanceTerminatePolicy{ +func GetCreateScalingGroupOptionInstanceTerminatePolicyEnum() CreateScalingGroupOptionInstanceTerminatePolicyEnum { + return CreateScalingGroupOptionInstanceTerminatePolicyEnum{ + OLD_CONFIG_OLD_INSTANCE: CreateScalingGroupOptionInstanceTerminatePolicy{ value: "OLD_CONFIG_OLD_INSTANCE", }, - OLD_CONFIG_NEW_INSTANCE: CreateScalingGroupRequestBodyInstanceTerminatePolicy{ + OLD_CONFIG_NEW_INSTANCE: CreateScalingGroupOptionInstanceTerminatePolicy{ value: "OLD_CONFIG_NEW_INSTANCE", }, - OLD_INSTANCE: CreateScalingGroupRequestBodyInstanceTerminatePolicy{ + OLD_INSTANCE: CreateScalingGroupOptionInstanceTerminatePolicy{ value: "OLD_INSTANCE", }, - NEW_INSTANCE: CreateScalingGroupRequestBodyInstanceTerminatePolicy{ + NEW_INSTANCE: CreateScalingGroupOptionInstanceTerminatePolicy{ value: "NEW_INSTANCE", }, } } -func (c CreateScalingGroupRequestBodyInstanceTerminatePolicy) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) +func (c CreateScalingGroupOptionInstanceTerminatePolicy) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) } -func (c *CreateScalingGroupRequestBodyInstanceTerminatePolicy) UnmarshalJSON(b []byte) error { +func (c *CreateScalingGroupOptionInstanceTerminatePolicy) UnmarshalJSON(b []byte) error { myConverter := converter.StringConverterFactory("string") if myConverter != nil { val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) @@ -196,31 +173,31 @@ func (c *CreateScalingGroupRequestBodyInstanceTerminatePolicy) UnmarshalJSON(b [ } } -type CreateScalingGroupRequestBodyMultiAzPriorityPolicy struct { +type CreateScalingGroupOptionMultiAzPriorityPolicy struct { value string } -type CreateScalingGroupRequestBodyMultiAzPriorityPolicyEnum struct { - EQUILIBRIUM_DISTRIBUTE CreateScalingGroupRequestBodyMultiAzPriorityPolicy - PICK_FIRST CreateScalingGroupRequestBodyMultiAzPriorityPolicy +type CreateScalingGroupOptionMultiAzPriorityPolicyEnum struct { + EQUILIBRIUM_DISTRIBUTE CreateScalingGroupOptionMultiAzPriorityPolicy + PICK_FIRST CreateScalingGroupOptionMultiAzPriorityPolicy } -func GetCreateScalingGroupRequestBodyMultiAzPriorityPolicyEnum() CreateScalingGroupRequestBodyMultiAzPriorityPolicyEnum { - return CreateScalingGroupRequestBodyMultiAzPriorityPolicyEnum{ - EQUILIBRIUM_DISTRIBUTE: CreateScalingGroupRequestBodyMultiAzPriorityPolicy{ +func GetCreateScalingGroupOptionMultiAzPriorityPolicyEnum() CreateScalingGroupOptionMultiAzPriorityPolicyEnum { + return CreateScalingGroupOptionMultiAzPriorityPolicyEnum{ + EQUILIBRIUM_DISTRIBUTE: CreateScalingGroupOptionMultiAzPriorityPolicy{ value: "EQUILIBRIUM_DISTRIBUTE", }, - PICK_FIRST: CreateScalingGroupRequestBodyMultiAzPriorityPolicy{ + PICK_FIRST: CreateScalingGroupOptionMultiAzPriorityPolicy{ value: "PICK_FIRST", }, } } -func (c CreateScalingGroupRequestBodyMultiAzPriorityPolicy) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) +func (c CreateScalingGroupOptionMultiAzPriorityPolicy) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) } -func (c *CreateScalingGroupRequestBodyMultiAzPriorityPolicy) UnmarshalJSON(b []byte) error { +func (c *CreateScalingGroupOptionMultiAzPriorityPolicy) UnmarshalJSON(b []byte) error { myConverter := converter.StringConverterFactory("string") if myConverter != nil { val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_group_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_group_request.go index 5cebb05730961d2bcbd01b1b0f9bde6e1aaf1040..3bbaa63a8a59499af22ef6bf733b44cbfea6225b 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_group_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_group_request.go @@ -1,24 +1,21 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type CreateScalingGroupRequest struct { - Body *CreateScalingGroupRequestBody `json:"body,omitempty"` + Body *CreateScalingGroupOption `json:"body,omitempty"` } func (o CreateScalingGroupRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "CreateScalingGroupRequest struct{}" + } + return strings.Join([]string{"CreateScalingGroupRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_group_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_group_response.go index 071737c30d3d290b0118dd4af755132773200813..335a698223154a1d73226b69e49eb82d844d908e 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_group_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_group_response.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type CreateScalingGroupResponse struct { // 伸缩组ID + ScalingGroupId *string `json:"scaling_group_id,omitempty"` + HttpStatusCode int `json:"-"` } func (o CreateScalingGroupResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "CreateScalingGroupResponse struct{}" + } + return strings.Join([]string{"CreateScalingGroupResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_notification_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_notification_request.go index d84cffd2d9cab6742775fbb0e22cbc6583b4d47c..450dc055b01e8f7c5ffaaf76c6b0a3225ff2a5b8 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_notification_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_notification_request.go @@ -1,25 +1,25 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type CreateScalingNotificationRequest struct { - ScalingGroupId string `json:"scaling_group_id"` - Body *CreateNotificationRequestBody `json:"body,omitempty"` + // 伸缩组标识。 + + ScalingGroupId string `json:"scaling_group_id"` + + Body *CreateNotificationOption `json:"body,omitempty"` } func (o CreateScalingNotificationRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "CreateScalingNotificationRequest struct{}" + } + return strings.Join([]string{"CreateScalingNotificationRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_notification_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_notification_response.go index 37fc26c51be75ae431b3c7f091d7a9dbe8abc51e..7e2b7cda0ddd3c0135bb2663857508654a37979e 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_notification_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_notification_response.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,14 +9,22 @@ import ( // Response Object type CreateScalingNotificationResponse struct { // SMN服务中Topic的唯一的资源标识。 + TopicUrn *string `json:"topic_urn,omitempty"` // 通知场景,有以下五种类型。SCALING_UP:扩容成功。SCALING_UP_FAIL:扩容失败。SCALING_DOWN:减容成功。SCALING_DOWN_FAIL:减容失败。SCALING_GROUP_ABNORMAL:伸缩组发生异常 + TopicScene *[]string `json:"topic_scene,omitempty"` // SMN服务中Topic的资源名称。 - TopicName *string `json:"topic_name,omitempty"` + + TopicName *string `json:"topic_name,omitempty"` + HttpStatusCode int `json:"-"` } func (o CreateScalingNotificationResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "CreateScalingNotificationResponse struct{}" + } + return strings.Join([]string{"CreateScalingNotificationResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_policy_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_policy_option.go similarity index 52% rename from cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_policy_request_body.go rename to cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_policy_option.go index 9b177348bc1d38c248c12727daf67d234784afda..0eda3e8f4411208c59fc2071055a4e643be955f2 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_policy_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_policy_option.go @@ -1,69 +1,76 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // 创建伸缩策略 -type CreateScalingPolicyRequestBody struct { +type CreateScalingPolicyOption struct { // 策略名称(1-64字符),可以用中文、字母、数字、下划线、中划线的组合。 + ScalingPolicyName string `json:"scaling_policy_name"` // 伸缩组ID,通过查询弹性伸缩组列表获取,详见查询弹性伸缩组列表。 + ScalingGroupId string `json:"scaling_group_id"` // 策略类型。告警策略:ALARM(与alarm_id对应);定时策略:SCHEDULED(与scheduled_policy对应);周期策略:RECURRENCE(与scheduled_policy对应) - ScalingPolicyType CreateScalingPolicyRequestBodyScalingPolicyType `json:"scaling_policy_type"` + + ScalingPolicyType CreateScalingPolicyOptionScalingPolicyType `json:"scaling_policy_type"` // 告警ID,即告警规则的ID,当scaling_policy_type为ALARM时该项必选,此时scheduled_policy不生效。创建告警策略成功后,会自动为该告警ID对应的告警规则的alarm_actions字段增加类型为autoscaling的告警触发动作。告警ID通过查询云监控告警规则列表获取,详见《云监控API参考》的“查询告警规则列表”。 - AlarmId *string `json:"alarm_id,omitempty"` - ScheduledPolicy *ScheduledPolicy `json:"scheduled_policy,omitempty"` - ScalingPolicyAction *ScalingPolicyAction `json:"scaling_policy_action,omitempty"` + + AlarmId *string `json:"alarm_id,omitempty"` + + ScheduledPolicy *ScheduledPolicy `json:"scheduled_policy,omitempty"` + + ScalingPolicyAction *ScalingPolicyActionV1 `json:"scaling_policy_action,omitempty"` // 冷却时间,取值范围0-86400,默认为900,单位是秒。 + CoolDownTime *int32 `json:"cool_down_time,omitempty"` } -func (o CreateScalingPolicyRequestBody) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"CreateScalingPolicyRequestBody", string(data)}, " ") +func (o CreateScalingPolicyOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateScalingPolicyOption struct{}" + } + + return strings.Join([]string{"CreateScalingPolicyOption", string(data)}, " ") } -type CreateScalingPolicyRequestBodyScalingPolicyType struct { +type CreateScalingPolicyOptionScalingPolicyType struct { value string } -type CreateScalingPolicyRequestBodyScalingPolicyTypeEnum struct { - ALARM CreateScalingPolicyRequestBodyScalingPolicyType - SCHEDULED CreateScalingPolicyRequestBodyScalingPolicyType - RECURRENCE CreateScalingPolicyRequestBodyScalingPolicyType +type CreateScalingPolicyOptionScalingPolicyTypeEnum struct { + ALARM CreateScalingPolicyOptionScalingPolicyType + SCHEDULED CreateScalingPolicyOptionScalingPolicyType + RECURRENCE CreateScalingPolicyOptionScalingPolicyType } -func GetCreateScalingPolicyRequestBodyScalingPolicyTypeEnum() CreateScalingPolicyRequestBodyScalingPolicyTypeEnum { - return CreateScalingPolicyRequestBodyScalingPolicyTypeEnum{ - ALARM: CreateScalingPolicyRequestBodyScalingPolicyType{ +func GetCreateScalingPolicyOptionScalingPolicyTypeEnum() CreateScalingPolicyOptionScalingPolicyTypeEnum { + return CreateScalingPolicyOptionScalingPolicyTypeEnum{ + ALARM: CreateScalingPolicyOptionScalingPolicyType{ value: "ALARM", }, - SCHEDULED: CreateScalingPolicyRequestBodyScalingPolicyType{ + SCHEDULED: CreateScalingPolicyOptionScalingPolicyType{ value: "SCHEDULED", }, - RECURRENCE: CreateScalingPolicyRequestBodyScalingPolicyType{ + RECURRENCE: CreateScalingPolicyOptionScalingPolicyType{ value: "RECURRENCE", }, } } -func (c CreateScalingPolicyRequestBodyScalingPolicyType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) +func (c CreateScalingPolicyOptionScalingPolicyType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) } -func (c *CreateScalingPolicyRequestBodyScalingPolicyType) UnmarshalJSON(b []byte) error { +func (c *CreateScalingPolicyOptionScalingPolicyType) UnmarshalJSON(b []byte) error { myConverter := converter.StringConverterFactory("string") if myConverter != nil { val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_policy_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_policy_request.go index 59ae423d45b03021674d3aff972519d6d923281f..e669582f396508fe3a08c50629db1bbf17503ac0 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_policy_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_policy_request.go @@ -1,24 +1,21 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type CreateScalingPolicyRequest struct { - Body *CreateScalingPolicyRequestBody `json:"body,omitempty"` + Body *CreateScalingPolicyOption `json:"body,omitempty"` } func (o CreateScalingPolicyRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "CreateScalingPolicyRequest struct{}" + } + return strings.Join([]string{"CreateScalingPolicyRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_policy_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_policy_response.go index 77782d6c66d4cb6cda4ff0b46f519fdb057bca3d..fd11c5f50cebf7130e9f9530dcf07deab0990ee8 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_policy_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_policy_response.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type CreateScalingPolicyResponse struct { // 伸缩策略ID。 + ScalingPolicyId *string `json:"scaling_policy_id,omitempty"` + HttpStatusCode int `json:"-"` } func (o CreateScalingPolicyResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "CreateScalingPolicyResponse struct{}" + } + return strings.Join([]string{"CreateScalingPolicyResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_policy_v2_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_policy_v2_option.go new file mode 100644 index 0000000000000000000000000000000000000000..c402cd94040e54297b1d82b09f9f8d5688c35aaf --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_policy_v2_option.go @@ -0,0 +1,129 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// 创建伸缩策略(V2) +type CreateScalingPolicyV2Option struct { + // 策略名称(1-64)字符,可以用中文、字母、数字、下划线、中划线的组合。 + + ScalingPolicyName string `json:"scaling_policy_name"` + // 伸缩资源ID,伸缩组唯一标识或带宽唯一标识。如果scaling_resource_type为SCALING_GROUP,对应伸缩组唯一标识。如果scaling_resource_type为BANDWIDTH,对应带宽唯一标识。 + + ScalingResourceId string `json:"scaling_resource_id"` + // 伸缩资源类型。伸缩组:SCALING_GROUP。带宽:BANDWIDTH。 + + ScalingResourceType CreateScalingPolicyV2OptionScalingResourceType `json:"scaling_resource_type"` + // 策略类型。告警策略:ALARM(与alarm_id对应);定时策略:SCHEDULED(与scheduled_policy对应);周期策略:RECURRENCE(与scheduled_policy对应) + + ScalingPolicyType CreateScalingPolicyV2OptionScalingPolicyType `json:"scaling_policy_type"` + // 告警ID,即告警规则的ID,当scaling_policy_type为ALARM时该项必选,此时scheduled_policy不生效。创建告警策略成功后,会自动为该告警ID对应的告警规则的alarm_actions字段增加类型为autoscaling的告警触发动作。告警ID通过查询云监控告警规则列表获取,详见《云监控API参考》的“查询告警规则列表”。 + + AlarmId *string `json:"alarm_id,omitempty"` + + ScheduledPolicy *ScheduledPolicy `json:"scheduled_policy,omitempty"` + + ScalingPolicyAction *ScalingPolicyActionV2 `json:"scaling_policy_action,omitempty"` + // 冷却时间,取值范围0-86400,默认为300,单位是秒。 + + CoolDownTime *int32 `json:"cool_down_time,omitempty"` + // 伸缩策略描述(1-256个字符) + + Description *string `json:"description,omitempty"` +} + +func (o CreateScalingPolicyV2Option) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateScalingPolicyV2Option struct{}" + } + + return strings.Join([]string{"CreateScalingPolicyV2Option", string(data)}, " ") +} + +type CreateScalingPolicyV2OptionScalingResourceType struct { + value string +} + +type CreateScalingPolicyV2OptionScalingResourceTypeEnum struct { + SCALING_GROUP CreateScalingPolicyV2OptionScalingResourceType + BANDWIDTH CreateScalingPolicyV2OptionScalingResourceType +} + +func GetCreateScalingPolicyV2OptionScalingResourceTypeEnum() CreateScalingPolicyV2OptionScalingResourceTypeEnum { + return CreateScalingPolicyV2OptionScalingResourceTypeEnum{ + SCALING_GROUP: CreateScalingPolicyV2OptionScalingResourceType{ + value: "SCALING_GROUP", + }, + BANDWIDTH: CreateScalingPolicyV2OptionScalingResourceType{ + value: "BANDWIDTH", + }, + } +} + +func (c CreateScalingPolicyV2OptionScalingResourceType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *CreateScalingPolicyV2OptionScalingResourceType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type CreateScalingPolicyV2OptionScalingPolicyType struct { + value string +} + +type CreateScalingPolicyV2OptionScalingPolicyTypeEnum struct { + ALARM CreateScalingPolicyV2OptionScalingPolicyType + SCHEDULED CreateScalingPolicyV2OptionScalingPolicyType + RECURRENCE CreateScalingPolicyV2OptionScalingPolicyType +} + +func GetCreateScalingPolicyV2OptionScalingPolicyTypeEnum() CreateScalingPolicyV2OptionScalingPolicyTypeEnum { + return CreateScalingPolicyV2OptionScalingPolicyTypeEnum{ + ALARM: CreateScalingPolicyV2OptionScalingPolicyType{ + value: "ALARM", + }, + SCHEDULED: CreateScalingPolicyV2OptionScalingPolicyType{ + value: "SCHEDULED", + }, + RECURRENCE: CreateScalingPolicyV2OptionScalingPolicyType{ + value: "RECURRENCE", + }, + } +} + +func (c CreateScalingPolicyV2OptionScalingPolicyType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *CreateScalingPolicyV2OptionScalingPolicyType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_tag_info_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_tag_info_request.go new file mode 100644 index 0000000000000000000000000000000000000000..71f4f34aff1ed6d62d061fb83f846dcdc29f1955 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_tag_info_request.go @@ -0,0 +1,66 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// Request Object +type CreateScalingTagInfoRequest struct { + // 资源类型,枚举类:scaling_group_tag。scaling_group_tag表示资源类型为伸缩组。 + + ResourceType CreateScalingTagInfoRequestResourceType `json:"resource_type"` + // 资源ID。 + + ResourceId string `json:"resource_id"` + + Body *CreateTagsOption `json:"body,omitempty"` +} + +func (o CreateScalingTagInfoRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateScalingTagInfoRequest struct{}" + } + + return strings.Join([]string{"CreateScalingTagInfoRequest", string(data)}, " ") +} + +type CreateScalingTagInfoRequestResourceType struct { + value string +} + +type CreateScalingTagInfoRequestResourceTypeEnum struct { + SCALING_GROUP_TAG CreateScalingTagInfoRequestResourceType +} + +func GetCreateScalingTagInfoRequestResourceTypeEnum() CreateScalingTagInfoRequestResourceTypeEnum { + return CreateScalingTagInfoRequestResourceTypeEnum{ + SCALING_GROUP_TAG: CreateScalingTagInfoRequestResourceType{ + value: "scaling_group_tag", + }, + } +} + +func (c CreateScalingTagInfoRequestResourceType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *CreateScalingTagInfoRequestResourceType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_tag_info_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_tag_info_response.go new file mode 100644 index 0000000000000000000000000000000000000000..7b66e69fe35ec12348ab0335820c01e756b85f88 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_tag_info_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type CreateScalingTagInfoResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o CreateScalingTagInfoResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateScalingTagInfoResponse struct{}" + } + + return strings.Join([]string{"CreateScalingTagInfoResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_tags_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_tags_request.go deleted file mode 100644 index 2b28ee8c2ed1b1eb2424aaa365a2a3f5a33ed767..0000000000000000000000000000000000000000 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_tags_request.go +++ /dev/null @@ -1,61 +0,0 @@ -/* - * As - * - * 弹性伸缩API - * - */ - -package model - -import ( - "encoding/json" - "errors" - "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" - "strings" -) - -// Request Object -type CreateScalingTagsRequest struct { - ResourceType CreateScalingTagsRequestResourceType `json:"resource_type"` - ResourceId string `json:"resource_id"` - Body *CreateScalingTagsRequestBody `json:"body,omitempty"` -} - -func (o CreateScalingTagsRequest) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"CreateScalingTagsRequest", string(data)}, " ") -} - -type CreateScalingTagsRequestResourceType struct { - value string -} - -type CreateScalingTagsRequestResourceTypeEnum struct { - SCALING_GROUP_TAG CreateScalingTagsRequestResourceType -} - -func GetCreateScalingTagsRequestResourceTypeEnum() CreateScalingTagsRequestResourceTypeEnum { - return CreateScalingTagsRequestResourceTypeEnum{ - SCALING_GROUP_TAG: CreateScalingTagsRequestResourceType{ - value: "scaling_group_tag", - }, - } -} - -func (c CreateScalingTagsRequestResourceType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) -} - -func (c *CreateScalingTagsRequestResourceType) UnmarshalJSON(b []byte) error { - myConverter := converter.StringConverterFactory("string") - if myConverter != nil { - val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) - if err == nil { - c.value = val.(string) - return nil - } - return err - } else { - return errors.New("convert enum data to string error") - } -} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_tags_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_tags_request_body.go deleted file mode 100644 index fb8b484f004bd7f23b92fb4e1dfc831f6091eefc..0000000000000000000000000000000000000000 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_tags_request_body.go +++ /dev/null @@ -1,62 +0,0 @@ -/* - * As - * - * 弹性伸缩API - * - */ - -package model - -import ( - "encoding/json" - "errors" - "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" - "strings" -) - -// 标签列表 -type CreateScalingTagsRequestBody struct { - // 标签列表。 - Tags *[]TagsSingleValue `json:"tags,omitempty"` - // 操作标识(区分大小写):create:创建。若已经存在相同的key值则会覆盖对应的value值。 - Action *CreateScalingTagsRequestBodyAction `json:"action,omitempty"` -} - -func (o CreateScalingTagsRequestBody) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"CreateScalingTagsRequestBody", string(data)}, " ") -} - -type CreateScalingTagsRequestBodyAction struct { - value string -} - -type CreateScalingTagsRequestBodyActionEnum struct { - CREATE CreateScalingTagsRequestBodyAction -} - -func GetCreateScalingTagsRequestBodyActionEnum() CreateScalingTagsRequestBodyActionEnum { - return CreateScalingTagsRequestBodyActionEnum{ - CREATE: CreateScalingTagsRequestBodyAction{ - value: "create", - }, - } -} - -func (c CreateScalingTagsRequestBodyAction) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) -} - -func (c *CreateScalingTagsRequestBodyAction) UnmarshalJSON(b []byte) error { - myConverter := converter.StringConverterFactory("string") - if myConverter != nil { - val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) - if err == nil { - c.value = val.(string) - return nil - } - return err - } else { - return errors.New("convert enum data to string error") - } -} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_tags_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_tags_response.go deleted file mode 100644 index ccb40395f3083ea2bdb29925eaf1e11f3dae633c..0000000000000000000000000000000000000000 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_tags_response.go +++ /dev/null @@ -1,23 +0,0 @@ -/* - * As - * - * 弹性伸缩API - * - */ - -package model - -import ( - "encoding/json" - - "strings" -) - -// Response Object -type CreateScalingTagsResponse struct { -} - -func (o CreateScalingTagsResponse) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"CreateScalingTagsResponse", string(data)}, " ") -} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_v2_policy_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_v2_policy_request.go new file mode 100644 index 0000000000000000000000000000000000000000..4cd4f7b722f211a69d1d49812dec2af9906943bb --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_v2_policy_request.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type CreateScalingV2PolicyRequest struct { + Body *CreateScalingPolicyV2Option `json:"body,omitempty"` +} + +func (o CreateScalingV2PolicyRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateScalingV2PolicyRequest struct{}" + } + + return strings.Join([]string{"CreateScalingV2PolicyRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_v2_policy_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_v2_policy_response.go new file mode 100644 index 0000000000000000000000000000000000000000..d45f435e77615789f1b7c7e4f769f867c55500ce --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_scaling_v2_policy_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type CreateScalingV2PolicyResponse struct { + // 伸缩策略ID。 + + ScalingPolicyId *string `json:"scaling_policy_id,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o CreateScalingV2PolicyResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateScalingV2PolicyResponse struct{}" + } + + return strings.Join([]string{"CreateScalingV2PolicyResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_tags_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_tags_option.go new file mode 100644 index 0000000000000000000000000000000000000000..3e19e991446d030593eb9286976450970a9b3443 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_create_tags_option.go @@ -0,0 +1,64 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// 标签列表 +type CreateTagsOption struct { + // 标签列表。action为delete时,tags结构体不能缺失,key不能为空,或者空字符串。 + + Tags []TagsSingleValue `json:"tags"` + // 操作标识(区分大小写):delete:删除。create:创建。若已经存在相同的key值则会覆盖对应的value值。 + + Action CreateTagsOptionAction `json:"action"` +} + +func (o CreateTagsOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateTagsOption struct{}" + } + + return strings.Join([]string{"CreateTagsOption", string(data)}, " ") +} + +type CreateTagsOptionAction struct { + value string +} + +type CreateTagsOptionActionEnum struct { + CREATE CreateTagsOptionAction +} + +func GetCreateTagsOptionActionEnum() CreateTagsOptionActionEnum { + return CreateTagsOptionActionEnum{ + CREATE: CreateTagsOptionAction{ + value: "create", + }, + } +} + +func (c CreateTagsOptionAction) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *CreateTagsOptionAction) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_lifecycle_hook_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_lifecycle_hook_request.go index 70066ccceb9952b07a3103386489a4fe87f5a7d0..3534ae1f4370f21c84dbf81c80cae62809a40e06 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_lifecycle_hook_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_lifecycle_hook_request.go @@ -1,25 +1,26 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type DeleteLifecycleHookRequest struct { - ScalingGroupId string `json:"scaling_group_id"` + // 伸缩组标识。 + + ScalingGroupId string `json:"scaling_group_id"` + // 生命周期挂钩标识。 + LifecycleHookName string `json:"lifecycle_hook_name"` } func (o DeleteLifecycleHookRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "DeleteLifecycleHookRequest struct{}" + } + return strings.Join([]string{"DeleteLifecycleHookRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_lifecycle_hook_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_lifecycle_hook_response.go index 692cb964e94515557e02a32e6e077ebb574ea453..692fbd0193c8fcc25ea0964987a7bf821b399650 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_lifecycle_hook_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_lifecycle_hook_response.go @@ -1,23 +1,21 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type DeleteLifecycleHookResponse struct { + HttpStatusCode int `json:"-"` } func (o DeleteLifecycleHookResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "DeleteLifecycleHookResponse struct{}" + } + return strings.Join([]string{"DeleteLifecycleHookResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_config_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_config_request.go index 2aa7eecbecc414f336b913e15d3ff357f2c1280c..5aede521334383ddfe27cff3e767641bb5590ae1 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_config_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_config_request.go @@ -1,24 +1,23 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type DeleteScalingConfigRequest struct { + // 伸缩配置ID。 + ScalingConfigurationId string `json:"scaling_configuration_id"` } func (o DeleteScalingConfigRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "DeleteScalingConfigRequest struct{}" + } + return strings.Join([]string{"DeleteScalingConfigRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_config_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_config_response.go index f75b159421326d64a1b776242a05f29ad266d7fd..5b996abe9d7352d9c8b92c00fd43382162444b91 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_config_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_config_response.go @@ -1,23 +1,21 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type DeleteScalingConfigResponse struct { + HttpStatusCode int `json:"-"` } func (o DeleteScalingConfigResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "DeleteScalingConfigResponse struct{}" + } + return strings.Join([]string{"DeleteScalingConfigResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_group_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_group_request.go index 09e70173880478e1bcaff563c1468fe43a14b668..d5753fae02f502d35739071a227e666070304b77 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_group_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_group_request.go @@ -1,27 +1,31 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // Request Object type DeleteScalingGroupRequest struct { - ScalingGroupId string `json:"scaling_group_id"` - ForceDelete *DeleteScalingGroupRequestForceDelete `json:"force_delete,omitempty"` + // 伸缩组ID。 + + ScalingGroupId string `json:"scaling_group_id"` + // 是否强制删除伸缩组。默认为no;可选值为yes或no。 + + ForceDelete *DeleteScalingGroupRequestForceDelete `json:"force_delete,omitempty"` } func (o DeleteScalingGroupRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "DeleteScalingGroupRequest struct{}" + } + return strings.Join([]string{"DeleteScalingGroupRequest", string(data)}, " ") } @@ -30,23 +34,23 @@ type DeleteScalingGroupRequestForceDelete struct { } type DeleteScalingGroupRequestForceDeleteEnum struct { - TRUE DeleteScalingGroupRequestForceDelete - FALSE DeleteScalingGroupRequestForceDelete + YES DeleteScalingGroupRequestForceDelete + NO DeleteScalingGroupRequestForceDelete } func GetDeleteScalingGroupRequestForceDeleteEnum() DeleteScalingGroupRequestForceDeleteEnum { return DeleteScalingGroupRequestForceDeleteEnum{ - TRUE: DeleteScalingGroupRequestForceDelete{ - value: "true", + YES: DeleteScalingGroupRequestForceDelete{ + value: "yes", }, - FALSE: DeleteScalingGroupRequestForceDelete{ - value: "false", + NO: DeleteScalingGroupRequestForceDelete{ + value: "no", }, } } func (c DeleteScalingGroupRequestForceDelete) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *DeleteScalingGroupRequestForceDelete) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_group_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_group_response.go index efc9f3b2681264ab3bf24a1dc926345c4f52e569..c2892f5ced2a716694ddb829db025f7959abe16f 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_group_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_group_response.go @@ -1,23 +1,21 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type DeleteScalingGroupResponse struct { + HttpStatusCode int `json:"-"` } func (o DeleteScalingGroupResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "DeleteScalingGroupResponse struct{}" + } + return strings.Join([]string{"DeleteScalingGroupResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_instance_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_instance_request.go index 574d1c94944114c421a74fecb8dc8a40f55bb56a..5854edf4ec8c1a385a38691f0c8bb1f85cd21342 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_instance_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_instance_request.go @@ -1,27 +1,31 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // Request Object type DeleteScalingInstanceRequest struct { - InstanceId string `json:"instance_id"` + // 实例ID。 + + InstanceId string `json:"instance_id"` + // 实例移出伸缩组,是否删除云服务器实例。默认为no;可选值为yes或no。 + InstanceDelete *DeleteScalingInstanceRequestInstanceDelete `json:"instance_delete,omitempty"` } func (o DeleteScalingInstanceRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "DeleteScalingInstanceRequest struct{}" + } + return strings.Join([]string{"DeleteScalingInstanceRequest", string(data)}, " ") } @@ -46,7 +50,7 @@ func GetDeleteScalingInstanceRequestInstanceDeleteEnum() DeleteScalingInstanceRe } func (c DeleteScalingInstanceRequestInstanceDelete) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *DeleteScalingInstanceRequestInstanceDelete) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_instance_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_instance_response.go index e41e2edccc9654d6470d9f1ecb41e4cc25b70135..1e91d41988dba325c0e53e0f48fcf73d7417bcd4 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_instance_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_instance_response.go @@ -1,23 +1,21 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type DeleteScalingInstanceResponse struct { + HttpStatusCode int `json:"-"` } func (o DeleteScalingInstanceResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "DeleteScalingInstanceResponse struct{}" + } + return strings.Join([]string{"DeleteScalingInstanceResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_notification_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_notification_request.go index eba10e69106bdc36b24537200861cc9e399fb12c..f919ae9a4d8ace493bae685f300b259c37eee593 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_notification_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_notification_request.go @@ -1,25 +1,26 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type DeleteScalingNotificationRequest struct { + // 伸缩组标识。 + ScalingGroupId string `json:"scaling_group_id"` - TopicUrn string `json:"topic_urn"` + // SMN服务中Topic的唯一的资源标识。 + + TopicUrn string `json:"topic_urn"` } func (o DeleteScalingNotificationRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "DeleteScalingNotificationRequest struct{}" + } + return strings.Join([]string{"DeleteScalingNotificationRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_notification_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_notification_response.go index 0a458e2e29799633c690503a4e1d175ad59d0cdc..7b155853dea406f55054ca777c3c2fae4795dcfc 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_notification_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_notification_response.go @@ -1,23 +1,21 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type DeleteScalingNotificationResponse struct { + HttpStatusCode int `json:"-"` } func (o DeleteScalingNotificationResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "DeleteScalingNotificationResponse struct{}" + } + return strings.Join([]string{"DeleteScalingNotificationResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_policy_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_policy_request.go index 5c9c27d455eb92229ce4b76be35e781c8c984fd1..4b4a14064ee918a9cd34b280f7f768d3d619d2ac 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_policy_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_policy_request.go @@ -1,24 +1,23 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type DeleteScalingPolicyRequest struct { + // 伸缩策略ID。 + ScalingPolicyId string `json:"scaling_policy_id"` } func (o DeleteScalingPolicyRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "DeleteScalingPolicyRequest struct{}" + } + return strings.Join([]string{"DeleteScalingPolicyRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_policy_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_policy_response.go index ac0c74998b76247bed5727c84752afd7db725dce..28412aae2def237465d0b1d2db1a351ff3a1f328 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_policy_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_policy_response.go @@ -1,23 +1,21 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type DeleteScalingPolicyResponse struct { + HttpStatusCode int `json:"-"` } func (o DeleteScalingPolicyResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "DeleteScalingPolicyResponse struct{}" + } + return strings.Join([]string{"DeleteScalingPolicyResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_tag_info_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_tag_info_request.go new file mode 100644 index 0000000000000000000000000000000000000000..9c6aea664e00c0fc454df5ad1e7872947919147a --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_tag_info_request.go @@ -0,0 +1,66 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// Request Object +type DeleteScalingTagInfoRequest struct { + // 资源类型,枚举类:scaling_group_tag。scaling_group_tag表示资源类型为伸缩组。 + + ResourceType DeleteScalingTagInfoRequestResourceType `json:"resource_type"` + // 资源ID。 + + ResourceId string `json:"resource_id"` + + Body *DeleteTagsOption `json:"body,omitempty"` +} + +func (o DeleteScalingTagInfoRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteScalingTagInfoRequest struct{}" + } + + return strings.Join([]string{"DeleteScalingTagInfoRequest", string(data)}, " ") +} + +type DeleteScalingTagInfoRequestResourceType struct { + value string +} + +type DeleteScalingTagInfoRequestResourceTypeEnum struct { + SCALING_GROUP_TAG DeleteScalingTagInfoRequestResourceType +} + +func GetDeleteScalingTagInfoRequestResourceTypeEnum() DeleteScalingTagInfoRequestResourceTypeEnum { + return DeleteScalingTagInfoRequestResourceTypeEnum{ + SCALING_GROUP_TAG: DeleteScalingTagInfoRequestResourceType{ + value: "scaling_group_tag", + }, + } +} + +func (c DeleteScalingTagInfoRequestResourceType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *DeleteScalingTagInfoRequestResourceType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_tag_info_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_tag_info_response.go new file mode 100644 index 0000000000000000000000000000000000000000..7b43570f0c3cfd14511f76dce7e0c11932cba48c --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_tag_info_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type DeleteScalingTagInfoResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o DeleteScalingTagInfoResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteScalingTagInfoResponse struct{}" + } + + return strings.Join([]string{"DeleteScalingTagInfoResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_tags_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_tags_request.go deleted file mode 100644 index 246d7ad982de6c4b584b0394e5a77e9ed0fc284c..0000000000000000000000000000000000000000 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_tags_request.go +++ /dev/null @@ -1,61 +0,0 @@ -/* - * As - * - * 弹性伸缩API - * - */ - -package model - -import ( - "encoding/json" - "errors" - "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" - "strings" -) - -// Request Object -type DeleteScalingTagsRequest struct { - ResourceType DeleteScalingTagsRequestResourceType `json:"resource_type"` - ResourceId string `json:"resource_id"` - Body *DeleteScalingTagsRequestBody `json:"body,omitempty"` -} - -func (o DeleteScalingTagsRequest) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"DeleteScalingTagsRequest", string(data)}, " ") -} - -type DeleteScalingTagsRequestResourceType struct { - value string -} - -type DeleteScalingTagsRequestResourceTypeEnum struct { - SCALING_GROUP_TAG DeleteScalingTagsRequestResourceType -} - -func GetDeleteScalingTagsRequestResourceTypeEnum() DeleteScalingTagsRequestResourceTypeEnum { - return DeleteScalingTagsRequestResourceTypeEnum{ - SCALING_GROUP_TAG: DeleteScalingTagsRequestResourceType{ - value: "scaling_group_tag", - }, - } -} - -func (c DeleteScalingTagsRequestResourceType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) -} - -func (c *DeleteScalingTagsRequestResourceType) UnmarshalJSON(b []byte) error { - myConverter := converter.StringConverterFactory("string") - if myConverter != nil { - val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) - if err == nil { - c.value = val.(string) - return nil - } - return err - } else { - return errors.New("convert enum data to string error") - } -} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_tags_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_tags_request_body.go deleted file mode 100644 index 01d4efe25daaf023096fd5970eaae51cf271c358..0000000000000000000000000000000000000000 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_tags_request_body.go +++ /dev/null @@ -1,62 +0,0 @@ -/* - * As - * - * 弹性伸缩API - * - */ - -package model - -import ( - "encoding/json" - "errors" - "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" - "strings" -) - -// 标签列表 -type DeleteScalingTagsRequestBody struct { - // 标签列表。action为delete时,tags结构体不能缺失,key不能为空,或者空字符串。 - Tags *[]TagsSingleValue `json:"tags,omitempty"` - // 操作标识(区分大小写):delete:删除。 - Action *DeleteScalingTagsRequestBodyAction `json:"action,omitempty"` -} - -func (o DeleteScalingTagsRequestBody) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"DeleteScalingTagsRequestBody", string(data)}, " ") -} - -type DeleteScalingTagsRequestBodyAction struct { - value string -} - -type DeleteScalingTagsRequestBodyActionEnum struct { - DELETE DeleteScalingTagsRequestBodyAction -} - -func GetDeleteScalingTagsRequestBodyActionEnum() DeleteScalingTagsRequestBodyActionEnum { - return DeleteScalingTagsRequestBodyActionEnum{ - DELETE: DeleteScalingTagsRequestBodyAction{ - value: "delete", - }, - } -} - -func (c DeleteScalingTagsRequestBodyAction) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) -} - -func (c *DeleteScalingTagsRequestBodyAction) UnmarshalJSON(b []byte) error { - myConverter := converter.StringConverterFactory("string") - if myConverter != nil { - val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) - if err == nil { - c.value = val.(string) - return nil - } - return err - } else { - return errors.New("convert enum data to string error") - } -} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_tags_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_tags_response.go deleted file mode 100644 index f397b23b7dd932addf1f0824e68327099f4dd4df..0000000000000000000000000000000000000000 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_scaling_tags_response.go +++ /dev/null @@ -1,23 +0,0 @@ -/* - * As - * - * 弹性伸缩API - * - */ - -package model - -import ( - "encoding/json" - - "strings" -) - -// Response Object -type DeleteScalingTagsResponse struct { -} - -func (o DeleteScalingTagsResponse) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"DeleteScalingTagsResponse", string(data)}, " ") -} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_tags_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_tags_option.go new file mode 100644 index 0000000000000000000000000000000000000000..9e2fd753115cf40c9227d86559726e0c410fda8e --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_delete_tags_option.go @@ -0,0 +1,64 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// 标签列表 +type DeleteTagsOption struct { + // 标签列表。action为delete时,tags结构体不能缺失,key不能为空,或者空字符串。 + + Tags []TagsSingleValue `json:"tags"` + // 操作标识(区分大小写):delete:删除。create:创建。若已经存在相同的key值则会覆盖对应的value值。 + + Action DeleteTagsOptionAction `json:"action"` +} + +func (o DeleteTagsOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteTagsOption struct{}" + } + + return strings.Join([]string{"DeleteTagsOption", string(data)}, " ") +} + +type DeleteTagsOptionAction struct { + value string +} + +type DeleteTagsOptionActionEnum struct { + DELETE DeleteTagsOptionAction +} + +func GetDeleteTagsOptionActionEnum() DeleteTagsOptionActionEnum { + return DeleteTagsOptionActionEnum{ + DELETE: DeleteTagsOptionAction{ + value: "delete", + }, + } +} + +func (c DeleteTagsOptionAction) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *DeleteTagsOptionAction) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_disk.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_disk_info.go similarity index 60% rename from cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_disk.go rename to cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_disk_info.go index 596567661b9dc6ee840cf93b1897d917d95f08a2..572699e88836178539c1a0d38386d08d2d134d73 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_disk.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_disk_info.go @@ -1,77 +1,85 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // 磁盘组信息,系统盘必选,数据盘可选。 -type Disk struct { - // 磁盘大小,容量单位为GB。系统盘输入大小范围为40~32768,且不小于镜像中系统盘的最小(min_disk属性)值。数据盘输入大小范围为10~32768。 +type DiskInfo struct { + // 磁盘大小,容量单位为GB。系统盘输入最大为32768,且不小于镜像中系统盘的最小(min_disk属性)值。数据盘输入大小范围为10~32768。 + Size int32 `json:"size"` // 云服务器数据盘对应的磁盘类型,需要与系统所提供的磁盘类型相匹配。磁盘类型枚举值:SATA:普通IO磁盘类型。SAS:高IO磁盘类型。SSD:超高IO磁盘类型。co-pl:高IO (性能优化Ⅰ型)磁盘类型。uh-l1:超高 IO (时延优化)磁盘类型。说明:对于HANA云服务器和HL1型云服务器,需使用co-p1和uh-l1两种磁盘类型。对于其他类型的云服务器,不能使用co-p1和uh-l1两种磁盘类型。 - VolumeType DiskVolumeType `json:"volume_type"` + + VolumeType DiskInfoVolumeType `json:"volume_type"` // 系统盘还是数据盘,DATA表示为数据盘,SYS表示为系统盘。 - DiskType DiskDiskType `json:"disk_type"` + + DiskType DiskInfoDiskType `json:"disk_type"` // 云服务器的磁盘可指定创建在用户的专属存储中,需要指定专属存储ID。说明:同一个伸缩配置中的磁盘需统一指定或统一不指定专属存储,不支持混用;当指定专属存储时,所有专属存储需要属于同一个可用分区,且每个磁盘选择的专属存储支持的磁盘类型都需要和参数volume_type保持一致。 - DedicateStorageId *string `json:"dedicate_storage_id,omitempty"` + + DedicatedStorageId *string `json:"dedicated_storage_id,omitempty"` // 云服务器的数据盘可指定从数据盘镜像导出,需要指定数据盘镜像ID。 + DataDiskImageId *string `json:"data_disk_image_id,omitempty"` // 当选择使用整机镜像时,云服务器的系统盘及数据盘将通过整机备份恢复,需要指定磁盘备份的快照ID。说明:磁盘备份的快照ID可通过镜像的整机备份ID在CSBS查询备份详情获得;一个伸缩配置中的每一个disk需要通过snapshot_id和整机备份中的磁盘备份一一对应。 + SnapshotId *string `json:"snapshot_id,omitempty"` + + Metadata *MetaData `json:"metadata,omitempty"` } -func (o Disk) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"Disk", string(data)}, " ") +func (o DiskInfo) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DiskInfo struct{}" + } + + return strings.Join([]string{"DiskInfo", string(data)}, " ") } -type DiskVolumeType struct { +type DiskInfoVolumeType struct { value string } -type DiskVolumeTypeEnum struct { - SATA DiskVolumeType - SAS DiskVolumeType - SSD DiskVolumeType - CO_PL DiskVolumeType - UH_11 DiskVolumeType +type DiskInfoVolumeTypeEnum struct { + SATA DiskInfoVolumeType + SAS DiskInfoVolumeType + SSD DiskInfoVolumeType + CO_PL DiskInfoVolumeType + UH_11 DiskInfoVolumeType } -func GetDiskVolumeTypeEnum() DiskVolumeTypeEnum { - return DiskVolumeTypeEnum{ - SATA: DiskVolumeType{ +func GetDiskInfoVolumeTypeEnum() DiskInfoVolumeTypeEnum { + return DiskInfoVolumeTypeEnum{ + SATA: DiskInfoVolumeType{ value: "SATA", }, - SAS: DiskVolumeType{ + SAS: DiskInfoVolumeType{ value: "SAS", }, - SSD: DiskVolumeType{ + SSD: DiskInfoVolumeType{ value: "SSD", }, - CO_PL: DiskVolumeType{ + CO_PL: DiskInfoVolumeType{ value: "co-pl", }, - UH_11: DiskVolumeType{ + UH_11: DiskInfoVolumeType{ value: "uh-11", }, } } -func (c DiskVolumeType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) +func (c DiskInfoVolumeType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) } -func (c *DiskVolumeType) UnmarshalJSON(b []byte) error { +func (c *DiskInfoVolumeType) UnmarshalJSON(b []byte) error { myConverter := converter.StringConverterFactory("string") if myConverter != nil { val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) @@ -85,31 +93,31 @@ func (c *DiskVolumeType) UnmarshalJSON(b []byte) error { } } -type DiskDiskType struct { +type DiskInfoDiskType struct { value string } -type DiskDiskTypeEnum struct { - SYS DiskDiskType - DATA DiskDiskType +type DiskInfoDiskTypeEnum struct { + SYS DiskInfoDiskType + DATA DiskInfoDiskType } -func GetDiskDiskTypeEnum() DiskDiskTypeEnum { - return DiskDiskTypeEnum{ - SYS: DiskDiskType{ +func GetDiskInfoDiskTypeEnum() DiskInfoDiskTypeEnum { + return DiskInfoDiskTypeEnum{ + SYS: DiskInfoDiskType{ value: "SYS", }, - DATA: DiskDiskType{ + DATA: DiskInfoDiskType{ value: "DATA", }, } } -func (c DiskDiskType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) +func (c DiskInfoDiskType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) } -func (c *DiskDiskType) UnmarshalJSON(b []byte) error { +func (c *DiskInfoDiskType) UnmarshalJSON(b []byte) error { myConverter := converter.StringConverterFactory("string") if myConverter != nil { val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_disk_result.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_disk_result.go new file mode 100644 index 0000000000000000000000000000000000000000..47aff78a66a924db2875ad4c4dee451dc41e2928 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_disk_result.go @@ -0,0 +1,132 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// 磁盘信息 +type DiskResult struct { + // 磁盘大小,容量单位为GB。 + + Size *int32 `json:"size,omitempty"` + // 磁盘类型。 + + VolumeType *DiskResultVolumeType `json:"volume_type,omitempty"` + // 系统盘还是数据盘,DATA表示为数据盘,SYS表示为系统盘。 + + DiskType *DiskResultDiskType `json:"disk_type,omitempty"` + // 磁盘所属的专属存储ID。 + + DedicatedStorageId *string `json:"dedicated_storage_id,omitempty"` + // 导入数据盘的数据盘镜像ID。 + + DataDiskImageId *string `json:"data_disk_image_id,omitempty"` + // 磁盘备份的快照ID。 + + SnapshotId *string `json:"snapshot_id,omitempty"` + + Metadata *MetaData `json:"metadata,omitempty"` +} + +func (o DiskResult) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DiskResult struct{}" + } + + return strings.Join([]string{"DiskResult", string(data)}, " ") +} + +type DiskResultVolumeType struct { + value string +} + +type DiskResultVolumeTypeEnum struct { + SATA DiskResultVolumeType + SAS DiskResultVolumeType + SSD DiskResultVolumeType + CO_PL DiskResultVolumeType + UH_11 DiskResultVolumeType +} + +func GetDiskResultVolumeTypeEnum() DiskResultVolumeTypeEnum { + return DiskResultVolumeTypeEnum{ + SATA: DiskResultVolumeType{ + value: "SATA", + }, + SAS: DiskResultVolumeType{ + value: "SAS", + }, + SSD: DiskResultVolumeType{ + value: "SSD", + }, + CO_PL: DiskResultVolumeType{ + value: "co-pl", + }, + UH_11: DiskResultVolumeType{ + value: "uh-11", + }, + } +} + +func (c DiskResultVolumeType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *DiskResultVolumeType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type DiskResultDiskType struct { + value string +} + +type DiskResultDiskTypeEnum struct { + SYS DiskResultDiskType + DATA DiskResultDiskType +} + +func GetDiskResultDiskTypeEnum() DiskResultDiskTypeEnum { + return DiskResultDiskTypeEnum{ + SYS: DiskResultDiskType{ + value: "SYS", + }, + DATA: DiskResultDiskType{ + value: "DATA", + }, + } +} + +func (c DiskResultDiskType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *DiskResultDiskType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_eip.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_eip_info.go similarity index 50% rename from cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_eip.go rename to cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_eip_info.go index 871c037290f33032a89d9b42b6d3db088a8509b2..7735419eaef101d1dd5457c4dae56b1cd966d82a 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_eip.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_eip_info.go @@ -1,64 +1,66 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // 配置云服务器的弹性IP信息 -type Eip struct { +type EipInfo struct { // 弹性IP地址类型。类型枚举值:5_bgp:全动态BGP;5_sbgp:静态BGP;5_telcom:中国电信;5_union:中国联通;详情请参见《虚拟私有云接口参考》“申请弹性公网IP”章节的“publicip”字段说明。 - IpType EipIpType `json:"ip_type"` - Bandwidth *Bandwidth `json:"bandwidth"` + + IpType EipInfoIpType `json:"ip_type"` + + Bandwidth *BandwidthInfo `json:"bandwidth"` } -func (o Eip) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"Eip", string(data)}, " ") +func (o EipInfo) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "EipInfo struct{}" + } + + return strings.Join([]string{"EipInfo", string(data)}, " ") } -type EipIpType struct { +type EipInfoIpType struct { value string } -type EipIpTypeEnum struct { - E_5_BGP EipIpType - E_5_SBGP EipIpType - E_5_TELCOM EipIpType - E_5_UNION EipIpType +type EipInfoIpTypeEnum struct { + E_5_BGP EipInfoIpType + E_5_SBGP EipInfoIpType + E_5_TELCOM EipInfoIpType + E_5_UNION EipInfoIpType } -func GetEipIpTypeEnum() EipIpTypeEnum { - return EipIpTypeEnum{ - E_5_BGP: EipIpType{ +func GetEipInfoIpTypeEnum() EipInfoIpTypeEnum { + return EipInfoIpTypeEnum{ + E_5_BGP: EipInfoIpType{ value: "5_bgp", }, - E_5_SBGP: EipIpType{ + E_5_SBGP: EipInfoIpType{ value: "5_sbgp", }, - E_5_TELCOM: EipIpType{ + E_5_TELCOM: EipInfoIpType{ value: "5_telcom", }, - E_5_UNION: EipIpType{ + E_5_UNION: EipInfoIpType{ value: "5_union", }, } } -func (c EipIpType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) +func (c EipInfoIpType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) } -func (c *EipIpType) UnmarshalJSON(b []byte) error { +func (c *EipInfoIpType) UnmarshalJSON(b []byte) error { myConverter := converter.StringConverterFactory("string") if myConverter != nil { val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_eip_meta_data.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_eip_meta_data.go new file mode 100644 index 0000000000000000000000000000000000000000..bf0e7f48b27415ac3dafc54a71b67e18a4fbad30 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_eip_meta_data.go @@ -0,0 +1,29 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// 用户自定义键值对 +type EipMetaData struct { + // 伸缩带宽策略中带宽对应的共享类型。 + + MetadataBandwidthShareType *string `json:"metadata_bandwidth_share_type,omitempty"` + // 伸缩带宽策略中带宽对应的EIP的ID。 + + MetadataEipId *string `json:"metadata_eip_id,omitempty"` + // 伸缩带宽策略中带宽对应的EIP地址。 + + MetadataeipAddress *string `json:"metadataeip_address,omitempty"` +} + +func (o EipMetaData) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "EipMetaData struct{}" + } + + return strings.Join([]string{"EipMetaData", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_eip_result.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_eip_result.go new file mode 100644 index 0000000000000000000000000000000000000000..3db2d742d0765082fc0090a5edc9db657cd8652e --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_eip_result.go @@ -0,0 +1,75 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// eip信息 +type EipResult struct { + // IP地址类型。 + + IpType *EipResultIpType `json:"ip_type,omitempty"` + + Bandwidth *BandwidthResult `json:"bandwidth,omitempty"` +} + +func (o EipResult) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "EipResult struct{}" + } + + return strings.Join([]string{"EipResult", string(data)}, " ") +} + +type EipResultIpType struct { + value string +} + +type EipResultIpTypeEnum struct { + E_5_BGP EipResultIpType + E_5_SBGP EipResultIpType + E_5_TELCOM EipResultIpType + E_5_UNION EipResultIpType +} + +func GetEipResultIpTypeEnum() EipResultIpTypeEnum { + return EipResultIpTypeEnum{ + E_5_BGP: EipResultIpType{ + value: "5_bgp", + }, + E_5_SBGP: EipResultIpType{ + value: "5_sbgp", + }, + E_5_TELCOM: EipResultIpType{ + value: "5_telcom", + }, + E_5_UNION: EipResultIpType{ + value: "5_union", + }, + } +} + +func (c EipResultIpType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *EipResultIpType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_enable_or_disable_scaling_group_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_enable_or_disable_scaling_group_request.go deleted file mode 100644 index 7e652e286763f01ded12c2d9b49ba6bfee7884a0..0000000000000000000000000000000000000000 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_enable_or_disable_scaling_group_request.go +++ /dev/null @@ -1,25 +0,0 @@ -/* - * As - * - * 弹性伸缩API - * - */ - -package model - -import ( - "encoding/json" - - "strings" -) - -// Request Object -type EnableOrDisableScalingGroupRequest struct { - ScalingGroupId string `json:"scaling_group_id"` - Body *EnableOrDisableScalingGroupRequestBody `json:"body,omitempty"` -} - -func (o EnableOrDisableScalingGroupRequest) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"EnableOrDisableScalingGroupRequest", string(data)}, " ") -} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_enable_or_disable_scaling_group_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_enable_or_disable_scaling_group_request_body.go deleted file mode 100644 index ce44b2ed147267bcf7465f439377671628625b97..0000000000000000000000000000000000000000 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_enable_or_disable_scaling_group_request_body.go +++ /dev/null @@ -1,64 +0,0 @@ -/* - * As - * - * 弹性伸缩API - * - */ - -package model - -import ( - "encoding/json" - "errors" - "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" - "strings" -) - -// 启停伸缩组请求 -type EnableOrDisableScalingGroupRequestBody struct { - // 启用或停止伸缩组操作的标识。启用:resume 停止:pause - Action *EnableOrDisableScalingGroupRequestBodyAction `json:"action,omitempty"` -} - -func (o EnableOrDisableScalingGroupRequestBody) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"EnableOrDisableScalingGroupRequestBody", string(data)}, " ") -} - -type EnableOrDisableScalingGroupRequestBodyAction struct { - value string -} - -type EnableOrDisableScalingGroupRequestBodyActionEnum struct { - RESUME EnableOrDisableScalingGroupRequestBodyAction - PAUSE EnableOrDisableScalingGroupRequestBodyAction -} - -func GetEnableOrDisableScalingGroupRequestBodyActionEnum() EnableOrDisableScalingGroupRequestBodyActionEnum { - return EnableOrDisableScalingGroupRequestBodyActionEnum{ - RESUME: EnableOrDisableScalingGroupRequestBodyAction{ - value: "resume", - }, - PAUSE: EnableOrDisableScalingGroupRequestBodyAction{ - value: "pause", - }, - } -} - -func (c EnableOrDisableScalingGroupRequestBodyAction) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) -} - -func (c *EnableOrDisableScalingGroupRequestBodyAction) UnmarshalJSON(b []byte) error { - myConverter := converter.StringConverterFactory("string") - if myConverter != nil { - val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) - if err == nil { - c.value = val.(string) - return nil - } - return err - } else { - return errors.New("convert enum data to string error") - } -} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_enable_or_disable_scaling_group_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_enable_or_disable_scaling_group_response.go deleted file mode 100644 index 87e731a83a5f13fb25aff45dba5b8dc8c448f156..0000000000000000000000000000000000000000 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_enable_or_disable_scaling_group_response.go +++ /dev/null @@ -1,23 +0,0 @@ -/* - * As - * - * 弹性伸缩API - * - */ - -package model - -import ( - "encoding/json" - - "strings" -) - -// Response Object -type EnableOrDisableScalingGroupResponse struct { -} - -func (o EnableOrDisableScalingGroupResponse) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"EnableOrDisableScalingGroupResponse", string(data)}, " ") -} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_execute_scaling_policy_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_execute_scaling_policy_option.go new file mode 100644 index 0000000000000000000000000000000000000000..6da9e29a4cf6fdca6387e05dd6f4a61db6442ce6 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_execute_scaling_policy_option.go @@ -0,0 +1,61 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// 执行或启用或停止伸缩策略 +type ExecuteScalingPolicyOption struct { + // 执行或启用或停止伸缩策略操作的标识。执行:execute。启用:resume。停止:pause。 + + Action ExecuteScalingPolicyOptionAction `json:"action"` +} + +func (o ExecuteScalingPolicyOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ExecuteScalingPolicyOption struct{}" + } + + return strings.Join([]string{"ExecuteScalingPolicyOption", string(data)}, " ") +} + +type ExecuteScalingPolicyOptionAction struct { + value string +} + +type ExecuteScalingPolicyOptionActionEnum struct { + EXECUTE ExecuteScalingPolicyOptionAction +} + +func GetExecuteScalingPolicyOptionActionEnum() ExecuteScalingPolicyOptionActionEnum { + return ExecuteScalingPolicyOptionActionEnum{ + EXECUTE: ExecuteScalingPolicyOptionAction{ + value: "execute", + }, + } +} + +func (c ExecuteScalingPolicyOptionAction) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ExecuteScalingPolicyOptionAction) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_execute_scaling_policy_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_execute_scaling_policy_request.go index 3ef0dfed4455d575f996275bcb1f60932b6a0dc1..09827aa93253aecd4cab2e7186bd7329e364a697 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_execute_scaling_policy_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_execute_scaling_policy_request.go @@ -1,25 +1,25 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type ExecuteScalingPolicyRequest struct { - ScalingPolicyId string `json:"scaling_policy_id"` - Body *ExecuteScalingPolicyRequestBody `json:"body,omitempty"` + // 伸缩策略ID。 + + ScalingPolicyId string `json:"scaling_policy_id"` + + Body *ExecuteScalingPolicyOption `json:"body,omitempty"` } func (o ExecuteScalingPolicyRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ExecuteScalingPolicyRequest struct{}" + } + return strings.Join([]string{"ExecuteScalingPolicyRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_execute_scaling_policy_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_execute_scaling_policy_request_body.go deleted file mode 100644 index 9437d21715d4857d80806d30f0caee6b523f7981..0000000000000000000000000000000000000000 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_execute_scaling_policy_request_body.go +++ /dev/null @@ -1,68 +0,0 @@ -/* - * As - * - * 弹性伸缩API - * - */ - -package model - -import ( - "encoding/json" - "errors" - "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" - "strings" -) - -// 执行或启用或停止伸缩策略 -type ExecuteScalingPolicyRequestBody struct { - // 执行或启用或停止伸缩策略操作的标识。执行:execute。启用:resume。停止:pause。 - Action *ExecuteScalingPolicyRequestBodyAction `json:"action,omitempty"` -} - -func (o ExecuteScalingPolicyRequestBody) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"ExecuteScalingPolicyRequestBody", string(data)}, " ") -} - -type ExecuteScalingPolicyRequestBodyAction struct { - value string -} - -type ExecuteScalingPolicyRequestBodyActionEnum struct { - EXECUTE ExecuteScalingPolicyRequestBodyAction - RESUME ExecuteScalingPolicyRequestBodyAction - PAUSE ExecuteScalingPolicyRequestBodyAction -} - -func GetExecuteScalingPolicyRequestBodyActionEnum() ExecuteScalingPolicyRequestBodyActionEnum { - return ExecuteScalingPolicyRequestBodyActionEnum{ - EXECUTE: ExecuteScalingPolicyRequestBodyAction{ - value: "execute", - }, - RESUME: ExecuteScalingPolicyRequestBodyAction{ - value: "resume", - }, - PAUSE: ExecuteScalingPolicyRequestBodyAction{ - value: "pause", - }, - } -} - -func (c ExecuteScalingPolicyRequestBodyAction) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) -} - -func (c *ExecuteScalingPolicyRequestBodyAction) UnmarshalJSON(b []byte) error { - myConverter := converter.StringConverterFactory("string") - if myConverter != nil { - val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) - if err == nil { - c.value = val.(string) - return nil - } - return err - } else { - return errors.New("convert enum data to string error") - } -} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_execute_scaling_policy_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_execute_scaling_policy_response.go index 20506dcbd0fdc132a77f93d017e69ac0e98871a8..68c5feb626055667c5633437bd723cb092fc2a81 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_execute_scaling_policy_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_execute_scaling_policy_response.go @@ -1,23 +1,21 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type ExecuteScalingPolicyResponse struct { + HttpStatusCode int `json:"-"` } func (o ExecuteScalingPolicyResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ExecuteScalingPolicyResponse struct{}" + } + return strings.Join([]string{"ExecuteScalingPolicyResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_instance_config.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_instance_config.go index 6990307308db045aa019a855b434f0be6d6e6f02..0fb67310d19435ec5ee539979683456e2a62c91d 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_instance_config.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_instance_config.go @@ -1,53 +1,68 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // 实例配置信息 type InstanceConfig struct { // 云服务器ID,当使用已存在的云服务器的规格为模板创建弹性伸缩配置时传入该字段,此时flavorRef、imageRef、disk、security_groups、tenancy和dedicated_host_id字段不生效。当不传入instance_id字段时flavorRef、imageRef、disk字段为必选。 + InstanceId *string `json:"instance_id,omitempty"` - // 云服务器的规格ID。最多支持选择10个规格,多个规格ID以逗号分隔。云服务器的ID通过查询弹性云服务器规格详情和扩展信息列表接口获取,详情请参考查询云服务器规格详情和扩展信息列表。 + // 云服务器的规格ID。最多支持选择10个规格,多个规格ID以逗号分隔。云服务器的ID通过查询弹性云服务器规格详情和扩展信息列表接口获取,详情请参考 [查询云服务器规格详情和扩展信息列表](https://support.huaweicloud.com/api-ecs/zh-cn_topic_0020212656.html)。 + FlavorRef *string `json:"flavorRef,omitempty"` - // 镜像ID,同image_id,通过查询镜像服务镜像列表接口获取,详见《镜像服务API参考》的“查询镜像列表”。 + // 镜像ID,同image_id,指定创建实例时选择的镜像资源。通过查询镜像服务镜像列表接口获取,请参考[查询镜像列表](https://support.huaweicloud.com/api-ims/ims_03_0602.html)。 + ImageRef *string `json:"imageRef,omitempty"` // 磁盘组信息,系统盘必选,数据盘可选。 - Disk *[]Disk `json:"disk,omitempty"` - // 登录云服务器的SSH密钥名称,与adminPass互斥,且必选一个。Windoes弹性云服务器不支持使用密钥登陆方式。 + + Disk *[]DiskInfo `json:"disk,omitempty"` + // 登录云服务器的SSH密钥名称。 获取密钥对方式请参考[创建及导入SSH密钥对](https://support.huaweicloud.com/api-dew/CreateKeypair.html)。 说明: 当key_name与user_data同时指定时,user_data只做用户数据注入。 + KeyName *string `json:"key_name,omitempty"` // 注入文件信息。仅支持注入文本文件,最大支持注入5个文件,每个文件最大1KB。 - Personality *[]Personality `json:"personality,omitempty"` - PublicIp *PublicIp `json:"public_ip,omitempty"` + + Personality *[]PersonalityInfo `json:"personality,omitempty"` + + PublicIp *PublicIp `json:"public_ip,omitempty"` // cloud-init用户数据。支持注入文本、文本文件或gzip文件。文件内容需要进行base64格式编码,注入内容(编码之前的内容)最大为32KB。说明:当key_name没有指定时,user_data注入的数据默认为云服务器root账号的登录密码。创建密码方式鉴权的Linux弹性云服务器时为必填项,为root用户注入自定义初始化密码。 - UserData *string `json:"user_data,omitempty"` - Metadata *MetaData `json:"metadata,omitempty"` + + UserData *string `json:"user_data,omitempty"` + + Metadata *VmMetaData `json:"metadata,omitempty"` // 安全组信息。使用vpc_id通过查询VPC服务安全组列表接口获取,详见《虚拟私有云API参考》的“查询安全组列表”。当伸缩配置和伸缩组同时指定安全组时,将以伸缩配置中的安全组为准;当伸缩配置和伸缩组都没有指定安全组时,将使用默认安全组。为了使用灵活性更高,推荐在伸缩配置中指定安全组。 - SecurityGroups *[]SecurityGroups `json:"security_groups,omitempty"` + + SecurityGroups []SecurityGroups `json:"security_groups"` // 云服务器组ID。 + ServerGroupId *string `json:"server_group_id,omitempty"` // 在专属主机上创建弹性云服务器。参数取值为dedicated。 + Tenancy *InstanceConfigTenancy `json:"tenancy,omitempty"` // 专属主机的ID。 说明:该字段仅在tenancy为dedicated时生效;如果指定该字段,云服务器将被创建到指定的专属主机上;如果不指定该字段,此时系统会将云服务器创建在符合规格的专属主机中剩余内存最大的那一台上,以使各专属主机尽量均衡负载。 + DedicatedHostId *string `json:"dedicated_host_id,omitempty"` // 使用伸缩配置创建云主机的时候,多规格使用的优先级策略。PICK_FIRST(默认):选择优先,虚拟机扩容时规格的选择按照flavorRef列表的顺序进行优先级排序。COST_FIRST:成本优化,虚拟机扩容时规格的选择按照价格最优原则进行优先级排序。 + MultiFlavorPriorityPolicy *InstanceConfigMultiFlavorPriorityPolicy `json:"multi_flavor_priority_policy,omitempty"` // 云服务器的计费模式,可以选择竞价计费或按需计费,取值如下:按需计费:不指定该字段。竞价计费:spot + MarketType *InstanceConfigMarketType `json:"market_type,omitempty"` } func (o InstanceConfig) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "InstanceConfig struct{}" + } + return strings.Join([]string{"InstanceConfig", string(data)}, " ") } @@ -68,7 +83,7 @@ func GetInstanceConfigTenancyEnum() InstanceConfigTenancyEnum { } func (c InstanceConfigTenancy) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *InstanceConfigTenancy) UnmarshalJSON(b []byte) error { @@ -106,7 +121,7 @@ func GetInstanceConfigMultiFlavorPriorityPolicyEnum() InstanceConfigMultiFlavorP } func (c InstanceConfigMultiFlavorPriorityPolicy) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *InstanceConfigMultiFlavorPriorityPolicy) UnmarshalJSON(b []byte) error { @@ -140,7 +155,7 @@ func GetInstanceConfigMarketTypeEnum() InstanceConfigMarketTypeEnum { } func (c InstanceConfigMarketType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *InstanceConfigMarketType) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_instance_config_result.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_instance_config_result.go index 2ad46dfc095dfd256a7d93ea1c420dcd1f443f83..d80a9831b6b1303a6cd2c5bb3d1ab6aa1322f6a6 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_instance_config_result.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_instance_config_result.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,35 +9,64 @@ import ( // 实例配置信息 type InstanceConfigResult struct { // 云服务器的规格ID。 + FlavorRef *string `json:"flavorRef,omitempty"` // 镜像ID,同image_id。 + ImageRef *string `json:"imageRef,omitempty"` // 磁盘组信息。 - Disk *[]Disk `json:"disk,omitempty"` + + Disk *[]DiskResult `json:"disk,omitempty"` // 登录云服务器的SSH密钥名称。 + KeyName *string `json:"key_name,omitempty"` + // 登录云服务器的SSH密钥指纹。 + + KeyFingerprint *string `json:"key_fingerprint,omitempty"` // 该参数为预留字段。 + InstanceName *string `json:"instance_name,omitempty"` // 该参数为预留字段。 + InstanceId *string `json:"instance_id,omitempty"` // 登录云服务器的密码,非明文回显。 - AdminPass *string `json:"adminPass,omitempty"` - Personality *Personality `json:"personality,omitempty"` - PublicIp *PublicIp `json:"public_ip,omitempty"` + + AdminPass *string `json:"adminPass,omitempty"` + // 个人信息 + + Personality *[]PersonalityResult `json:"personality,omitempty"` + + PublicIp *PublicipResult `json:"public_ip,omitempty"` // cloud-init用户数据,base64格式编码。 - UserData *string `json:"user_data,omitempty"` - Metadata *MetaData `json:"metadata,omitempty"` + + UserData *string `json:"user_data,omitempty"` + + Metadata *VmMetaData `json:"metadata,omitempty"` // 安全组信息。 + SecurityGroups *[]SecurityGroups `json:"security_groups,omitempty"` // 云服务器组ID。 + ServerGroupId *string `json:"server_group_id,omitempty"` // 在专属主机上创建弹性云服务器。 + Tenancy *string `json:"tenancy,omitempty"` // 专属主机的ID。 + DedicatedHostId *string `json:"dedicated_host_id,omitempty"` + // 云服务器的计费模式,可以选择竞价计费或按需计费。 + + MarketType *string `json:"market_type,omitempty"` + // 使用伸缩配置创建云主机的时候,多规格使用的优先级策略。 + + MultiFlavorPriorityPolicy *string `json:"multi_flavor_priority_policy,omitempty"` } func (o InstanceConfigResult) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "InstanceConfigResult struct{}" + } + return strings.Join([]string{"InstanceConfigResult", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_instance_hanging_infos.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_instance_hanging_infos.go index 4a89dc19cd4206f5d3a3148a3f72470e587d36b9..9471b5fde74975ea23e673f448cb86070684e246 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_instance_hanging_infos.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_instance_hanging_infos.go @@ -1,40 +1,46 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" - "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" + "strings" ) // 挂钩实例信息 type InstanceHangingInfos struct { // 生命周期挂钩名称。 + LifecycleHookName *string `json:"lifecycle_hook_name,omitempty"` // 生命周期操作令牌,用于指定生命周期回调对象。 + LifecycleActionKey *string `json:"lifecycle_action_key,omitempty"` // 伸缩实例ID。 + InstanceId *string `json:"instance_id,omitempty"` // 伸缩组ID。 + ScalingGroupId *string `json:"scaling_group_id,omitempty"` // 伸缩实例挂钩的挂起状态。HANGING:挂起。CONTINUE:继续。ABANDON:终止。 + LifecycleHookStatus *InstanceHangingInfosLifecycleHookStatus `json:"lifecycle_hook_status,omitempty"` // 超时时间,遵循UTC时间,格式为:YYYY-MM-DDThh:mm:ssZZ。 - Timeout *sdktime.SdkTime `json:"timeout,omitempty"` + + Timeout *string `json:"timeout,omitempty"` // 生命周期挂钩默认回调操作。 + DefaultResult *string `json:"default_result,omitempty"` } func (o InstanceHangingInfos) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "InstanceHangingInfos struct{}" + } + return strings.Join([]string{"InstanceHangingInfos", string(data)}, " ") } @@ -63,7 +69,7 @@ func GetInstanceHangingInfosLifecycleHookStatusEnum() InstanceHangingInfosLifecy } func (c InstanceHangingInfosLifecycleHookStatus) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *InstanceHangingInfosLifecycleHookStatus) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_ipv6_bandwidth.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_ipv6_bandwidth.go index 4dba08d14a37eed1a5016d2ff6e2c954802faca1..831de9900b1f3a084db6ff81126333dbb89c7f20 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_ipv6_bandwidth.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_ipv6_bandwidth.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,15 @@ import ( // IPv6信息 type Ipv6Bandwidth struct { // IPv6共享带宽的ID。 + Id string `json:"id"` } func (o Ipv6Bandwidth) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "Ipv6Bandwidth struct{}" + } + return strings.Join([]string{"Ipv6Bandwidth", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_job_records.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_job_records.go index 219dfedb334b479d3d407c6c6a6bf7e492b0374f..a8ca92caf58989a812c79c5a3be4f2e94665cf52 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_job_records.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_job_records.go @@ -1,41 +1,49 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // 策略执行动作包含的具体任务 type JobRecords struct { // 任务名称 + JobName *string `json:"job_name,omitempty"` // 记录类型。API:接口调用类型。MEG:消息类型。 + RecordType *JobRecordsRecordType `json:"record_type,omitempty"` // 记录时间。 + RecordTime *string `json:"record_time,omitempty"` // 请求体,仅当record_type为API时有效 + Request *string `json:"request,omitempty"` // 返回体,仅当record_type为API时有效 + Response *string `json:"response,omitempty"` // 返回码,仅当record_type为API时有效 - Code *int32 `json:"code,omitempty"` + + Code *string `json:"code,omitempty"` // 消息,仅当record_type为MEG时有效 + Message *string `json:"message,omitempty"` // job执行状态:SUCCESS:成功。FAIL:失败。 + JobStatus *JobRecordsJobStatus `json:"job_status,omitempty"` } func (o JobRecords) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "JobRecords struct{}" + } + return strings.Join([]string{"JobRecords", string(data)}, " ") } @@ -60,7 +68,7 @@ func GetJobRecordsRecordTypeEnum() JobRecordsRecordTypeEnum { } func (c JobRecordsRecordType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *JobRecordsRecordType) UnmarshalJSON(b []byte) error { @@ -98,7 +106,7 @@ func GetJobRecordsJobStatusEnum() JobRecordsJobStatusEnum { } func (c JobRecordsJobStatus) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *JobRecordsJobStatus) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_lbaas_listener.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_lbaas_listener.go new file mode 100644 index 0000000000000000000000000000000000000000..0bbc919c19a7938f1b10fdcfb8a1e5a203036091 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_lbaas_listener.go @@ -0,0 +1,32 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// 增强型负载均衡器信息 +type LbaasListener struct { + // 监听器ID。 + + ListenerId *string `json:"listener_id,omitempty"` + // 后端云服务器组ID。 + + PoolId *string `json:"pool_id,omitempty"` + // 后端协议端口,指后端云服务器监听的端口。 + + ProtocolPort *int32 `json:"protocol_port,omitempty"` + // 权重,指后端云服务器分发得到请求的数量比例。 + + Weight *int32 `json:"weight,omitempty"` +} + +func (o LbaasListener) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "LbaasListener struct{}" + } + + return strings.Join([]string{"LbaasListener", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_lbaas_listeners.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_lbaas_listeners.go index 0cfd97ad8b75f6c7a3a75e72bef26b8abf1ee38c..30793fa72d04cd9b992ba5eb10267d8150decd3e 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_lbaas_listeners.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_lbaas_listeners.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,14 +9,21 @@ import ( // 增强型负载均衡器 type LbaasListeners struct { // 后端云服务器组ID + PoolId string `json:"pool_id"` // 后端协议号,指后端云服务器监听的端口,取值范围[1,65535] + ProtocolPort int32 `json:"protocol_port"` - // 权重,指后端云服务器经分发得到的请求数量比例,取值范围[0,1],默认为1。 - Weight *int32 `json:"weight,omitempty"` + // 权重,指后端云服务器经分发得到的请求数量比例,取值范围[0,1]。 + + Weight int32 `json:"weight"` } func (o LbaasListeners) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "LbaasListeners struct{}" + } + return strings.Join([]string{"LbaasListeners", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_lbaas_listeners_result.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_lbaas_listeners_result.go index 1be2890fa30f4e4a459084e4813f8ad9a8e4acc0..6fc68de461c9549d781f59a5e3847a2e434e1771 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_lbaas_listeners_result.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_lbaas_listeners_result.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,16 +9,24 @@ import ( // 增强型负载均衡器信息 type LbaasListenersResult struct { // 监听器ID - ListenersId *string `json:"listeners_id,omitempty"` + + ListenerId *string `json:"listener_id,omitempty"` // 后端云服务器组ID + PoolId *string `json:"pool_id,omitempty"` // 后端协议号,指后端云服务器监听的端口,取值范围[1,65535] + ProtocolPort *int32 `json:"protocol_port,omitempty"` // 权重,指后端云服务器经分发得到的请求数量比例,取值范围[0,1],默认为1。 + Weight *int32 `json:"weight,omitempty"` } func (o LbaasListenersResult) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "LbaasListenersResult struct{}" + } + return strings.Join([]string{"LbaasListenersResult", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_lifecycle_hook_list.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_lifecycle_hook_list.go index dea5755ffbdab68878425cdc543fef659246a915..65d49a0c3bf236861f487da34153076ca0152730 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_lifecycle_hook_list.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_lifecycle_hook_list.go @@ -1,42 +1,49 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" - "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" + "strings" ) // 生命周期挂钩 type LifecycleHookList struct { // 生命周期挂钩名称。 + LifecycleHookName *string `json:"lifecycle_hook_name,omitempty"` // 生命周期挂钩类型。INSTANCE_TERMINATING;INSTANCE_LAUNCHING。 + LifecycleHookType *LifecycleHookListLifecycleHookType `json:"lifecycle_hook_type,omitempty"` // 生命周期挂钩默认回调操作。ABANDON;CONTINUE。 + DefaultResult *LifecycleHookListDefaultResult `json:"default_result,omitempty"` // 生命周期挂钩超时时间,单位秒。 + DefaultTimeout *int32 `json:"default_timeout,omitempty"` // SMN服务中Topic的唯一的资源标识。 + NotificationTopicUrn *string `json:"notification_topic_urn,omitempty"` // SMN服务中Topic的资源名称。 + NotificationTopicName *string `json:"notification_topic_name,omitempty"` // 自定义通知消息。 + NotificationMetadata *string `json:"notification_metadata,omitempty"` // 创建生命周期挂钩时间,遵循UTC时间。 - CreateTime *sdktime.SdkTime `json:"create_time,omitempty"` + + CreateTime *string `json:"create_time,omitempty"` } func (o LifecycleHookList) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "LifecycleHookList struct{}" + } + return strings.Join([]string{"LifecycleHookList", string(data)}, " ") } @@ -61,7 +68,7 @@ func GetLifecycleHookListLifecycleHookTypeEnum() LifecycleHookListLifecycleHookT } func (c LifecycleHookListLifecycleHookType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *LifecycleHookListLifecycleHookType) UnmarshalJSON(b []byte) error { @@ -99,7 +106,7 @@ func GetLifecycleHookListDefaultResultEnum() LifecycleHookListDefaultResultEnum } func (c LifecycleHookListDefaultResult) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *LifecycleHookListDefaultResult) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_links.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_links.go new file mode 100644 index 0000000000000000000000000000000000000000..f9791b523f6550790ff2163cf8ef4726893135b2 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_links.go @@ -0,0 +1,25 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type Links struct { + // API的URL地址。 + + Href *string `json:"href,omitempty"` + // API的URL依赖。 + + Rel *string `json:"rel,omitempty"` +} + +func (o Links) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "Links struct{}" + } + + return strings.Join([]string{"Links", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_all_scaling_v2_policies_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_all_scaling_v2_policies_request.go new file mode 100644 index 0000000000000000000000000000000000000000..75a1902550b92c62a2c443d544f98f77d5bec944 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_all_scaling_v2_policies_request.go @@ -0,0 +1,214 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// Request Object +type ListAllScalingV2PoliciesRequest struct { + // 伸缩组ID。 + + ScalingResourceId *string `json:"scaling_resource_id,omitempty"` + // 伸缩资源类型:伸缩组:SCALING_GROUP;带宽:BANDWIDTH + + ScalingResourceType *ListAllScalingV2PoliciesRequestScalingResourceType `json:"scaling_resource_type,omitempty"` + // 伸缩策略名称。 + + ScalingPolicyName *string `json:"scaling_policy_name,omitempty"` + // 策略类型。 告警策略:ALARM ,定时策略:SCHEDULED, 周期策略:RECURRENCE + + ScalingPolicyType *ListAllScalingV2PoliciesRequestScalingPolicyType `json:"scaling_policy_type,omitempty"` + // 伸缩策略ID。 + + ScalingPolicyId *string `json:"scaling_policy_id,omitempty"` + // 查询的起始行号,默认为0。 + + StartNumber *int32 `json:"start_number,omitempty"` + // 查询记录数,默认20,最大100。 + + Limit *int32 `json:"limit,omitempty"` + // 排序方法POLICY_NAME:根据策略名称排序;TRIGGER_CONDITION:根据触发条件排序,如升序下,告警策略最先,其余根据最近一次触发时间升序排列;CREATE_TIME:根据策略的创建时间排序。 + + SortBy *ListAllScalingV2PoliciesRequestSortBy `json:"sort_by,omitempty"` + // 排序顺序ASC:升序;DESC:降序 + + Order *ListAllScalingV2PoliciesRequestOrder `json:"order,omitempty"` + // 企业项目ID,当传入all_granted_eps时表示查询该用户所有授权的企业项目下的伸缩组列表。 + + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` +} + +func (o ListAllScalingV2PoliciesRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListAllScalingV2PoliciesRequest struct{}" + } + + return strings.Join([]string{"ListAllScalingV2PoliciesRequest", string(data)}, " ") +} + +type ListAllScalingV2PoliciesRequestScalingResourceType struct { + value string +} + +type ListAllScalingV2PoliciesRequestScalingResourceTypeEnum struct { + SCALING_GROUP ListAllScalingV2PoliciesRequestScalingResourceType + BANDWIDTH ListAllScalingV2PoliciesRequestScalingResourceType +} + +func GetListAllScalingV2PoliciesRequestScalingResourceTypeEnum() ListAllScalingV2PoliciesRequestScalingResourceTypeEnum { + return ListAllScalingV2PoliciesRequestScalingResourceTypeEnum{ + SCALING_GROUP: ListAllScalingV2PoliciesRequestScalingResourceType{ + value: "SCALING_GROUP", + }, + BANDWIDTH: ListAllScalingV2PoliciesRequestScalingResourceType{ + value: "BANDWIDTH", + }, + } +} + +func (c ListAllScalingV2PoliciesRequestScalingResourceType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ListAllScalingV2PoliciesRequestScalingResourceType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type ListAllScalingV2PoliciesRequestScalingPolicyType struct { + value string +} + +type ListAllScalingV2PoliciesRequestScalingPolicyTypeEnum struct { + ALARM ListAllScalingV2PoliciesRequestScalingPolicyType + SCHEDULED ListAllScalingV2PoliciesRequestScalingPolicyType + RECURRENCE ListAllScalingV2PoliciesRequestScalingPolicyType +} + +func GetListAllScalingV2PoliciesRequestScalingPolicyTypeEnum() ListAllScalingV2PoliciesRequestScalingPolicyTypeEnum { + return ListAllScalingV2PoliciesRequestScalingPolicyTypeEnum{ + ALARM: ListAllScalingV2PoliciesRequestScalingPolicyType{ + value: "ALARM", + }, + SCHEDULED: ListAllScalingV2PoliciesRequestScalingPolicyType{ + value: "SCHEDULED", + }, + RECURRENCE: ListAllScalingV2PoliciesRequestScalingPolicyType{ + value: "RECURRENCE", + }, + } +} + +func (c ListAllScalingV2PoliciesRequestScalingPolicyType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ListAllScalingV2PoliciesRequestScalingPolicyType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type ListAllScalingV2PoliciesRequestSortBy struct { + value string +} + +type ListAllScalingV2PoliciesRequestSortByEnum struct { + POLICY_NAME ListAllScalingV2PoliciesRequestSortBy + TRIGGER_CONDITION ListAllScalingV2PoliciesRequestSortBy + CREATE_TIME ListAllScalingV2PoliciesRequestSortBy +} + +func GetListAllScalingV2PoliciesRequestSortByEnum() ListAllScalingV2PoliciesRequestSortByEnum { + return ListAllScalingV2PoliciesRequestSortByEnum{ + POLICY_NAME: ListAllScalingV2PoliciesRequestSortBy{ + value: "POLICY_NAME", + }, + TRIGGER_CONDITION: ListAllScalingV2PoliciesRequestSortBy{ + value: "TRIGGER_CONDITION", + }, + CREATE_TIME: ListAllScalingV2PoliciesRequestSortBy{ + value: "CREATE_TIME", + }, + } +} + +func (c ListAllScalingV2PoliciesRequestSortBy) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ListAllScalingV2PoliciesRequestSortBy) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type ListAllScalingV2PoliciesRequestOrder struct { + value string +} + +type ListAllScalingV2PoliciesRequestOrderEnum struct { + ASC ListAllScalingV2PoliciesRequestOrder + DESC ListAllScalingV2PoliciesRequestOrder +} + +func GetListAllScalingV2PoliciesRequestOrderEnum() ListAllScalingV2PoliciesRequestOrderEnum { + return ListAllScalingV2PoliciesRequestOrderEnum{ + ASC: ListAllScalingV2PoliciesRequestOrder{ + value: "ASC", + }, + DESC: ListAllScalingV2PoliciesRequestOrder{ + value: "DESC", + }, + } +} + +func (c ListAllScalingV2PoliciesRequestOrder) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ListAllScalingV2PoliciesRequestOrder) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_all_scaling_v2_policies_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_all_scaling_v2_policies_response.go new file mode 100644 index 0000000000000000000000000000000000000000..342a387967de994cceaa229205581e519de2e81d --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_all_scaling_v2_policies_response.go @@ -0,0 +1,33 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ListAllScalingV2PoliciesResponse struct { + // 总记录数。 + + TotalNumber *int32 `json:"total_number,omitempty"` + // 查询的起始行号。 + + StartNumber *int32 `json:"start_number,omitempty"` + // 查询记录数。 + + Limit *int32 `json:"limit,omitempty"` + // 伸缩策略列表 + + ScalingPolicies *[]ScalingAllPolicyDetail `json:"scaling_policies,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListAllScalingV2PoliciesResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListAllScalingV2PoliciesResponse struct{}" + } + + return strings.Join([]string{"ListAllScalingV2PoliciesResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_api_versions_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_api_versions_request.go new file mode 100644 index 0000000000000000000000000000000000000000..cf5743cc681a2624f13b15084ca74f9d5649e1e3 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_api_versions_request.go @@ -0,0 +1,20 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ListApiVersionsRequest struct { +} + +func (o ListApiVersionsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListApiVersionsRequest struct{}" + } + + return strings.Join([]string{"ListApiVersionsRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_api_versions_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_api_versions_response.go new file mode 100644 index 0000000000000000000000000000000000000000..770c1bb08ac0ddd328d46862270d0270f6648875 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_api_versions_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ListApiVersionsResponse struct { + // 弹性伸缩API版本信息。 + + Versions *[]VersionInfo `json:"versions,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListApiVersionsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListApiVersionsResponse struct{}" + } + + return strings.Join([]string{"ListApiVersionsResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_hook_instances_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_hook_instances_request.go index 514c0dfc457bd4520516b948efd8a2442f65f362..33144fb3cc04663c61fc9014658ad0e3547c2bdf 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_hook_instances_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_hook_instances_request.go @@ -1,25 +1,26 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type ListHookInstancesRequest struct { - ScalingGroupId string `json:"scaling_group_id"` - InstanceId *string `json:"instance_id,omitempty"` + // 伸缩组ID。 + + ScalingGroupId string `json:"scaling_group_id"` + // 伸缩实例ID。 + + InstanceId *string `json:"instance_id,omitempty"` } func (o ListHookInstancesRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListHookInstancesRequest struct{}" + } + return strings.Join([]string{"ListHookInstancesRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_hook_instances_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_hook_instances_response.go index 443e604e9660984efeb981eadc0d7645909ecbdd..28cb4c2bcca17d60e002b59562c422ef290e49e3 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_hook_instances_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_hook_instances_response.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type ListHookInstancesResponse struct { // 伸缩实例生命周期挂钩列表。 + InstanceHangingInfo *[]InstanceHangingInfos `json:"instance_hanging_info,omitempty"` + HttpStatusCode int `json:"-"` } func (o ListHookInstancesResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListHookInstancesResponse struct{}" + } + return strings.Join([]string{"ListHookInstancesResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_life_cycle_hooks_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_life_cycle_hooks_request.go index 9fdbb78138a05e662cd13d7c39c2e5ee8875c40f..ea45138832021a5a9aa261cc80ba6f4931c8e1d3 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_life_cycle_hooks_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_life_cycle_hooks_request.go @@ -1,24 +1,23 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type ListLifeCycleHooksRequest struct { + // 伸缩组标识。 + ScalingGroupId string `json:"scaling_group_id"` } func (o ListLifeCycleHooksRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListLifeCycleHooksRequest struct{}" + } + return strings.Join([]string{"ListLifeCycleHooksRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_life_cycle_hooks_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_life_cycle_hooks_response.go index 7536bd9de1906ae256d96b5f29ec8b3bf425be85..522d00a3e572057fb59bf12cbccf73492c4cc32c 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_life_cycle_hooks_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_life_cycle_hooks_response.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type ListLifeCycleHooksResponse struct { // 生命周期挂钩列表。 + LifecycleHooks *[]LifecycleHookList `json:"lifecycle_hooks,omitempty"` + HttpStatusCode int `json:"-"` } func (o ListLifeCycleHooksResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListLifeCycleHooksResponse struct{}" + } + return strings.Join([]string{"ListLifeCycleHooksResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_resource_instances_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_resource_instances_request.go index 8cccccd5ea9f0fc9cd2c7bea860e5a876fb2445a..90df97c2a23fb4bfa59c371521e9ecc1d5af7454 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_resource_instances_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_resource_instances_request.go @@ -1,27 +1,30 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // Request Object type ListResourceInstancesRequest struct { + // 资源类型,枚举类:SCALING_GROUP_TAG。 + ResourceType ListResourceInstancesRequestResourceType `json:"resource_type"` - Body *ShowTagsRequestBody `json:"body,omitempty"` + + Body *QueryTagsOption `json:"body,omitempty"` } func (o ListResourceInstancesRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListResourceInstancesRequest struct{}" + } + return strings.Join([]string{"ListResourceInstancesRequest", string(data)}, " ") } @@ -42,7 +45,7 @@ func GetListResourceInstancesRequestResourceTypeEnum() ListResourceInstancesRequ } func (c ListResourceInstancesRequestResourceType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ListResourceInstancesRequestResourceType) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_resource_instances_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_resource_instances_response.go index d63dc4d0d5cbde7977b664c4815de12661a8a296..069e43c87564ec61d0f57908ac0ec6d6d42e1498 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_resource_instances_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_resource_instances_response.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,14 +9,22 @@ import ( // Response Object type ListResourceInstancesResponse struct { // 标签资源实例。 + Resources *[]Resources `json:"resources,omitempty"` // 总记录数。 + TotalCount *int32 `json:"total_count,omitempty"` // 分页位置标识。 - Marker *int32 `json:"marker,omitempty"` + + Marker *string `json:"marker,omitempty"` + HttpStatusCode int `json:"-"` } func (o ListResourceInstancesResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListResourceInstancesResponse struct{}" + } + return strings.Join([]string{"ListResourceInstancesResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_activity_logs_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_activity_logs_request.go index 127dbde1985c8fabad2a2b6ed9113190f5d2ad89..19b14544c661f9b57569ebc78ae1db7b2724678a 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_activity_logs_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_activity_logs_request.go @@ -1,29 +1,35 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" - "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type ListScalingActivityLogsRequest struct { - ScalingGroupId string `json:"scaling_group_id"` - StartTime *sdktime.SdkTime `json:"start_time,omitempty"` - EndTime *sdktime.SdkTime `json:"end_time,omitempty"` - StartNumber *int32 `json:"start_number,omitempty"` - Limit *int32 `json:"limit,omitempty"` + // 伸缩组ID。 + + ScalingGroupId string `json:"scaling_group_id"` + // 查询的起始时间,格式是“yyyy-MM-ddThh:mm:ssZ”。 + + StartTime *string `json:"start_time,omitempty"` + // 查询的截止时间,格式是“yyyy-MM-ddThh:mm:ssZ”。 + + EndTime *string `json:"end_time,omitempty"` + // 查询的起始行号,默认为0。 + + StartNumber *int32 `json:"start_number,omitempty"` + // 查询记录数,默认20,最大100。 + + Limit *int32 `json:"limit,omitempty"` } func (o ListScalingActivityLogsRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListScalingActivityLogsRequest struct{}" + } + return strings.Join([]string{"ListScalingActivityLogsRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_activity_logs_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_activity_logs_response.go index ccbebf001ce2ff783e181a0a83300d332bf54244..cd0f4dda3e4a1f4d13c0cbe49af9ef57aac74e1e 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_activity_logs_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_activity_logs_response.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,16 +9,25 @@ import ( // Response Object type ListScalingActivityLogsResponse struct { // 总记录数。 + TotalNumber *int32 `json:"total_number,omitempty"` // 查询的其实行号。 + StartNumber *int32 `json:"start_number,omitempty"` // 查询记录数。 + Limit *int32 `json:"limit,omitempty"` // 伸缩活动日志列表。 + ScalingActivityLog *[]ScalingActivityLogList `json:"scaling_activity_log,omitempty"` + HttpStatusCode int `json:"-"` } func (o ListScalingActivityLogsResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListScalingActivityLogsResponse struct{}" + } + return strings.Join([]string{"ListScalingActivityLogsResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_activity_v2_logs_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_activity_v2_logs_request.go new file mode 100644 index 0000000000000000000000000000000000000000..8fdf13b8f9e1f5822543401980d22a251d3779fa --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_activity_v2_logs_request.go @@ -0,0 +1,148 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// Request Object +type ListScalingActivityV2LogsRequest struct { + // 伸缩组ID。 + + ScalingGroupId string `json:"scaling_group_id"` + // 伸缩活动日志ID + + LogId *string `json:"log_id,omitempty"` + // 查询的起始时间,格式是“yyyy-MM-ddThh:mm:ssZ”。 + + StartTime *string `json:"start_time,omitempty"` + // 查询的截止时间,格式是“yyyy-MM-ddThh:mm:ssZ”。 + + EndTime *string `json:"end_time,omitempty"` + // 查询的起始行号,默认为0。 + + StartNumber *int32 `json:"start_number,omitempty"` + // 查询记录数,默认20,最大100。 + + Limit *int32 `json:"limit,omitempty"` + // 查询的伸缩活动类型(查询多类型使用逗号分隔):NORMAL:普通伸缩活动;MANNUAL_REMOVE:从伸缩组手动移除实例;MANNUAL_DELETE:从伸缩组手动移除实例并删除实例;ELB_CHECK_DELETE:ELB检查移除并删除实例;DIFF:期望实例数与实际实例 不一致;MODIFY_ELB:LB迁移 + + Type *ListScalingActivityV2LogsRequestType `json:"type,omitempty"` + // 查询的伸缩活动状态:SUCCESS:成功;FAIL:失败;DOING:伸缩中 + + Status *ListScalingActivityV2LogsRequestStatus `json:"status,omitempty"` +} + +func (o ListScalingActivityV2LogsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListScalingActivityV2LogsRequest struct{}" + } + + return strings.Join([]string{"ListScalingActivityV2LogsRequest", string(data)}, " ") +} + +type ListScalingActivityV2LogsRequestType struct { + value string +} + +type ListScalingActivityV2LogsRequestTypeEnum struct { + NORMAL ListScalingActivityV2LogsRequestType + MANNUAL_REMOVE ListScalingActivityV2LogsRequestType + MANNUAL_DELETE ListScalingActivityV2LogsRequestType + MANNUAL_ADD ListScalingActivityV2LogsRequestType + ELB_CHECK_DELETE ListScalingActivityV2LogsRequestType + AUDIT_CHECK_DELETE ListScalingActivityV2LogsRequestType + MODIFY_ELB ListScalingActivityV2LogsRequestType +} + +func GetListScalingActivityV2LogsRequestTypeEnum() ListScalingActivityV2LogsRequestTypeEnum { + return ListScalingActivityV2LogsRequestTypeEnum{ + NORMAL: ListScalingActivityV2LogsRequestType{ + value: "NORMAL", + }, + MANNUAL_REMOVE: ListScalingActivityV2LogsRequestType{ + value: "MANNUAL_REMOVE", + }, + MANNUAL_DELETE: ListScalingActivityV2LogsRequestType{ + value: "MANNUAL_DELETE", + }, + MANNUAL_ADD: ListScalingActivityV2LogsRequestType{ + value: "MANNUAL_ADD", + }, + ELB_CHECK_DELETE: ListScalingActivityV2LogsRequestType{ + value: "ELB_CHECK_DELETE", + }, + AUDIT_CHECK_DELETE: ListScalingActivityV2LogsRequestType{ + value: "AUDIT_CHECK_DELETE", + }, + MODIFY_ELB: ListScalingActivityV2LogsRequestType{ + value: "MODIFY_ELB", + }, + } +} + +func (c ListScalingActivityV2LogsRequestType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ListScalingActivityV2LogsRequestType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type ListScalingActivityV2LogsRequestStatus struct { + value string +} + +type ListScalingActivityV2LogsRequestStatusEnum struct { + SUCCESS ListScalingActivityV2LogsRequestStatus + FAIL ListScalingActivityV2LogsRequestStatus + DOING ListScalingActivityV2LogsRequestStatus +} + +func GetListScalingActivityV2LogsRequestStatusEnum() ListScalingActivityV2LogsRequestStatusEnum { + return ListScalingActivityV2LogsRequestStatusEnum{ + SUCCESS: ListScalingActivityV2LogsRequestStatus{ + value: "SUCCESS", + }, + FAIL: ListScalingActivityV2LogsRequestStatus{ + value: "FAIL", + }, + DOING: ListScalingActivityV2LogsRequestStatus{ + value: "DOING", + }, + } +} + +func (c ListScalingActivityV2LogsRequestStatus) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ListScalingActivityV2LogsRequestStatus) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_activity_v2_logs_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_activity_v2_logs_response.go new file mode 100644 index 0000000000000000000000000000000000000000..92099f598504c6f53b075055c8134081b68f7db6 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_activity_v2_logs_response.go @@ -0,0 +1,33 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ListScalingActivityV2LogsResponse struct { + // 总记录数。 + + TotalNumber *int32 `json:"total_number,omitempty"` + // 查询的其实行号。 + + StartNumber *int32 `json:"start_number,omitempty"` + // 查询记录数。 + + Limit *int32 `json:"limit,omitempty"` + // 伸缩活动日志列表。 + + ScalingActivityLog *[]ScalingActivityLogV2 `json:"scaling_activity_log,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListScalingActivityV2LogsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListScalingActivityV2LogsResponse struct{}" + } + + return strings.Join([]string{"ListScalingActivityV2LogsResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_configs_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_configs_request.go index 2cebffed75b1ab39001609cab1f8f8e29fa3f768..5dc862da41ee00925e124a48e4d69e15389106a5 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_configs_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_configs_request.go @@ -1,27 +1,32 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type ListScalingConfigsRequest struct { + // 伸缩配置名称。 + ScalingConfigurationName *string `json:"scaling_configuration_name,omitempty"` - ImageId *string `json:"image_id,omitempty"` - StartNumber *int32 `json:"start_number,omitempty"` - Limit *int32 `json:"limit,omitempty"` + // 镜像ID,同imageRef。 + + ImageId *string `json:"image_id,omitempty"` + // 查询的起始行号,默认为0。 + + StartNumber *int32 `json:"start_number,omitempty"` + // 查询的记录条数,默认为20。 + + Limit *int32 `json:"limit,omitempty"` } func (o ListScalingConfigsRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListScalingConfigsRequest struct{}" + } + return strings.Join([]string{"ListScalingConfigsRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_configs_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_configs_response.go index d426ec96313802e849608e4c370d44d1a0bca6ba..7a8f8ac453212249470402ebf282025762ca8f5d 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_configs_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_configs_response.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,16 +9,25 @@ import ( // Response Object type ListScalingConfigsResponse struct { // 总记录数。 + TotalNumber *int32 `json:"total_number,omitempty"` // 查询的起始行号。 + StartNumber *int32 `json:"start_number,omitempty"` // 查询记录数。 + Limit *int32 `json:"limit,omitempty"` // 伸缩配置列表 + ScalingConfigurations *[]ScalingConfiguration `json:"scaling_configurations,omitempty"` + HttpStatusCode int `json:"-"` } func (o ListScalingConfigsResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListScalingConfigsResponse struct{}" + } + return strings.Join([]string{"ListScalingConfigsResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_groups_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_groups_request.go index 31bcbebe5240c02c19bdb5fdeb9cdea36252794d..27ac39d9768b07735fdfe3198bfeebd3088bee51 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_groups_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_groups_request.go @@ -1,30 +1,43 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // Request Object type ListScalingGroupsRequest struct { - ScalingGroupName *string `json:"scaling_group_name,omitempty"` - ScalingConfigurationId *string `json:"scaling_configuration_id,omitempty"` - ScalingGroupStatus *ListScalingGroupsRequestScalingGroupStatus `json:"scaling_group_status,omitempty"` - StartNumber *int32 `json:"start_number,omitempty"` - Limit *int32 `json:"limit,omitempty"` + // 伸缩组名称 + + ScalingGroupName *string `json:"scaling_group_name,omitempty"` + // 伸缩配置ID,通过查询弹性伸缩配置列表接口获取,详见查询弹性伸缩配置列表。 + + ScalingConfigurationId *string `json:"scaling_configuration_id,omitempty"` + // 伸缩组状态,包括INSERVICE,PAUSED,ERROR,DELETING。 + + ScalingGroupStatus *ListScalingGroupsRequestScalingGroupStatus `json:"scaling_group_status,omitempty"` + // 查询的起始行号,默认为0。 + + StartNumber *int32 `json:"start_number,omitempty"` + // 查询的记录条数,默认为20。 + + Limit *int32 `json:"limit,omitempty"` + // 企业项目ID,当传入all_granted_eps时表示查询该用户所有授权的企业项目下的伸缩组列表 + + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` } func (o ListScalingGroupsRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListScalingGroupsRequest struct{}" + } + return strings.Join([]string{"ListScalingGroupsRequest", string(data)}, " ") } @@ -57,7 +70,7 @@ func GetListScalingGroupsRequestScalingGroupStatusEnum() ListScalingGroupsReques } func (c ListScalingGroupsRequestScalingGroupStatus) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ListScalingGroupsRequestScalingGroupStatus) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_groups_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_groups_response.go index 1727fcbbdf61f774885856438565a3d3256991ca..701624644c52c5f412b1f9de3e2d6c69212f590d 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_groups_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_groups_response.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,16 +9,25 @@ import ( // Response Object type ListScalingGroupsResponse struct { // 总记录数 + TotalNumber *int32 `json:"total_number,omitempty"` // 查询的开始记录号 + StartNumber *int32 `json:"start_number,omitempty"` // 查询记录数 + Limit *int32 `json:"limit,omitempty"` // 伸缩组列表 - ScalingGroups *[]ScalingGroups `json:"scaling_groups,omitempty"` + + ScalingGroups *[]ScalingGroups `json:"scaling_groups,omitempty"` + HttpStatusCode int `json:"-"` } func (o ListScalingGroupsResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListScalingGroupsResponse struct{}" + } + return strings.Join([]string{"ListScalingGroupsResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_instances_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_instances_request.go index f203119414ae40e958d58c82379292267fa9505d..747ce699417813a56a93fed88c00aab7c86dad9e 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_instances_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_instances_request.go @@ -1,31 +1,43 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // Request Object type ListScalingInstancesRequest struct { - ScalingGroupId string `json:"scaling_group_id"` - LifeCycleState *ListScalingInstancesRequestLifeCycleState `json:"life_cycle_state,omitempty"` - HealthStatus *ListScalingInstancesRequestHealthStatus `json:"health_status,omitempty"` + // 伸缩组ID。 + + ScalingGroupId string `json:"scaling_group_id"` + // 实例在伸缩组中的生命周期状态:INSERVICE: 正在使用。PENDING:正在加入伸缩组。REMOVING:正在移出伸缩组。PENDING_WAIT:正在加入伸缩组:等待。REMOVING_WAIT:正在移出伸缩组:等待。 + + LifeCycleState *ListScalingInstancesRequestLifeCycleState `json:"life_cycle_state,omitempty"` + // 实例健康状态:INITIALIZING:初始化。NORMAL:正常。ERROR:异常 + + HealthStatus *ListScalingInstancesRequestHealthStatus `json:"health_status,omitempty"` + // 实例保护状态:true:已设置实例保护。false:未设置实例保护。 + ProtectFromScalingDown *ListScalingInstancesRequestProtectFromScalingDown `json:"protect_from_scaling_down,omitempty"` - StartNumber *int32 `json:"start_number,omitempty"` - Limit *int32 `json:"limit,omitempty"` + // 查询的起始行号,默认为0。 + + StartNumber *int32 `json:"start_number,omitempty"` + // 查询的记录条数,默认为20。 + + Limit *int32 `json:"limit,omitempty"` } func (o ListScalingInstancesRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListScalingInstancesRequest struct{}" + } + return strings.Join([]string{"ListScalingInstancesRequest", string(data)}, " ") } @@ -70,7 +82,7 @@ func GetListScalingInstancesRequestLifeCycleStateEnum() ListScalingInstancesRequ } func (c ListScalingInstancesRequestLifeCycleState) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ListScalingInstancesRequestLifeCycleState) UnmarshalJSON(b []byte) error { @@ -112,7 +124,7 @@ func GetListScalingInstancesRequestHealthStatusEnum() ListScalingInstancesReques } func (c ListScalingInstancesRequestHealthStatus) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ListScalingInstancesRequestHealthStatus) UnmarshalJSON(b []byte) error { @@ -150,7 +162,7 @@ func GetListScalingInstancesRequestProtectFromScalingDownEnum() ListScalingInsta } func (c ListScalingInstancesRequestProtectFromScalingDown) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ListScalingInstancesRequestProtectFromScalingDown) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_instances_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_instances_response.go index 11d6f4409d7a3bcb5c085171db447a2fd5bdeaf1..dc7c68eb8e1df2cfb0589aedc21662f904905b01 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_instances_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_instances_response.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,16 +9,25 @@ import ( // Response Object type ListScalingInstancesResponse struct { // 总记录数。 + TotalNumber *int32 `json:"total_number,omitempty"` // 查询的起始行号。 + StartNumber *int32 `json:"start_number,omitempty"` // 伸缩组实例详情。 + Limit *int32 `json:"limit,omitempty"` // 伸缩组实例详情。 + ScalingGroupInstances *[]ScalingGroupInstance `json:"scaling_group_instances,omitempty"` + HttpStatusCode int `json:"-"` } func (o ListScalingInstancesResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListScalingInstancesResponse struct{}" + } + return strings.Join([]string{"ListScalingInstancesResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_notifications_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_notifications_request.go index ec161d749ad38c230b92c66aecdb015ebf09ac9f..dbba9ed1d6f2a989cdbe395a9906cbaeec03be3c 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_notifications_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_notifications_request.go @@ -1,24 +1,23 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type ListScalingNotificationsRequest struct { + // 伸缩组标识。 + ScalingGroupId string `json:"scaling_group_id"` } func (o ListScalingNotificationsRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListScalingNotificationsRequest struct{}" + } + return strings.Join([]string{"ListScalingNotificationsRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_notifications_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_notifications_response.go index bd0b0ea590cb7c14a5111ee09cf5f22cb443a1aa..c2897a14d8be4417c10eb621a7d8cceca55fa23c 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_notifications_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_notifications_response.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type ListScalingNotificationsResponse struct { // 伸缩组通知列表。 - Topics *[]Topics `json:"topics,omitempty"` + + Topics *[]Topics `json:"topics,omitempty"` + HttpStatusCode int `json:"-"` } func (o ListScalingNotificationsResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListScalingNotificationsResponse struct{}" + } + return strings.Join([]string{"ListScalingNotificationsResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_policies_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_policies_request.go index 6820c14eda9da5757558fbbe2a3320717b852864..f71630e34d922a167fb7e1fec26ee02fff11a462 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_policies_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_policies_request.go @@ -1,31 +1,43 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // Request Object type ListScalingPoliciesRequest struct { - ScalingGroupId string `json:"scaling_group_id"` - ScalingPolicyName *string `json:"scaling_policy_name,omitempty"` + // 伸缩组ID。 + + ScalingGroupId string `json:"scaling_group_id"` + // 伸缩策略名称。 + + ScalingPolicyName *string `json:"scaling_policy_name,omitempty"` + // 策略类型。 + ScalingPolicyType *ListScalingPoliciesRequestScalingPolicyType `json:"scaling_policy_type,omitempty"` - ScalingPolicyId *string `json:"scaling_policy_id,omitempty"` - StartNumber *int32 `json:"start_number,omitempty"` - Limit *int32 `json:"limit,omitempty"` + // 伸缩策略ID。 + + ScalingPolicyId *string `json:"scaling_policy_id,omitempty"` + // 查询的起始行号,默认为0。 + + StartNumber *int32 `json:"start_number,omitempty"` + // 查询记录数,默认20,最大100。 + + Limit *int32 `json:"limit,omitempty"` } func (o ListScalingPoliciesRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListScalingPoliciesRequest struct{}" + } + return strings.Join([]string{"ListScalingPoliciesRequest", string(data)}, " ") } @@ -54,7 +66,7 @@ func GetListScalingPoliciesRequestScalingPolicyTypeEnum() ListScalingPoliciesReq } func (c ListScalingPoliciesRequestScalingPolicyType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ListScalingPoliciesRequestScalingPolicyType) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_policies_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_policies_response.go index 2f6845ef5f019d83e00be259ef86de59f7c1d6ac..5a667c10d3359c20e8fab5a221df935ade76a5c2 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_policies_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_policies_response.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,16 +9,25 @@ import ( // Response Object type ListScalingPoliciesResponse struct { // 总记录数。 + TotalNumber *int32 `json:"total_number,omitempty"` // 查询的起始行号。 + StartNumber *int32 `json:"start_number,omitempty"` // 查询记录数。 + Limit *int32 `json:"limit,omitempty"` // 伸缩策略列表 - ScalingPolicies *[]ScalingPolicyDetail `json:"scaling_policies,omitempty"` + + ScalingPolicies *[]ScalingV1PolicyDetail `json:"scaling_policies,omitempty"` + HttpStatusCode int `json:"-"` } func (o ListScalingPoliciesResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListScalingPoliciesResponse struct{}" + } + return strings.Join([]string{"ListScalingPoliciesResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_policy_execute_logs_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_policy_execute_logs_request.go index 1d862aa8fd5ccb4340f06625b09d21d636292228..4f711fff50d9487ec4ec523607e20ecfe922b618 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_policy_execute_logs_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_policy_execute_logs_request.go @@ -1,35 +1,52 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" - "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" + "strings" ) // Request Object type ListScalingPolicyExecuteLogsRequest struct { - ScalingPolicyId string `json:"scaling_policy_id"` - LogId *string `json:"log_id,omitempty"` + // 伸缩策略ID。 + + ScalingPolicyId string `json:"scaling_policy_id"` + // 日志ID。 + + LogId *string `json:"log_id,omitempty"` + // 伸缩资源类型:伸缩组:SCALING_GROUP。带宽:BANDWIDTH + ScalingResourceType *ListScalingPolicyExecuteLogsRequestScalingResourceType `json:"scaling_resource_type,omitempty"` - ScalingResourceId *string `json:"scaling_resource_id,omitempty"` - ExecuteType *ListScalingPolicyExecuteLogsRequestExecuteType `json:"execute_type,omitempty"` - StartTime *sdktime.SdkTime `json:"start_time,omitempty"` - EndTime *sdktime.SdkTime `json:"end_time,omitempty"` - StartNumber *int32 `json:"start_number,omitempty"` - Limit *int32 `json:"limit,omitempty"` + // 伸缩资源ID。 + + ScalingResourceId *string `json:"scaling_resource_id,omitempty"` + // 策略执行类型:SCHEDULED:自动触发(定时)。RECURRENCE:自动触发(周期)。ALARM:自动触发(告警)。MANUAL:手动触发。 + + ExecuteType *ListScalingPolicyExecuteLogsRequestExecuteType `json:"execute_type,omitempty"` + // 查询的起始时间,格式是“yyyy-MM-ddThh:mm:ssZ”。 + + StartTime *string `json:"start_time,omitempty"` + // 查询的截止时间,格式是“yyyy-MM-ddThh:mm:ssZ”。 + + EndTime *string `json:"end_time,omitempty"` + // 查询的起始行号,默认为0。 + + StartNumber *int32 `json:"start_number,omitempty"` + // 查询记录数,默认20,最大100。 + + Limit *int32 `json:"limit,omitempty"` } func (o ListScalingPolicyExecuteLogsRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListScalingPolicyExecuteLogsRequest struct{}" + } + return strings.Join([]string{"ListScalingPolicyExecuteLogsRequest", string(data)}, " ") } @@ -54,7 +71,7 @@ func GetListScalingPolicyExecuteLogsRequestScalingResourceTypeEnum() ListScaling } func (c ListScalingPolicyExecuteLogsRequestScalingResourceType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ListScalingPolicyExecuteLogsRequestScalingResourceType) UnmarshalJSON(b []byte) error { @@ -100,7 +117,7 @@ func GetListScalingPolicyExecuteLogsRequestExecuteTypeEnum() ListScalingPolicyEx } func (c ListScalingPolicyExecuteLogsRequestExecuteType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ListScalingPolicyExecuteLogsRequestExecuteType) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_policy_execute_logs_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_policy_execute_logs_response.go index 38d29a314e4dbbb715a9638a3bfb1376dea77c97..8d0c1f8ece409fdddcffc7247585a900ae499518 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_policy_execute_logs_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_policy_execute_logs_response.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,16 +9,25 @@ import ( // Response Object type ListScalingPolicyExecuteLogsResponse struct { // 总记录数。 + TotalNumber *int32 `json:"total_number,omitempty"` // 查询的起始行号。 + StartNumber *int32 `json:"start_number,omitempty"` // 查询记录数。 + Limit *int32 `json:"limit,omitempty"` // 伸缩策略执行日志列表。 + ScalingPolicyExecuteLog *[]ScalingPolicyExecuteLogList `json:"scaling_policy_execute_log,omitempty"` + HttpStatusCode int `json:"-"` } func (o ListScalingPolicyExecuteLogsResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListScalingPolicyExecuteLogsResponse struct{}" + } + return strings.Join([]string{"ListScalingPolicyExecuteLogsResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_tag_infos_by_resource_id_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_tag_infos_by_resource_id_request.go index 4fbb6ffe97a9efd307101d15b07870a395320f23..13f89f6e945dda2fca112d59eaa7785480fc1048 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_tag_infos_by_resource_id_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_tag_infos_by_resource_id_request.go @@ -1,27 +1,31 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // Request Object type ListScalingTagInfosByResourceIdRequest struct { + // 资源类型,枚举类:scaling_group_tag。scaling_group_tag表示资源类型为伸缩组。 + ResourceType ListScalingTagInfosByResourceIdRequestResourceType `json:"resource_type"` - ResourceId string `json:"resource_id"` + // 资源ID。 + + ResourceId string `json:"resource_id"` } func (o ListScalingTagInfosByResourceIdRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListScalingTagInfosByResourceIdRequest struct{}" + } + return strings.Join([]string{"ListScalingTagInfosByResourceIdRequest", string(data)}, " ") } @@ -42,7 +46,7 @@ func GetListScalingTagInfosByResourceIdRequestResourceTypeEnum() ListScalingTagI } func (c ListScalingTagInfosByResourceIdRequestResourceType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ListScalingTagInfosByResourceIdRequestResourceType) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_tag_infos_by_resource_id_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_tag_infos_by_resource_id_response.go index d73bc21d0f0c1de6cd49843ce787ace18a76315a..5e65d499cf21fc5734775b9a694f904b6793f963 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_tag_infos_by_resource_id_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_tag_infos_by_resource_id_response.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,12 +9,19 @@ import ( // Response Object type ListScalingTagInfosByResourceIdResponse struct { // 资源标签列表。 + Tags *[]TagsSingleValue `json:"tags,omitempty"` // 系统资源标签列表。 - SysTags *[]TagsSingleValue `json:"sys_tags,omitempty"` + + SysTags *[]TagsSingleValue `json:"sys_tags,omitempty"` + HttpStatusCode int `json:"-"` } func (o ListScalingTagInfosByResourceIdResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListScalingTagInfosByResourceIdResponse struct{}" + } + return strings.Join([]string{"ListScalingTagInfosByResourceIdResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_tag_infos_by_tenant_id_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_tag_infos_by_tenant_id_request.go index 5cfdff2b8166856eb31002ca4230c244aabfab1b..27f3c0ea3404e43eaeaf9515c7de94c7a31cc36e 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_tag_infos_by_tenant_id_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_tag_infos_by_tenant_id_request.go @@ -1,26 +1,28 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // Request Object type ListScalingTagInfosByTenantIdRequest struct { + // 资源类型,枚举类:scaling_group_tag。scaling_group_tag表示资源类型为伸缩组。 + ResourceType ListScalingTagInfosByTenantIdRequestResourceType `json:"resource_type"` } func (o ListScalingTagInfosByTenantIdRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListScalingTagInfosByTenantIdRequest struct{}" + } + return strings.Join([]string{"ListScalingTagInfosByTenantIdRequest", string(data)}, " ") } @@ -41,7 +43,7 @@ func GetListScalingTagInfosByTenantIdRequestResourceTypeEnum() ListScalingTagInf } func (c ListScalingTagInfosByTenantIdRequestResourceType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ListScalingTagInfosByTenantIdRequestResourceType) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_tag_infos_by_tenant_id_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_tag_infos_by_tenant_id_response.go index cbfe561e8f0b20f9fafd80f1a0d2352aa305f596..bbdb856ad5a9c2956d1865949365241de1b91208 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_tag_infos_by_tenant_id_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_tag_infos_by_tenant_id_response.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type ListScalingTagInfosByTenantIdResponse struct { // 资源标签。 - Tags *[]TagsMultiValue `json:"tags,omitempty"` + + Tags *[]TagsMultiValue `json:"tags,omitempty"` + HttpStatusCode int `json:"-"` } func (o ListScalingTagInfosByTenantIdResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListScalingTagInfosByTenantIdResponse struct{}" + } + return strings.Join([]string{"ListScalingTagInfosByTenantIdResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_v2_policies_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_v2_policies_request.go new file mode 100644 index 0000000000000000000000000000000000000000..0ec481343d6418e2cdb2166daa1520f0d77ac167 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_v2_policies_request.go @@ -0,0 +1,38 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ListScalingV2PoliciesRequest struct { + // 伸缩组ID。 + + ScalingResourceId string `json:"scaling_resource_id"` + // 伸缩策略名称。 + + ScalingPolicyName *string `json:"scaling_policy_name,omitempty"` + // 策略类型。 + + ScalingPolicyType *string `json:"scaling_policy_type,omitempty"` + // 伸缩策略ID。 + + ScalingPolicyId *string `json:"scaling_policy_id,omitempty"` + // 查询的起始行号,默认为0。 + + StartNumber *int32 `json:"start_number,omitempty"` + // 查询记录数,默认20,最大100。 + + Limit *int32 `json:"limit,omitempty"` +} + +func (o ListScalingV2PoliciesRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListScalingV2PoliciesRequest struct{}" + } + + return strings.Join([]string{"ListScalingV2PoliciesRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_v2_policies_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_v2_policies_response.go new file mode 100644 index 0000000000000000000000000000000000000000..628db6ceaaee9c11c4bf9962bc87940dee1d2a11 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_list_scaling_v2_policies_response.go @@ -0,0 +1,33 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ListScalingV2PoliciesResponse struct { + // 总记录数。 + + TotalNumber *int32 `json:"total_number,omitempty"` + // 查询的起始行号。 + + StartNumber *int32 `json:"start_number,omitempty"` + // 查询记录数。 + + Limit *int32 `json:"limit,omitempty"` + // 伸缩策略列表 + + ScalingPolicies *[]ScalingPoliciesV2 `json:"scaling_policies,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListScalingV2PoliciesResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListScalingV2PoliciesResponse struct{}" + } + + return strings.Join([]string{"ListScalingV2PoliciesResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_matches.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_matches.go index 27bad2cacdde2804f8a5660b0e10f5b4876603d5..5b110c2cfb75f3db96162e532471afba67a935e7 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_matches.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_matches.go @@ -1,26 +1,26 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) +// type Matches struct { // 键。暂限定为resource_name。 - Key *string `json:"key,omitempty"` + + Key string `json:"key"` // 值。为固定字典值。每个值最大长度255个unicode字符。若为空字符串、resource_id时为精确匹配。 - Value *string `json:"value,omitempty"` + + Value string `json:"value"` } func (o Matches) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "Matches struct{}" + } + return strings.Join([]string{"Matches", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_meta_data.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_meta_data.go index 332b671848ec62e84f9cb61b8bee154695058ef5..55ccc097b368cc77691095f9e5c2138d5944feab 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_meta_data.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_meta_data.go @@ -1,25 +1,26 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) -// 用户自定义键值对 +// 创建磁盘的元数据 type MetaData struct { - // 用户自定义数据总长度不大于512字节。用户自定义键不能是空串,不能包含符号.,以及不能以符号$开头。说明:Windows弹性云服务器Administrator用户的密码。示例:键(固定):admin_pass值:cloud.1234创建密码方式鉴权的Windows弹性云服务器时为必选字段。 - CustomizeKey *string `json:"customize_key,omitempty"` + // metadata中的表示加密功能的字段,0代表不加密,1代表加密。 该字段不存在时,云硬盘默认为不加密。 + + SystemEncrypted *string `json:"__system__encrypted,omitempty"` + // 用户主密钥ID,是metadata中的表示加密功能的字段,与__system__encrypted配合使用。 + + SystemCmkid *string `json:"__system__cmkid,omitempty"` } func (o MetaData) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "MetaData struct{}" + } + return strings.Join([]string{"MetaData", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_modify_lb.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_modify_lb.go new file mode 100644 index 0000000000000000000000000000000000000000..f58f6ae26bf47396cbf672e2b75e1be5464e9545 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_modify_lb.go @@ -0,0 +1,30 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// 负载均衡器 +type ModifyLb struct { + LbaasListener *LbaasListener `json:"lbaas_listener,omitempty"` + // 经典型负载均衡器信息 + + Listener *string `json:"listener,omitempty"` + // 负载均衡器迁移失败原因。 + + FailedReason *string `json:"failed_reason,omitempty"` + // 负载均衡器迁移失败详情。 + + FailedDetails *string `json:"failed_details,omitempty"` +} + +func (o ModifyLb) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ModifyLb struct{}" + } + + return strings.Join([]string{"ModifyLb", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_networks.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_networks.go index dfc580dc834f7b804ed76e67c9c2a1efeec01011..769e59651fd4db1966f1e696ef831221cfd1c4d3 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_networks.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_networks.go @@ -1,28 +1,31 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // 网络信息 type Networks struct { - // 网络ID。 + // 子网的网络id。 + Id string `json:"id"` // 是否启用IPv6。取值为true时,标识此网卡已启用IPv6。 - Ipv6Enable *bool `json:"ipv6_enable,omitempty"` + + Ipv6Enable *bool `json:"ipv6_enable,omitempty"` + Ipv6Bandwidth *Ipv6Bandwidth `json:"ipv6_bandwidth,omitempty"` + // 是否开启源/目的检查开关。 + + AllowedAddressPairs *[]AllowedAddressPair `json:"allowed_address_pairs,omitempty"` } func (o Networks) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "Networks struct{}" + } + return strings.Join([]string{"Networks", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_networks_result.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_networks_result.go new file mode 100644 index 0000000000000000000000000000000000000000..e8f3227cb0de0baa9bc7f641727b7723405eb67b --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_networks_result.go @@ -0,0 +1,31 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// 网络信息 +type NetworksResult struct { + // 网络ID + + Id *string `json:"id,omitempty"` + // 是否启用IPv6。取值为true时,标识此网卡已启用IPv6。 + + Ipv6Enable *bool `json:"ipv6_enable,omitempty"` + + Ipv6Bandwidth *Ipv6Bandwidth `json:"ipv6_bandwidth,omitempty"` + // 是否开启源/目的检查开关。 + + AllowedAddressPairs *[]AllowedAddressPair `json:"allowed_address_pairs,omitempty"` +} + +func (o NetworksResult) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NetworksResult struct{}" + } + + return strings.Join([]string{"NetworksResult", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_pause_scaling_group_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_pause_scaling_group_option.go new file mode 100644 index 0000000000000000000000000000000000000000..6444a52556ea47bbd1aa3e7974a8bc6ce40402bb --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_pause_scaling_group_option.go @@ -0,0 +1,61 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// 启停伸缩组请求 +type PauseScalingGroupOption struct { + // 启用或停止伸缩组操作的标识。启用:resume 停止:pause + + Action PauseScalingGroupOptionAction `json:"action"` +} + +func (o PauseScalingGroupOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "PauseScalingGroupOption struct{}" + } + + return strings.Join([]string{"PauseScalingGroupOption", string(data)}, " ") +} + +type PauseScalingGroupOptionAction struct { + value string +} + +type PauseScalingGroupOptionActionEnum struct { + PAUSE PauseScalingGroupOptionAction +} + +func GetPauseScalingGroupOptionActionEnum() PauseScalingGroupOptionActionEnum { + return PauseScalingGroupOptionActionEnum{ + PAUSE: PauseScalingGroupOptionAction{ + value: "pause", + }, + } +} + +func (c PauseScalingGroupOptionAction) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *PauseScalingGroupOptionAction) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_pause_scaling_group_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_pause_scaling_group_request.go new file mode 100644 index 0000000000000000000000000000000000000000..14eadc9fdf567ea302f883c614bafd32ecdfac7f --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_pause_scaling_group_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type PauseScalingGroupRequest struct { + // 伸缩组ID + + ScalingGroupId string `json:"scaling_group_id"` + + Body *PauseScalingGroupOption `json:"body,omitempty"` +} + +func (o PauseScalingGroupRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "PauseScalingGroupRequest struct{}" + } + + return strings.Join([]string{"PauseScalingGroupRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_pause_scaling_group_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_pause_scaling_group_response.go new file mode 100644 index 0000000000000000000000000000000000000000..26f30a2db4feefa59c57013c8579886c0b47b125 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_pause_scaling_group_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type PauseScalingGroupResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o PauseScalingGroupResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "PauseScalingGroupResponse struct{}" + } + + return strings.Join([]string{"PauseScalingGroupResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_pause_scaling_policy_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_pause_scaling_policy_option.go new file mode 100644 index 0000000000000000000000000000000000000000..02e4dbd2cf352d262bc606b1be24d6f60d9f248c --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_pause_scaling_policy_option.go @@ -0,0 +1,61 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// 执行或启用或停止伸缩策略 +type PauseScalingPolicyOption struct { + // 执行或启用或停止伸缩策略操作的标识。执行:execute。启用:resume。停止:pause。 + + Action PauseScalingPolicyOptionAction `json:"action"` +} + +func (o PauseScalingPolicyOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "PauseScalingPolicyOption struct{}" + } + + return strings.Join([]string{"PauseScalingPolicyOption", string(data)}, " ") +} + +type PauseScalingPolicyOptionAction struct { + value string +} + +type PauseScalingPolicyOptionActionEnum struct { + PAUSE PauseScalingPolicyOptionAction +} + +func GetPauseScalingPolicyOptionActionEnum() PauseScalingPolicyOptionActionEnum { + return PauseScalingPolicyOptionActionEnum{ + PAUSE: PauseScalingPolicyOptionAction{ + value: "pause", + }, + } +} + +func (c PauseScalingPolicyOptionAction) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *PauseScalingPolicyOptionAction) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_pause_scaling_policy_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_pause_scaling_policy_request.go new file mode 100644 index 0000000000000000000000000000000000000000..0e38927964e89f53782c8bd23c8d3b0a089caff6 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_pause_scaling_policy_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type PauseScalingPolicyRequest struct { + // 伸缩策略ID。 + + ScalingPolicyId string `json:"scaling_policy_id"` + + Body *PauseScalingPolicyOption `json:"body,omitempty"` +} + +func (o PauseScalingPolicyRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "PauseScalingPolicyRequest struct{}" + } + + return strings.Join([]string{"PauseScalingPolicyRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_pause_scaling_policy_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_pause_scaling_policy_response.go new file mode 100644 index 0000000000000000000000000000000000000000..c2283ff5d856a32cb90280d62dff988e76dcd232 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_pause_scaling_policy_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type PauseScalingPolicyResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o PauseScalingPolicyResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "PauseScalingPolicyResponse struct{}" + } + + return strings.Join([]string{"PauseScalingPolicyResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_personality.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_personality_info.go similarity index 64% rename from cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_personality.go rename to cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_personality_info.go index 2300fea570ea9977eb66653b8902b2c4d4bfb66a..89fd2030eb6f5fdabe0a9b1d2dbdd5c14b7e7d5a 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_personality.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_personality_info.go @@ -1,27 +1,26 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // 注入文件信息。仅支持注入文本文件,最大支持注入5个文件,每个文件最大1KB。 -type Personality struct { +type PersonalityInfo struct { // 注入文件路径信息。Linux系统请输入注入文件保存路径,例如 “/etc/foo.txt”。Windows系统注入文件自动保存在C盘根目录,只需要输入保存文件名,例如 “foo”,文件名只能包含字母(a~zA~Z)和数字(0~9)。 + Path string `json:"path"` // 注入文件内容。该值应指定为注入文件的内容进行base64格式编码后的信息。 + Content string `json:"content"` } -func (o Personality) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"Personality", string(data)}, " ") +func (o PersonalityInfo) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "PersonalityInfo struct{}" + } + + return strings.Join([]string{"PersonalityInfo", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_personality_result.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_personality_result.go new file mode 100644 index 0000000000000000000000000000000000000000..f9722a25752f8184a9f0ada07c2a3f1851dc37c4 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_personality_result.go @@ -0,0 +1,26 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// 个人信息 +type PersonalityResult struct { + // 注入文件路径信息。 + + Path *string `json:"path,omitempty"` + // 注入文件内容,base64格式编码。 + + Content *string `json:"content,omitempty"` +} + +func (o PersonalityResult) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "PersonalityResult struct{}" + } + + return strings.Join([]string{"PersonalityResult", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_policy_instance_quotas.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_policy_instance_quotas.go index 53d769062067547c04ba144140ef148734bd12c6..a74771de61aca5e5a36863a3489e799b298aae4f 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_policy_instance_quotas.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_policy_instance_quotas.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,15 @@ import ( // 配额列表 type PolicyInstanceQuotas struct { // 配额资源详情。 + Resources *[]PolicyInstanceResources `json:"resources,omitempty"` } func (o PolicyInstanceQuotas) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PolicyInstanceQuotas struct{}" + } + return strings.Join([]string{"PolicyInstanceQuotas", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_policy_instance_resources.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_policy_instance_resources.go index 2323f77ae168cb6403a2351cd328788208548087..3031020b4e9d245e7b9607fd6fe6486a7fc46b89 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_policy_instance_resources.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_policy_instance_resources.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,16 +9,24 @@ import ( // 配额资源 type PolicyInstanceResources struct { // 查询配额的类型。 + Type *string `json:"type,omitempty"` // 已使用的配额数量。 + Used *int32 `json:"used,omitempty"` // 配额总数量。 + Quota *int32 `json:"quota,omitempty"` // 配额上限。 + Max *int32 `json:"max,omitempty"` } func (o PolicyInstanceResources) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PolicyInstanceResources struct{}" + } + return strings.Join([]string{"PolicyInstanceResources", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_public_ip.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_public_ip.go index 2fe827f1fca4b429edb8b779392f126748afb19d..d2396097d9b16f246318507bf9ab071d987caf00 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_public_ip.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_public_ip.go @@ -1,24 +1,21 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // 配置云服务器的弹性IP信息 type PublicIp struct { - Eip *Eip `json:"eip"` + Eip *EipInfo `json:"eip"` } func (o PublicIp) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PublicIp struct{}" + } + return strings.Join([]string{"PublicIp", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_publicip_result.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_publicip_result.go new file mode 100644 index 0000000000000000000000000000000000000000..4e547e504427d588a6cfaf74c75bfca7c49bd780 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_publicip_result.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// 弹性IP信息 +type PublicipResult struct { + Eip *EipResult `json:"eip,omitempty"` +} + +func (o PublicipResult) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "PublicipResult struct{}" + } + + return strings.Join([]string{"PublicipResult", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_tags_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_query_tags_option.go similarity index 68% rename from cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_tags_request_body.go rename to cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_query_tags_option.go index b853cf15134180ed8c0cfe9f6173f9712dee10ee..10e30685440c81adf603f4b5fed0534a2f034c51 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_tags_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_query_tags_option.go @@ -1,71 +1,80 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // 请求正常 -type ShowTagsRequestBody struct { +type QueryTagsOption struct { // 过滤条件,包含标签,最多包含10个Tag,结构体不能缺失。 + Tags *[]TagsMultiValue `json:"tags,omitempty"` // 过滤条件,包含任意标签,最多包含10个Tag。 + TagsAny *[]TagsMultiValue `json:"tags_any,omitempty"` // 过滤条件,不包含标签,最多包含10个Tag。 + NotTags *[]TagsMultiValue `json:"not_tags,omitempty"` // 过滤条件,不包含任意标签,最多包含10个Tag。 + NotTagsAny *[]TagsMultiValue `json:"not_tags_any,omitempty"` // 查询记录数(action为count时无此参数)如果action为filter默认为1000,limit最多为1000,不能为负数,最小值为1。 + Limit *string `json:"limit,omitempty"` // 分页位置标识(资源ID或索引位置)。 + Marker *string `json:"marker,omitempty"` // 操作标识(仅限filter,count):filter(过滤):即分页查询。count(查询总条数):按照条件将总条数返回即可。 - Action ShowTagsRequestBodyAction `json:"action"` + + Action QueryTagsOptionAction `json:"action"` // (索引位置),从offset指定的下一条数据开始查询。查询第一页数据时,不需要传入此参数。查询后续页码数据时,将查询前一页数据时,不需要传入此参数。查询后续页码数据时,将查询前一页数据时响应体中的值带入此参数。必须为数字,不能为负数。action:count时,无此参数。action:filter时,默认为0 + Offset *string `json:"offset,omitempty"` // 模糊搜索字段。 - Matchs *[]Matches `json:"matchs,omitempty"` + + Matches *[]Matches `json:"matches,omitempty"` } -func (o ShowTagsRequestBody) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"ShowTagsRequestBody", string(data)}, " ") +func (o QueryTagsOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "QueryTagsOption struct{}" + } + + return strings.Join([]string{"QueryTagsOption", string(data)}, " ") } -type ShowTagsRequestBodyAction struct { +type QueryTagsOptionAction struct { value string } -type ShowTagsRequestBodyActionEnum struct { - FILTER ShowTagsRequestBodyAction - COUNT ShowTagsRequestBodyAction +type QueryTagsOptionActionEnum struct { + FILTER QueryTagsOptionAction + COUNT QueryTagsOptionAction } -func GetShowTagsRequestBodyActionEnum() ShowTagsRequestBodyActionEnum { - return ShowTagsRequestBodyActionEnum{ - FILTER: ShowTagsRequestBodyAction{ +func GetQueryTagsOptionActionEnum() QueryTagsOptionActionEnum { + return QueryTagsOptionActionEnum{ + FILTER: QueryTagsOptionAction{ value: "filter", }, - COUNT: ShowTagsRequestBodyAction{ + COUNT: QueryTagsOptionAction{ value: "count", }, } } -func (c ShowTagsRequestBodyAction) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) +func (c QueryTagsOptionAction) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) } -func (c *ShowTagsRequestBodyAction) UnmarshalJSON(b []byte) error { +func (c *QueryTagsOptionAction) UnmarshalJSON(b []byte) error { myConverter := converter.StringConverterFactory("string") if myConverter != nil { val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_resource_tags.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_resource_tags.go index 4d8821bfdadae6f8de8ff8096afc54f227720085..691446693c8456cf53f397f3e12fab73603c7a11 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_resource_tags.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_resource_tags.go @@ -1,26 +1,25 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) type ResourceTags struct { // 资源标签值。最大长度36个unicode字符。 + Key *string `json:"key,omitempty"` // 资源标签值。 + Value *string `json:"value,omitempty"` } func (o ResourceTags) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ResourceTags struct{}" + } + return strings.Join([]string{"ResourceTags", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_resources.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_resources.go index 6323ade3c717757a3726c8ce9042d96dda2e2c07..87f3db6b838dfee2cc26be88af3de96a506407eb 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_resources.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_resources.go @@ -1,30 +1,31 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) type Resources struct { // 资源详情ID。 + ResourceId *string `json:"resource_id,omitempty"` // 资源详情。 + ResourceDetail *string `json:"resource_detail,omitempty"` // 标签列表,没有标签默认为空数组。 + Tags *[]ResourceTags `json:"tags,omitempty"` // 资源名称,没有默认为空字符串。 + ResourceName *string `json:"resource_name,omitempty"` } func (o Resources) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "Resources struct{}" + } + return strings.Join([]string{"Resources", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_resume_scaling_group_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_resume_scaling_group_option.go new file mode 100644 index 0000000000000000000000000000000000000000..c1174c212f109a31bec047c88a650280b04e2f3c --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_resume_scaling_group_option.go @@ -0,0 +1,61 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// 启停伸缩组请求 +type ResumeScalingGroupOption struct { + // 启用或停止伸缩组操作的标识。启用:resume 停止:pause + + Action ResumeScalingGroupOptionAction `json:"action"` +} + +func (o ResumeScalingGroupOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ResumeScalingGroupOption struct{}" + } + + return strings.Join([]string{"ResumeScalingGroupOption", string(data)}, " ") +} + +type ResumeScalingGroupOptionAction struct { + value string +} + +type ResumeScalingGroupOptionActionEnum struct { + RESUME ResumeScalingGroupOptionAction +} + +func GetResumeScalingGroupOptionActionEnum() ResumeScalingGroupOptionActionEnum { + return ResumeScalingGroupOptionActionEnum{ + RESUME: ResumeScalingGroupOptionAction{ + value: "resume", + }, + } +} + +func (c ResumeScalingGroupOptionAction) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ResumeScalingGroupOptionAction) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_resume_scaling_group_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_resume_scaling_group_request.go new file mode 100644 index 0000000000000000000000000000000000000000..40d3c4925035b583778c286cbdd1eee483e02e8b --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_resume_scaling_group_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ResumeScalingGroupRequest struct { + // 伸缩组ID + + ScalingGroupId string `json:"scaling_group_id"` + + Body *ResumeScalingGroupOption `json:"body,omitempty"` +} + +func (o ResumeScalingGroupRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ResumeScalingGroupRequest struct{}" + } + + return strings.Join([]string{"ResumeScalingGroupRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_resume_scaling_group_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_resume_scaling_group_response.go new file mode 100644 index 0000000000000000000000000000000000000000..f7eb3a97b6f1aee55cb41f84b67f41cb04afbe21 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_resume_scaling_group_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ResumeScalingGroupResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o ResumeScalingGroupResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ResumeScalingGroupResponse struct{}" + } + + return strings.Join([]string{"ResumeScalingGroupResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_resume_scaling_policy_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_resume_scaling_policy_option.go new file mode 100644 index 0000000000000000000000000000000000000000..54811ca8276b3f7e09aad9be73b080bdc42676b1 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_resume_scaling_policy_option.go @@ -0,0 +1,61 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// 执行或启用或停止伸缩策略 +type ResumeScalingPolicyOption struct { + // 执行或启用或停止伸缩策略操作的标识。执行:execute。启用:resume。停止:pause。 + + Action ResumeScalingPolicyOptionAction `json:"action"` +} + +func (o ResumeScalingPolicyOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ResumeScalingPolicyOption struct{}" + } + + return strings.Join([]string{"ResumeScalingPolicyOption", string(data)}, " ") +} + +type ResumeScalingPolicyOptionAction struct { + value string +} + +type ResumeScalingPolicyOptionActionEnum struct { + RESUME ResumeScalingPolicyOptionAction +} + +func GetResumeScalingPolicyOptionActionEnum() ResumeScalingPolicyOptionActionEnum { + return ResumeScalingPolicyOptionActionEnum{ + RESUME: ResumeScalingPolicyOptionAction{ + value: "resume", + }, + } +} + +func (c ResumeScalingPolicyOptionAction) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ResumeScalingPolicyOptionAction) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_resume_scaling_policy_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_resume_scaling_policy_request.go new file mode 100644 index 0000000000000000000000000000000000000000..4135372cd4b604b59893196636ce1c2a552ea369 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_resume_scaling_policy_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ResumeScalingPolicyRequest struct { + // 伸缩策略ID。 + + ScalingPolicyId string `json:"scaling_policy_id"` + + Body *ResumeScalingPolicyOption `json:"body,omitempty"` +} + +func (o ResumeScalingPolicyRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ResumeScalingPolicyRequest struct{}" + } + + return strings.Join([]string{"ResumeScalingPolicyRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_resume_scaling_policy_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_resume_scaling_policy_response.go new file mode 100644 index 0000000000000000000000000000000000000000..c01a974b474b6cd7cf615cb4cbbc4543375dbd88 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_resume_scaling_policy_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ResumeScalingPolicyResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o ResumeScalingPolicyResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ResumeScalingPolicyResponse struct{}" + } + + return strings.Join([]string{"ResumeScalingPolicyResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_activity_log_list.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_activity_log_list.go index e82d2c7846b8173eafd9bc595b9df06a5ba9a330..3ce1be747eb3ac31a7dbb4a936f5d55d7d7086e2 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_activity_log_list.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_activity_log_list.go @@ -1,48 +1,57 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" "errors" + "strings" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" - "strings" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" ) // 伸缩活动日志列表。 type ScalingActivityLogList struct { // 伸缩活动状态:SUCCESS:成功。FAIL:失败。DOING:伸缩过程中。 + Status *ScalingActivityLogListStatus `json:"status,omitempty"` // 伸缩活动触发时间,遵循UTC时间。 + StartTime *sdktime.SdkTime `json:"start_time,omitempty"` // 伸缩活动结束时间,遵循UTC时间。 + EndTime *sdktime.SdkTime `json:"end_time,omitempty"` // 伸缩活动日志ID。 + Id *string `json:"id,omitempty"` // 完成伸缩活动且只被移出弹性伸缩组的云服务器名称列表,云服务器名之间以逗号分隔。 + InstanceRemovedList *string `json:"instance_removed_list,omitempty"` // 完成伸缩活动且被移出弹性伸缩组并删除的云服务器名称列表,云服务器名之间以逗号分隔。 + InstanceDeletedList *string `json:"instance_deleted_list,omitempty"` // 完成伸缩活动且被加入弹性伸缩组的云服务器名称列表,云服务器名之间以逗号分割。 + InstanceAddedList *string `json:"instance_added_list,omitempty"` // 伸缩活动中变化(增加或减少)的云服务器数量。 + ScalingValue *string `json:"scaling_value,omitempty"` // 伸缩活动的描述信息。 + Description *string `json:"description,omitempty"` // 伸缩组当前instance值。 + InstanceValue *int32 `json:"instance_value,omitempty"` // 伸缩活动最终desire值。 + DesireValue *int32 `json:"desire_value,omitempty"` } func (o ScalingActivityLogList) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ScalingActivityLogList struct{}" + } + return strings.Join([]string{"ScalingActivityLogList", string(data)}, " ") } @@ -71,7 +80,7 @@ func GetScalingActivityLogListStatusEnum() ScalingActivityLogListStatusEnum { } func (c ScalingActivityLogListStatus) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ScalingActivityLogListStatus) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_activity_log_v2.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_activity_log_v2.go new file mode 100644 index 0000000000000000000000000000000000000000..e4ec21d73c9db990387706f7e249ee123aa0f1f9 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_activity_log_v2.go @@ -0,0 +1,119 @@ +package model + +import ( + "errors" + "strings" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" +) + +// 伸缩活动日志列表。 +type ScalingActivityLogV2 struct { + // 伸缩活动状态:SUCCESS:成功。FAIL:失败。DOING:伸缩过程中。 + + Status *ScalingActivityLogV2Status `json:"status,omitempty"` + // 伸缩活动触发时间,遵循UTC时间。 + + StartTime *sdktime.SdkTime `json:"start_time,omitempty"` + // 伸缩活动结束时间,遵循UTC时间。 + + EndTime *sdktime.SdkTime `json:"end_time,omitempty"` + // 伸缩活动日志ID。 + + Id *string `json:"id,omitempty"` + // 完成伸缩活动且只被移出弹性伸缩组的云服务器名称列表,云服务信息之间以逗号分隔。 + + InstanceRemovedList *[]ScalingInstance `json:"instance_removed_list,omitempty"` + // 完成伸缩活动且被移出弹性伸缩组并删除的云服务器名称列表,云服务器信息之间以逗号分隔。 + + InstanceDeletedList *[]ScalingInstance `json:"instance_deleted_list,omitempty"` + // 完成伸缩活动且被加入弹性伸缩组的云服务器名称列表,云服务器信息之间以逗号分割。 + + InstanceAddedList *[]ScalingInstance `json:"instance_added_list,omitempty"` + // 弹性伸缩组中伸缩活动失败的云服务器列表。 + + InstanceFailedList *[]ScalingInstance `json:"instance_failed_list,omitempty"` + // 完成伸缩活动且被转入/移出备用状态的云服务器列表 + + InstanceStandbyList *[]ScalingInstance `json:"instance_standby_list,omitempty"` + // 伸缩活动中变化(增加或减少)的云服务器数量。 + + ScalingValue *string `json:"scaling_value,omitempty"` + // 伸缩活动的描述信息。 + + Description *string `json:"description,omitempty"` + // 伸缩组当前instance值。 + + InstanceValue *int32 `json:"instance_value,omitempty"` + // 伸缩活动最终desire值。 + + DesireValue *int32 `json:"desire_value,omitempty"` + // 绑定成功的负载均衡器列表。 + + LbBindSuccessList *[]ModifyLb `json:"lb_bind_success_list,omitempty"` + // 绑定失败的负载均衡器列表。 + + LbBindFailedList *[]ModifyLb `json:"lb_bind_failed_list,omitempty"` + // 解绑成功的负载均衡器列表。 + + LbUnbindSuccessList *[]ModifyLb `json:"lb_unbind_success_list,omitempty"` + // 解绑失败的负载均衡器列表。 + + LbUnbindFailedList *[]ModifyLb `json:"lb_unbind_failed_list,omitempty"` + // 伸缩组活动类型 + + Type *string `json:"type,omitempty"` +} + +func (o ScalingActivityLogV2) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ScalingActivityLogV2 struct{}" + } + + return strings.Join([]string{"ScalingActivityLogV2", string(data)}, " ") +} + +type ScalingActivityLogV2Status struct { + value string +} + +type ScalingActivityLogV2StatusEnum struct { + SUCCESS ScalingActivityLogV2Status + FAIL ScalingActivityLogV2Status + DING ScalingActivityLogV2Status +} + +func GetScalingActivityLogV2StatusEnum() ScalingActivityLogV2StatusEnum { + return ScalingActivityLogV2StatusEnum{ + SUCCESS: ScalingActivityLogV2Status{ + value: "SUCCESS", + }, + FAIL: ScalingActivityLogV2Status{ + value: "FAIL", + }, + DING: ScalingActivityLogV2Status{ + value: "DING", + }, + } +} + +func (c ScalingActivityLogV2Status) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ScalingActivityLogV2Status) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_all_policy_detail.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_all_policy_detail.go new file mode 100644 index 0000000000000000000000000000000000000000..086b7445f8f99a915a3dffb21f62a67c7f7cca56 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_all_policy_detail.go @@ -0,0 +1,181 @@ +package model + +import ( + "errors" + "strings" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" +) + +// 伸缩策略 +type ScalingAllPolicyDetail struct { + // 伸缩策略名称。 + + ScalingPolicyName *string `json:"scaling_policy_name,omitempty"` + // 伸缩策略ID。 + + ScalingPolicyId *string `json:"scaling_policy_id,omitempty"` + // 伸缩资源ID。 + + ScalingResourceId *string `json:"scaling_resource_id,omitempty"` + // 伸缩资源类型。伸缩组:SCALING_GROUP。带宽:BANDWIDTH。 + + ScalingResourceType *ScalingAllPolicyDetailScalingResourceType `json:"scaling_resource_type,omitempty"` + // 伸缩策略状态。INSERVICE:使用中。PAUSED:停止。EXECUTING:执行中。 + + PolicyStatus *ScalingAllPolicyDetailPolicyStatus `json:"policy_status,omitempty"` + // 伸缩策略类型:ALARM:告警策略,此时alarm_id有返回,scheduled_policy不会返回。SCHEDULED:定时策略,此时alarm_id不会返回,scheduled_policy有返回,并且recurrence_type、recurrence_value、start_time和end_time不会返回。RECURRENCE:周期策略,此时alarm_id不会返回,scheduled_policy有返回,并且recurrence_type、recurrence_value、start_time和end_time有返回。 + + ScalingPolicyType *ScalingAllPolicyDetailScalingPolicyType `json:"scaling_policy_type,omitempty"` + // 告警ID。 + + AlarmId *string `json:"alarm_id,omitempty"` + + ScheduledPolicy *ScheduledPolicy `json:"scheduled_policy,omitempty"` + + ScalingPolicyAction *ScalingPolicyActionV2 `json:"scaling_policy_action,omitempty"` + // 冷却时间,取值范围0-86400,默认为300,单位是秒。 + + CoolDownTime *int32 `json:"cool_down_time,omitempty"` + // 创建伸缩策略时间,遵循UTC时间 + + CreateTime *sdktime.SdkTime `json:"create_time,omitempty"` + + MetaData *ScalingPolicyV2MetaData `json:"meta_data,omitempty"` + // 伸缩策略描述(1-256个字符) + + Description *string `json:"description,omitempty"` +} + +func (o ScalingAllPolicyDetail) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ScalingAllPolicyDetail struct{}" + } + + return strings.Join([]string{"ScalingAllPolicyDetail", string(data)}, " ") +} + +type ScalingAllPolicyDetailScalingResourceType struct { + value string +} + +type ScalingAllPolicyDetailScalingResourceTypeEnum struct { + SCALING_GROUP ScalingAllPolicyDetailScalingResourceType + BANDWIDTH ScalingAllPolicyDetailScalingResourceType +} + +func GetScalingAllPolicyDetailScalingResourceTypeEnum() ScalingAllPolicyDetailScalingResourceTypeEnum { + return ScalingAllPolicyDetailScalingResourceTypeEnum{ + SCALING_GROUP: ScalingAllPolicyDetailScalingResourceType{ + value: "SCALING_GROUP", + }, + BANDWIDTH: ScalingAllPolicyDetailScalingResourceType{ + value: "BANDWIDTH", + }, + } +} + +func (c ScalingAllPolicyDetailScalingResourceType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ScalingAllPolicyDetailScalingResourceType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type ScalingAllPolicyDetailPolicyStatus struct { + value string +} + +type ScalingAllPolicyDetailPolicyStatusEnum struct { + INSERVICE ScalingAllPolicyDetailPolicyStatus + PAUSED ScalingAllPolicyDetailPolicyStatus + EXECUTING ScalingAllPolicyDetailPolicyStatus +} + +func GetScalingAllPolicyDetailPolicyStatusEnum() ScalingAllPolicyDetailPolicyStatusEnum { + return ScalingAllPolicyDetailPolicyStatusEnum{ + INSERVICE: ScalingAllPolicyDetailPolicyStatus{ + value: "INSERVICE", + }, + PAUSED: ScalingAllPolicyDetailPolicyStatus{ + value: "PAUSED", + }, + EXECUTING: ScalingAllPolicyDetailPolicyStatus{ + value: "EXECUTING", + }, + } +} + +func (c ScalingAllPolicyDetailPolicyStatus) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ScalingAllPolicyDetailPolicyStatus) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type ScalingAllPolicyDetailScalingPolicyType struct { + value string +} + +type ScalingAllPolicyDetailScalingPolicyTypeEnum struct { + ALARM ScalingAllPolicyDetailScalingPolicyType + SCHEDULED ScalingAllPolicyDetailScalingPolicyType + RECURRENCE ScalingAllPolicyDetailScalingPolicyType +} + +func GetScalingAllPolicyDetailScalingPolicyTypeEnum() ScalingAllPolicyDetailScalingPolicyTypeEnum { + return ScalingAllPolicyDetailScalingPolicyTypeEnum{ + ALARM: ScalingAllPolicyDetailScalingPolicyType{ + value: "ALARM", + }, + SCHEDULED: ScalingAllPolicyDetailScalingPolicyType{ + value: "SCHEDULED", + }, + RECURRENCE: ScalingAllPolicyDetailScalingPolicyType{ + value: "RECURRENCE", + }, + } +} + +func (c ScalingAllPolicyDetailScalingPolicyType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ScalingAllPolicyDetailScalingPolicyType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_configuration.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_configuration.go index 919ff2d692f3a6b4cb270dbdf4b7b4b84d66327d..8a997daeb301c119a218b98d524b47e45c59b7b1 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_configuration.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_configuration.go @@ -1,15 +1,8 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -17,17 +10,29 @@ import ( // 伸缩配置详情 type ScalingConfiguration struct { // 伸缩配置ID,全局唯一。 + ScalingConfigurationId *string `json:"scaling_configuration_id,omitempty"` // 租户ID。 + Tenant *string `json:"tenant,omitempty"` // 伸缩配置名称。 - ScalingConfigurationName *string `json:"scaling_configuration_name,omitempty"` - InstanceConfig *InstanceConfigResult `json:"instance_config,omitempty"` + + ScalingConfigurationName *string `json:"scaling_configuration_name,omitempty"` + + InstanceConfig *InstanceConfigResult `json:"instance_config,omitempty"` // 创建伸缩配置的时间,遵循UTC时间。 + CreateTime *sdktime.SdkTime `json:"create_time,omitempty"` + // 绑定该伸缩配置的伸缩组ID + + ScalingGroupId *string `json:"scaling_group_id,omitempty"` } func (o ScalingConfiguration) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ScalingConfiguration struct{}" + } + return strings.Join([]string{"ScalingConfiguration", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_group_instance.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_group_instance.go index abef2cedacd3806047816f0ff48e1c2353043f42..469d903dc0932d0a697064323b215c45d70f40db 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_group_instance.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_group_instance.go @@ -1,46 +1,54 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" "errors" + "strings" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" - "strings" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" ) // 伸缩组实例详情 type ScalingGroupInstance struct { // 实例ID。 + InstanceId *string `json:"instance_id,omitempty"` // 实例名称。 + InstanceName *string `json:"instance_name,omitempty"` // 实例所在伸缩组ID。 + ScalingGroupId *string `json:"scaling_group_id,omitempty"` // 实例所在伸缩组名称。 + ScalingGroupName *string `json:"scaling_group_name,omitempty"` // 实例在伸缩组中的实力状态周期:INSERVICE: 正在使用。PENDING:正在加入伸缩组。REMOVING:正在移出伸缩组。PENDING_WAIT:正在加入伸缩组:等待。REMOVING_WAIT:正在移出伸缩组:等待。 + LifeCycleState *ScalingGroupInstanceLifeCycleState `json:"life_cycle_state,omitempty"` // 实例健康状态:INITAILIZING:初始化;NORMAL:正常;ERROR:错误。 + HealthStatus *ScalingGroupInstanceHealthStatus `json:"health_status,omitempty"` // 伸缩配置名称。如果返回为空,表示伸缩配置已经被删除。如果返回MANNUAL_ADD,表示实例为手动加入。 + ScalingConfigurationName *string `json:"scaling_configuration_name,omitempty"` // 伸缩配置ID。 + ScalingConfigurationId *string `json:"scaling_configuration_id,omitempty"` // 实例加入伸缩组的时间,遵循UTC时间。 + CreateTime *sdktime.SdkTime `json:"create_time,omitempty"` // 实例的实例保护属性。 + ProtectFromScalingDown *bool `json:"protect_from_scaling_down,omitempty"` } func (o ScalingGroupInstance) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ScalingGroupInstance struct{}" + } + return strings.Join([]string{"ScalingGroupInstance", string(data)}, " ") } @@ -77,7 +85,7 @@ func GetScalingGroupInstanceLifeCycleStateEnum() ScalingGroupInstanceLifeCycleSt } func (c ScalingGroupInstanceLifeCycleState) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ScalingGroupInstanceLifeCycleState) UnmarshalJSON(b []byte) error { @@ -119,7 +127,7 @@ func GetScalingGroupInstanceHealthStatusEnum() ScalingGroupInstanceHealthStatusE } func (c ScalingGroupInstanceHealthStatus) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ScalingGroupInstanceHealthStatus) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_groups.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_groups.go index 23cd83fcf90ee06919f0e7d620e726a2a1fe1f00..8a2fd3dc59781ce9729d40d5d153172226e9d0a1 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_groups.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_groups.go @@ -1,80 +1,117 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" "errors" + "strings" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" - "strings" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" ) // 伸缩组详情 type ScalingGroups struct { // 伸缩组名称。 + ScalingGroupName *string `json:"scaling_group_name,omitempty"` // 伸缩组ID。 + ScalingGroupId *string `json:"scaling_group_id,omitempty"` // 伸缩组状态。 + ScalingGroupStatus *ScalingGroupsScalingGroupStatus `json:"scaling_group_status,omitempty"` // 伸缩配置ID。 + ScalingConfigurationId *string `json:"scaling_configuration_id,omitempty"` // 伸缩配置名称。 + ScalingConfigurationName *string `json:"scaling_configuration_name,omitempty"` // 伸缩组中当前实例数。 + CurrentInstanceNumber *int32 `json:"current_instance_number,omitempty"` // 伸缩组期望实例数。 + DesireInstanceNumber *int32 `json:"desire_instance_number,omitempty"` // 伸缩组最小实例数。 + MinInstanceNumber *int32 `json:"min_instance_number,omitempty"` // 伸缩组最大实例数 + MaxInstanceNumber *int32 `json:"max_instance_number,omitempty"` // 冷却时间,单位是秒。 + CoolDownTime *int32 `json:"cool_down_time,omitempty"` // 经典型负载均衡监听器ID,多个负载均衡监听器ID以逗号分隔。 + LbListenerId *string `json:"lb_listener_id,omitempty"` // 增强型负载均衡器信息,该参数为预留字段。 + LbaasListeners *[]LbaasListenersResult `json:"lbaas_listeners,omitempty"` // 可用分区信息 + AvailableZones *[]string `json:"available_zones,omitempty"` // 网络信息 - Networks *[]Networks `json:"networks,omitempty"` + + Networks *[]NetworksResult `json:"networks,omitempty"` // 安全组信息 + SecurityGroups *[]SecurityGroupsResult `json:"security_groups,omitempty"` // 创建伸缩组时间,遵循UTC时间。 + CreateTime *sdktime.SdkTime `json:"create_time,omitempty"` // 伸缩组所在的VPC ID。 + VpcId *string `json:"vpc_id,omitempty"` // 伸缩组详情。 + Detail *string `json:"detail,omitempty"` // 伸缩组伸缩标志。 + IsScaling *bool `json:"is_scaling,omitempty"` // 健康检查方式。 + HealthPeriodicAuditMethod *ScalingGroupsHealthPeriodicAuditMethod `json:"health_periodic_audit_method,omitempty"` // 健康检查的间隔时间。 - HealthPeriodicAuditTime *ScalingGroupsHealthPeriodicAuditTime `json:"health_periodic_audit_time,omitempty"` + + HealthPeriodicAuditTime *int32 `json:"health_periodic_audit_time,omitempty"` // 健康状况检查宽限期。 + HealthPeriodicAuditGracePeriod *int32 `json:"health_periodic_audit_grace_period,omitempty"` // 移除策略。 + InstanceTerminatePolicy *ScalingGroupsInstanceTerminatePolicy `json:"instance_terminate_policy,omitempty"` // 通知方式:EMAIL为发送邮件通知。 + Notifications *[]string `json:"notifications,omitempty"` // 删除云服务器是否删除云服务器绑定的弹性IP。 + DeletePublicip *bool `json:"delete_publicip,omitempty"` + // 删除云服务器是否删除云服务器绑定的数据盘 + + DeleteVolume *bool `json:"delete_volume,omitempty"` // 该参数为预留字段 + CloudLocationId *string `json:"cloud_location_id,omitempty"` // 企业项目ID + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` + // 伸缩组活动类型 + + ActivityType *string `json:"activity_type,omitempty"` + // 伸缩组扩缩容时目标AZ选择的优先级策略 + + MultiAzPriorityPolicy *string `json:"multi_az_priority_policy,omitempty"` + // 伸缩组描述信息 + + Description *string `json:"description,omitempty"` } func (o ScalingGroups) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ScalingGroups struct{}" + } + return strings.Join([]string{"ScalingGroups", string(data)}, " ") } @@ -111,7 +148,7 @@ func GetScalingGroupsScalingGroupStatusEnum() ScalingGroupsScalingGroupStatusEnu } func (c ScalingGroupsScalingGroupStatus) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ScalingGroupsScalingGroupStatus) UnmarshalJSON(b []byte) error { @@ -149,7 +186,7 @@ func GetScalingGroupsHealthPeriodicAuditMethodEnum() ScalingGroupsHealthPeriodic } func (c ScalingGroupsHealthPeriodicAuditMethod) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ScalingGroupsHealthPeriodicAuditMethod) UnmarshalJSON(b []byte) error { @@ -166,55 +203,6 @@ func (c *ScalingGroupsHealthPeriodicAuditMethod) UnmarshalJSON(b []byte) error { } } -type ScalingGroupsHealthPeriodicAuditTime struct { - value int32 -} - -type ScalingGroupsHealthPeriodicAuditTimeEnum struct { - E_0 ScalingGroupsHealthPeriodicAuditTime - E_1 ScalingGroupsHealthPeriodicAuditTime - E_5 ScalingGroupsHealthPeriodicAuditTime - E_15 ScalingGroupsHealthPeriodicAuditTime - E_60 ScalingGroupsHealthPeriodicAuditTime - E_180 ScalingGroupsHealthPeriodicAuditTime -} - -func GetScalingGroupsHealthPeriodicAuditTimeEnum() ScalingGroupsHealthPeriodicAuditTimeEnum { - return ScalingGroupsHealthPeriodicAuditTimeEnum{ - E_0: ScalingGroupsHealthPeriodicAuditTime{ - value: 0, - }, E_1: ScalingGroupsHealthPeriodicAuditTime{ - value: 1, - }, E_5: ScalingGroupsHealthPeriodicAuditTime{ - value: 5, - }, E_15: ScalingGroupsHealthPeriodicAuditTime{ - value: 15, - }, E_60: ScalingGroupsHealthPeriodicAuditTime{ - value: 60, - }, E_180: ScalingGroupsHealthPeriodicAuditTime{ - value: 180, - }, - } -} - -func (c ScalingGroupsHealthPeriodicAuditTime) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) -} - -func (c *ScalingGroupsHealthPeriodicAuditTime) UnmarshalJSON(b []byte) error { - myConverter := converter.StringConverterFactory("int32") - if myConverter != nil { - val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) - if err == nil { - c.value = val.(int32) - return nil - } - return err - } else { - return errors.New("convert enum data to int32 error") - } -} - type ScalingGroupsInstanceTerminatePolicy struct { value string } @@ -244,7 +232,7 @@ func GetScalingGroupsInstanceTerminatePolicyEnum() ScalingGroupsInstanceTerminat } func (c ScalingGroupsInstanceTerminatePolicy) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ScalingGroupsInstanceTerminatePolicy) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_instance.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_instance.go new file mode 100644 index 0000000000000000000000000000000000000000..0c10d0343f43284b75d47016e680da09c496c312 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_instance.go @@ -0,0 +1,35 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// 伸缩实例。 +type ScalingInstance struct { + // 云服务器名称。 + + InstanceName *string `json:"instance_name,omitempty"` + // 云服务器id。 + + InstanceId *string `json:"instance_id,omitempty"` + // 实例伸缩失败原因。 + + FailedReason *string `json:"failed_reason,omitempty"` + // 实例伸缩失败详情。 + + FailedDetails *string `json:"failed_details,omitempty"` + // 实例配置信息。 + + InstanceConfig *string `json:"instance_config,omitempty"` +} + +func (o ScalingInstance) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ScalingInstance struct{}" + } + + return strings.Join([]string{"ScalingInstance", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_policies_v2.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_policies_v2.go new file mode 100644 index 0000000000000000000000000000000000000000..8e4d6c7d6a93e048fac1efe45cd6a33a0abefba5 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_policies_v2.go @@ -0,0 +1,181 @@ +package model + +import ( + "errors" + "strings" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" +) + +// 伸缩策略 +type ScalingPoliciesV2 struct { + // 伸缩策略名称。 + + ScalingPolicyName *string `json:"scaling_policy_name,omitempty"` + // 伸缩策略ID。 + + ScalingPolicyId *string `json:"scaling_policy_id,omitempty"` + // 伸缩资源ID。 + + ScalingResourceId *string `json:"scaling_resource_id,omitempty"` + // 伸缩资源类型。伸缩组:SCALING_GROUP。带宽:BANDWIDTH。 + + ScalingResourceType *ScalingPoliciesV2ScalingResourceType `json:"scaling_resource_type,omitempty"` + // 伸缩策略状态。INSERVICE:使用中。PAUSED:停止。EXECUTING:执行中。 + + PolicyStatus *ScalingPoliciesV2PolicyStatus `json:"policy_status,omitempty"` + // 伸缩策略类型:ALARM:告警策略,此时alarm_id有返回,scheduled_policy不会返回。SCHEDULED:定时策略,此时alarm_id不会返回,scheduled_policy有返回,并且recurrence_type、recurrence_value、start_time和end_time不会返回。RECURRENCE:周期策略,此时alarm_id不会返回,scheduled_policy有返回,并且recurrence_type、recurrence_value、start_time和end_time有返回。 + + ScalingPolicyType *ScalingPoliciesV2ScalingPolicyType `json:"scaling_policy_type,omitempty"` + // 告警ID。 + + AlarmId *string `json:"alarm_id,omitempty"` + + ScheduledPolicy *ScheduledPolicy `json:"scheduled_policy,omitempty"` + + ScalingPolicyAction *ScalingPolicyActionV2 `json:"scaling_policy_action,omitempty"` + // 冷却时间,取值范围0-86400,默认为300,单位是秒。 + + CoolDownTime *int32 `json:"cool_down_time,omitempty"` + // 创建伸缩策略时间,遵循UTC时间 + + CreateTime *sdktime.SdkTime `json:"create_time,omitempty"` + + MetaData *ScalingPolicyV2MetaData `json:"meta_data,omitempty"` + // 伸缩策略描述(1-256个字符) + + Description *string `json:"description,omitempty"` +} + +func (o ScalingPoliciesV2) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ScalingPoliciesV2 struct{}" + } + + return strings.Join([]string{"ScalingPoliciesV2", string(data)}, " ") +} + +type ScalingPoliciesV2ScalingResourceType struct { + value string +} + +type ScalingPoliciesV2ScalingResourceTypeEnum struct { + SCALING_GROUP ScalingPoliciesV2ScalingResourceType + BANDWIDTH ScalingPoliciesV2ScalingResourceType +} + +func GetScalingPoliciesV2ScalingResourceTypeEnum() ScalingPoliciesV2ScalingResourceTypeEnum { + return ScalingPoliciesV2ScalingResourceTypeEnum{ + SCALING_GROUP: ScalingPoliciesV2ScalingResourceType{ + value: "SCALING_GROUP", + }, + BANDWIDTH: ScalingPoliciesV2ScalingResourceType{ + value: "BANDWIDTH", + }, + } +} + +func (c ScalingPoliciesV2ScalingResourceType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ScalingPoliciesV2ScalingResourceType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type ScalingPoliciesV2PolicyStatus struct { + value string +} + +type ScalingPoliciesV2PolicyStatusEnum struct { + INSERVICE ScalingPoliciesV2PolicyStatus + PAUSED ScalingPoliciesV2PolicyStatus + EXECUTING ScalingPoliciesV2PolicyStatus +} + +func GetScalingPoliciesV2PolicyStatusEnum() ScalingPoliciesV2PolicyStatusEnum { + return ScalingPoliciesV2PolicyStatusEnum{ + INSERVICE: ScalingPoliciesV2PolicyStatus{ + value: "INSERVICE", + }, + PAUSED: ScalingPoliciesV2PolicyStatus{ + value: "PAUSED", + }, + EXECUTING: ScalingPoliciesV2PolicyStatus{ + value: "EXECUTING", + }, + } +} + +func (c ScalingPoliciesV2PolicyStatus) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ScalingPoliciesV2PolicyStatus) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type ScalingPoliciesV2ScalingPolicyType struct { + value string +} + +type ScalingPoliciesV2ScalingPolicyTypeEnum struct { + ALARM ScalingPoliciesV2ScalingPolicyType + SCHEDULED ScalingPoliciesV2ScalingPolicyType + RECURRENCE ScalingPoliciesV2ScalingPolicyType +} + +func GetScalingPoliciesV2ScalingPolicyTypeEnum() ScalingPoliciesV2ScalingPolicyTypeEnum { + return ScalingPoliciesV2ScalingPolicyTypeEnum{ + ALARM: ScalingPoliciesV2ScalingPolicyType{ + value: "ALARM", + }, + SCHEDULED: ScalingPoliciesV2ScalingPolicyType{ + value: "SCHEDULED", + }, + RECURRENCE: ScalingPoliciesV2ScalingPolicyType{ + value: "RECURRENCE", + }, + } +} + +func (c ScalingPoliciesV2ScalingPolicyType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ScalingPoliciesV2ScalingPolicyType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_policy_action.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_policy_action_v1.go similarity index 52% rename from cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_policy_action.go rename to cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_policy_action_v1.go index e3a621d99455dc22949f1d13ed1114c11d4b1904..b303b7a4dfbe8ec733494514cdebfeb908287fe0 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_policy_action.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_policy_action_v1.go @@ -1,67 +1,70 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // 策略执行具体动作 -type ScalingPolicyAction struct { +type ScalingPolicyActionV1 struct { // 操作选项。ADD:添加实例。REMOVE/REDUCE:移除实例。SET:设置实例数为 - Operation *ScalingPolicyActionOperation `json:"operation,omitempty"` + + Operation *ScalingPolicyActionV1Operation `json:"operation,omitempty"` // 操作实例个数,默认为1。配置参数时,instance_number和instance_percentage参数只能选其中一个进行配置。 + InstanceNumber *int32 `json:"instance_number,omitempty"` // 操作实例百分比,将当前组容量增加、减少或设置为指定的百分比。当instance_number和instance_percentage参数均无配置时,则操作实例个数为1。配置参数时,instance_number和instance_percentage参数只能选其中一个进行配置。 + InstancePercentage *int32 `json:"instance_percentage,omitempty"` } -func (o ScalingPolicyAction) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"ScalingPolicyAction", string(data)}, " ") +func (o ScalingPolicyActionV1) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ScalingPolicyActionV1 struct{}" + } + + return strings.Join([]string{"ScalingPolicyActionV1", string(data)}, " ") } -type ScalingPolicyActionOperation struct { +type ScalingPolicyActionV1Operation struct { value string } -type ScalingPolicyActionOperationEnum struct { - ADD ScalingPolicyActionOperation - REMOVE ScalingPolicyActionOperation - REDUCE ScalingPolicyActionOperation - SET ScalingPolicyActionOperation +type ScalingPolicyActionV1OperationEnum struct { + ADD ScalingPolicyActionV1Operation + REMOVE ScalingPolicyActionV1Operation + REDUCE ScalingPolicyActionV1Operation + SET ScalingPolicyActionV1Operation } -func GetScalingPolicyActionOperationEnum() ScalingPolicyActionOperationEnum { - return ScalingPolicyActionOperationEnum{ - ADD: ScalingPolicyActionOperation{ +func GetScalingPolicyActionV1OperationEnum() ScalingPolicyActionV1OperationEnum { + return ScalingPolicyActionV1OperationEnum{ + ADD: ScalingPolicyActionV1Operation{ value: "ADD", }, - REMOVE: ScalingPolicyActionOperation{ + REMOVE: ScalingPolicyActionV1Operation{ value: "REMOVE", }, - REDUCE: ScalingPolicyActionOperation{ + REDUCE: ScalingPolicyActionV1Operation{ value: "REDUCE", }, - SET: ScalingPolicyActionOperation{ + SET: ScalingPolicyActionV1Operation{ value: "SET", }, } } -func (c ScalingPolicyActionOperation) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) +func (c ScalingPolicyActionV1Operation) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) } -func (c *ScalingPolicyActionOperation) UnmarshalJSON(b []byte) error { +func (c *ScalingPolicyActionV1Operation) UnmarshalJSON(b []byte) error { myConverter := converter.StringConverterFactory("string") if myConverter != nil { val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_policy_action_v2.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_policy_action_v2.go new file mode 100644 index 0000000000000000000000000000000000000000..8ead9b86bb36600e4b5299c8a0cf600cb325830e --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_policy_action_v2.go @@ -0,0 +1,82 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// 策略执行具体动作。 +type ScalingPolicyActionV2 struct { + // 操作选项。ADD:添加实例。REMOVE/REDUCE:移除实例。SET:设置实例数为 + + Operation *ScalingPolicyActionV2Operation `json:"operation,omitempty"` + // 操作大小,取值范围为0到300的整数,默认为1。当scaling_resource_type为SCALING_GROUP时,size为实例个数,取值范围为0-300的整数,默认为1。当scaling_resource_type为BANDWIDTH时,size表示带宽大小,单位为Mbit/s,取值范围为1到300的整数,默认为1。当scaling_resource_type为SCALING_GROUP时,size和percentage参数只能选其中一个进行配置。 + + Size *int32 `json:"size,omitempty"` + // 操作百分比,取值为0到20000的整数。当scaling_resource_type为SCALING_GROUP时,size和instance_percentage参数均无配置,则size默认为1。当scaling_resource_type为BANDWIDTH时,不支持配置instance_percentage参数。 + + Percentage *int32 `json:"percentage,omitempty"` + // 操作限制。当scaling_resource_type为BANDWIDTH,且operation不为SET时,limits参数生效,单位为Mbit/s。此时,当operation为ADD时,limits表示带宽可调整的上限;当operation为REDUCE时,limits表示带宽可调整的下限。 + + Limits *int32 `json:"limits,omitempty"` +} + +func (o ScalingPolicyActionV2) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ScalingPolicyActionV2 struct{}" + } + + return strings.Join([]string{"ScalingPolicyActionV2", string(data)}, " ") +} + +type ScalingPolicyActionV2Operation struct { + value string +} + +type ScalingPolicyActionV2OperationEnum struct { + ADD ScalingPolicyActionV2Operation + REMOVE ScalingPolicyActionV2Operation + REDUCE ScalingPolicyActionV2Operation + SET ScalingPolicyActionV2Operation +} + +func GetScalingPolicyActionV2OperationEnum() ScalingPolicyActionV2OperationEnum { + return ScalingPolicyActionV2OperationEnum{ + ADD: ScalingPolicyActionV2Operation{ + value: "ADD", + }, + REMOVE: ScalingPolicyActionV2Operation{ + value: "REMOVE", + }, + REDUCE: ScalingPolicyActionV2Operation{ + value: "REDUCE", + }, + SET: ScalingPolicyActionV2Operation{ + value: "SET", + }, + } +} + +func (c ScalingPolicyActionV2Operation) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ScalingPolicyActionV2Operation) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_policy_execute_log_list.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_policy_execute_log_list.go index b492c46da50ca4f5d643baafc697fcf0e62dfd8f..f8e819e6fd1d28bcaaa47bb210dfc467883990ed 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_policy_execute_log_list.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_policy_execute_log_list.go @@ -1,55 +1,69 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" - "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" + "strings" ) // 伸缩策略执行日志列表 type ScalingPolicyExecuteLogList struct { // 策略执行状态:SUCCESS:成功。FAIL:失败。EXECUTING:执行中 + Status *ScalingPolicyExecuteLogListStatus `json:"status,omitempty"` // 策略执行失败原因。 + FailedReason *string `json:"failed_reason,omitempty"` // 策略执行类型:SCHEDULE:自动触发(定时)。RECURRENCE:自动触发(周期)。ALARM:自动警告(告警)。MANUAL:手动触发 + ExecuteType *ScalingPolicyExecuteLogListExecuteType `json:"execute_type,omitempty"` // 策略执行时间,遵循UTC时间。 - ExecuteTime *sdktime.SdkTime `json:"execute_time,omitempty"` + + ExecuteTime *string `json:"execute_time,omitempty"` // 策略执行日志ID。 + Id *string `json:"id,omitempty"` // 租户id。 - ProjectId *string `json:"project_id,omitempty"` + + TenantId *string `json:"tenant_id,omitempty"` // 伸缩策略ID。 + ScalingPolicyId *string `json:"scaling_policy_id,omitempty"` // 伸缩资源类型:伸缩组:SCALING_GROUP 带宽:BANDWIDTH + ScalingResourceType *ScalingPolicyExecuteLogListScalingResourceType `json:"scaling_resource_type,omitempty"` // 伸缩资源ID。 + ScalingResourceId *string `json:"scaling_resource_id,omitempty"` // 伸缩原始值。 + OldValue *string `json:"old_value,omitempty"` // 伸缩目标值。 + DesireValue *string `json:"desire_value,omitempty"` // 操作限制。当scaling_resource_type为BANDWIDTH时,且operation不为SET时,limit_value生效,单位为Mbit/s。此时,当operation为ADD时,limit_value表示最高带宽限制;当operation为REDUCE时,limit_value表示最低带宽限制。 - LimitValue *int32 `json:"limit_value,omitempty"` + + LimitValue *string `json:"limit_value,omitempty"` // 策略执行任务类型。ADD:添加。REMOVE:减少。SET:设置为 + Type *ScalingPolicyExecuteLogListType `json:"type,omitempty"` // 策略执行动作包含的具体任务 + JobRecords *[]JobRecords `json:"job_records,omitempty"` - MetaData *MetaData `json:"meta_data,omitempty"` + + MetaData *EipMetaData `json:"meta_data,omitempty"` } func (o ScalingPolicyExecuteLogList) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ScalingPolicyExecuteLogList struct{}" + } + return strings.Join([]string{"ScalingPolicyExecuteLogList", string(data)}, " ") } @@ -78,7 +92,7 @@ func GetScalingPolicyExecuteLogListStatusEnum() ScalingPolicyExecuteLogListStatu } func (c ScalingPolicyExecuteLogListStatus) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ScalingPolicyExecuteLogListStatus) UnmarshalJSON(b []byte) error { @@ -124,7 +138,7 @@ func GetScalingPolicyExecuteLogListExecuteTypeEnum() ScalingPolicyExecuteLogList } func (c ScalingPolicyExecuteLogListExecuteType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ScalingPolicyExecuteLogListExecuteType) UnmarshalJSON(b []byte) error { @@ -162,7 +176,7 @@ func GetScalingPolicyExecuteLogListScalingResourceTypeEnum() ScalingPolicyExecut } func (c ScalingPolicyExecuteLogListScalingResourceType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ScalingPolicyExecuteLogListScalingResourceType) UnmarshalJSON(b []byte) error { @@ -204,7 +218,7 @@ func GetScalingPolicyExecuteLogListTypeEnum() ScalingPolicyExecuteLogListTypeEnu } func (c ScalingPolicyExecuteLogListType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ScalingPolicyExecuteLogListType) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_policy_v2_meta_data.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_policy_v2_meta_data.go new file mode 100644 index 0000000000000000000000000000000000000000..d2f32332602dec85a0dedc01d4221d568a1ebc2d --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_policy_v2_meta_data.go @@ -0,0 +1,29 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// 附件信息 +type ScalingPolicyV2MetaData struct { + // 伸缩带宽策略中带宽对应的共享类型 + + MetadataBandwidthShareType *string `json:"metadata_bandwidth_share_type,omitempty"` + // 伸缩带宽策略中带宽对应的EIP的ID + + MetadataEipId *string `json:"metadata_eip_id,omitempty"` + // 伸缩带宽策略中带宽对应的EIP地址 + + MetadataEipAddress *string `json:"metadata_eip_address,omitempty"` +} + +func (o ScalingPolicyV2MetaData) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ScalingPolicyV2MetaData struct{}" + } + + return strings.Join([]string{"ScalingPolicyV2MetaData", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_policy_detail.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_v1_policy_detail.go similarity index 55% rename from cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_policy_detail.go rename to cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_v1_policy_detail.go index 18dccadb0a76aa406956e27af6e0196be521415e..ec86409e738df01d58122d676947753e01ffc328 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_policy_detail.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_v1_policy_detail.go @@ -1,74 +1,85 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" - "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" + "strings" ) // 伸缩策略 -type ScalingPolicyDetail struct { +type ScalingV1PolicyDetail struct { // 伸缩组ID。 + ScalingGroupId *string `json:"scaling_group_id,omitempty"` // 伸缩策略名称。 + ScalingPolicyName *string `json:"scaling_policy_name,omitempty"` // 伸缩策略ID。 + ScalingPolicyId *string `json:"scaling_policy_id,omitempty"` + // 伸缩策略状态 INSERVICE:已启用 PAUSED:已停用 EXECUTING:执行中 + + PolicyStatus *string `json:"policy_status,omitempty"` // 伸缩策略类型:ALARM:告警策略,此时alarm_id有返回,scheduled_policy不会返回。SCHEDULED:定时策略,此时alarm_id不会返回,scheduled_policy有返回,并且recurrence_type、recurrence_value、start_time和end_time不会返回。RECURRENCE:周期策略,此时alarm_id不会返回,scheduled_policy有返回,并且recurrence_type、recurrence_value、start_time和end_time有返回。 - ScalingPolicyType *ScalingPolicyDetailScalingPolicyType `json:"scaling_policy_type,omitempty"` + + ScalingPolicyType *ScalingV1PolicyDetailScalingPolicyType `json:"scaling_policy_type,omitempty"` // 告警ID,即告警规则的ID,当scaling_policy_type为ALARM时该项必选,此时scheduled_policy不生效。创建告警策略成功后,会自动为该告警ID对应的告警规则的alarm_actions字段增加类型为autoscaling的告警触发动作。告警ID通过查询云监控告警规则列表获取,详见《云监控API参考》的“查询告警规则列表”。 - AlarmId *string `json:"alarm_id,omitempty"` - ScheduledPolicy *ScheduledPolicy `json:"scheduled_policy,omitempty"` - ScalingPolicyAction *ScalingPolicyAction `json:"scaling_policy_action,omitempty"` + + AlarmId *string `json:"alarm_id,omitempty"` + + ScheduledPolicy *ScheduledPolicy `json:"scheduled_policy,omitempty"` + + ScalingPolicyAction *ScalingPolicyActionV1 `json:"scaling_policy_action,omitempty"` // 冷却时间,取值范围0-86400,默认为300,单位是秒。 + CoolDownTime *int32 `json:"cool_down_time,omitempty"` // 创建伸缩策略时间,遵循UTC时间。 - CreateTime *sdktime.SdkTime `json:"create_time,omitempty"` + + CreateTime *string `json:"create_time,omitempty"` } -func (o ScalingPolicyDetail) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"ScalingPolicyDetail", string(data)}, " ") +func (o ScalingV1PolicyDetail) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ScalingV1PolicyDetail struct{}" + } + + return strings.Join([]string{"ScalingV1PolicyDetail", string(data)}, " ") } -type ScalingPolicyDetailScalingPolicyType struct { +type ScalingV1PolicyDetailScalingPolicyType struct { value string } -type ScalingPolicyDetailScalingPolicyTypeEnum struct { - ALARM ScalingPolicyDetailScalingPolicyType - SCHEDULED ScalingPolicyDetailScalingPolicyType - RECURRENCE ScalingPolicyDetailScalingPolicyType +type ScalingV1PolicyDetailScalingPolicyTypeEnum struct { + ALARM ScalingV1PolicyDetailScalingPolicyType + SCHEDULED ScalingV1PolicyDetailScalingPolicyType + RECURRENCE ScalingV1PolicyDetailScalingPolicyType } -func GetScalingPolicyDetailScalingPolicyTypeEnum() ScalingPolicyDetailScalingPolicyTypeEnum { - return ScalingPolicyDetailScalingPolicyTypeEnum{ - ALARM: ScalingPolicyDetailScalingPolicyType{ +func GetScalingV1PolicyDetailScalingPolicyTypeEnum() ScalingV1PolicyDetailScalingPolicyTypeEnum { + return ScalingV1PolicyDetailScalingPolicyTypeEnum{ + ALARM: ScalingV1PolicyDetailScalingPolicyType{ value: "ALARM", }, - SCHEDULED: ScalingPolicyDetailScalingPolicyType{ + SCHEDULED: ScalingV1PolicyDetailScalingPolicyType{ value: "SCHEDULED", }, - RECURRENCE: ScalingPolicyDetailScalingPolicyType{ + RECURRENCE: ScalingV1PolicyDetailScalingPolicyType{ value: "RECURRENCE", }, } } -func (c ScalingPolicyDetailScalingPolicyType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) +func (c ScalingV1PolicyDetailScalingPolicyType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) } -func (c *ScalingPolicyDetailScalingPolicyType) UnmarshalJSON(b []byte) error { +func (c *ScalingV1PolicyDetailScalingPolicyType) UnmarshalJSON(b []byte) error { myConverter := converter.StringConverterFactory("string") if myConverter != nil { val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_v2_policy_detail.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_v2_policy_detail.go new file mode 100644 index 0000000000000000000000000000000000000000..786bb61b9891589a85cc161fe6f88e94dcad64c4 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scaling_v2_policy_detail.go @@ -0,0 +1,181 @@ +package model + +import ( + "errors" + "strings" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" +) + +// 伸缩策略详情 +type ScalingV2PolicyDetail struct { + // 伸缩策略名称。 + + ScalingPolicyName *string `json:"scaling_policy_name,omitempty"` + // 伸缩策略ID。 + + ScalingPolicyId *string `json:"scaling_policy_id,omitempty"` + // 伸缩资源ID。 + + ScalingResourceId *string `json:"scaling_resource_id,omitempty"` + // 伸缩资源类型。伸缩组:SCALING_GROUP。带宽:BANDWIDTH。 + + ScalingResourceType *ScalingV2PolicyDetailScalingResourceType `json:"scaling_resource_type,omitempty"` + // 伸缩策略状态。INSERVICE:使用中。PAUSED:停止。EXECUTING:执行中。 + + PolicyStatus *ScalingV2PolicyDetailPolicyStatus `json:"policy_status,omitempty"` + // 伸缩策略类型:ALARM:告警策略,此时alarm_id有返回,scheduled_policy不会返回。SCHEDULED:定时策略,此时alarm_id不会返回,scheduled_policy有返回,并且recurrence_type、recurrence_value、start_time和end_time不会返回。RECURRENCE:周期策略,此时alarm_id不会返回,scheduled_policy有返回,并且recurrence_type、recurrence_value、start_time和end_time有返回。 + + ScalingPolicyType *ScalingV2PolicyDetailScalingPolicyType `json:"scaling_policy_type,omitempty"` + // 告警ID。 + + AlarmId *string `json:"alarm_id,omitempty"` + + ScheduledPolicy *ScheduledPolicy `json:"scheduled_policy,omitempty"` + + ScalingPolicyAction *ScalingPolicyActionV2 `json:"scaling_policy_action,omitempty"` + // 冷却时间,取值范围0-86400,默认为300,单位是秒。 + + CoolDownTime *int32 `json:"cool_down_time,omitempty"` + // 创建伸缩策略时间,遵循UTC时间 + + CreateTime *sdktime.SdkTime `json:"create_time,omitempty"` + + MetaData *ScalingPolicyV2MetaData `json:"meta_data,omitempty"` + // 伸缩策略描述(1-256个字符) + + Description *string `json:"description,omitempty"` +} + +func (o ScalingV2PolicyDetail) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ScalingV2PolicyDetail struct{}" + } + + return strings.Join([]string{"ScalingV2PolicyDetail", string(data)}, " ") +} + +type ScalingV2PolicyDetailScalingResourceType struct { + value string +} + +type ScalingV2PolicyDetailScalingResourceTypeEnum struct { + SCALING_GROUP ScalingV2PolicyDetailScalingResourceType + BANDWIDTH ScalingV2PolicyDetailScalingResourceType +} + +func GetScalingV2PolicyDetailScalingResourceTypeEnum() ScalingV2PolicyDetailScalingResourceTypeEnum { + return ScalingV2PolicyDetailScalingResourceTypeEnum{ + SCALING_GROUP: ScalingV2PolicyDetailScalingResourceType{ + value: "SCALING_GROUP", + }, + BANDWIDTH: ScalingV2PolicyDetailScalingResourceType{ + value: "BANDWIDTH", + }, + } +} + +func (c ScalingV2PolicyDetailScalingResourceType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ScalingV2PolicyDetailScalingResourceType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type ScalingV2PolicyDetailPolicyStatus struct { + value string +} + +type ScalingV2PolicyDetailPolicyStatusEnum struct { + INSERVICE ScalingV2PolicyDetailPolicyStatus + PAUSED ScalingV2PolicyDetailPolicyStatus + EXECUTING ScalingV2PolicyDetailPolicyStatus +} + +func GetScalingV2PolicyDetailPolicyStatusEnum() ScalingV2PolicyDetailPolicyStatusEnum { + return ScalingV2PolicyDetailPolicyStatusEnum{ + INSERVICE: ScalingV2PolicyDetailPolicyStatus{ + value: "INSERVICE", + }, + PAUSED: ScalingV2PolicyDetailPolicyStatus{ + value: "PAUSED", + }, + EXECUTING: ScalingV2PolicyDetailPolicyStatus{ + value: "EXECUTING", + }, + } +} + +func (c ScalingV2PolicyDetailPolicyStatus) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ScalingV2PolicyDetailPolicyStatus) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type ScalingV2PolicyDetailScalingPolicyType struct { + value string +} + +type ScalingV2PolicyDetailScalingPolicyTypeEnum struct { + ALARM ScalingV2PolicyDetailScalingPolicyType + SCHEDULED ScalingV2PolicyDetailScalingPolicyType + RECURRENCE ScalingV2PolicyDetailScalingPolicyType +} + +func GetScalingV2PolicyDetailScalingPolicyTypeEnum() ScalingV2PolicyDetailScalingPolicyTypeEnum { + return ScalingV2PolicyDetailScalingPolicyTypeEnum{ + ALARM: ScalingV2PolicyDetailScalingPolicyType{ + value: "ALARM", + }, + SCHEDULED: ScalingV2PolicyDetailScalingPolicyType{ + value: "SCHEDULED", + }, + RECURRENCE: ScalingV2PolicyDetailScalingPolicyType{ + value: "RECURRENCE", + }, + } +} + +func (c ScalingV2PolicyDetailScalingPolicyType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ScalingV2PolicyDetailScalingPolicyType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scheduled_policy.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scheduled_policy.go index faf1d9c1f2399a7bb51d1bd4d7b0dad686727ebe..cd98b494804e49e7d8f7c06fedec219e089169ae 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scheduled_policy.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_scheduled_policy.go @@ -1,36 +1,40 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" - "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" + "strings" ) // 定时、周期任务策略 type ScheduledPolicy struct { // 触发时间,遵循UTC时间。如果scaling_policy_type为SCHEDULED,则格式为:YYYY-MM-DDThh:mmZ。如果scaling_policy_type为RECURRENCE,则格式为:hh:mm。 - LaunchTime *sdktime.SdkTime `json:"launch_time,omitempty"` + + LaunchTime string `json:"launch_time"` // 周期触发类型,scaling_policy_type为RECURRENCE时该项必选。Daily:每天执行一次。Weekly:每周指定天执行一次。Monthly:每月指定天执行一次。 + RecurrenceType *ScheduledPolicyRecurrenceType `json:"recurrence_type,omitempty"` // 周期触发任务数值,scaling_policy_type为RECURRENCE时该项必选。类型为Daily时,该字段为null,表示每天执行类型为Weekly时,该字段取值范围为1-7,1表示星期日,以此类推,以”,”分割,例如:1,3,5。类型为Monthly时,该字段取值范围为1-31,分别表示每月的日期,以“,”分割,例如:1,10,13,28。 + RecurrenceValue *string `json:"recurrence_value,omitempty"` // 周期策略重复执行开始时间,遵循UTC时间。默认为当前时间,格式为:YYYY-MM-DDThh:mZ - StartTime *sdktime.SdkTime `json:"start_time,omitempty"` + + StartTime *string `json:"start_time,omitempty"` // 周期策略重复执行结束时间,遵循UTC时间,scaling_policy_type为RECURRENCE时该项必选。当为周期类型策略时,不得早于当前时间和开始时间。格式为:YYYY-MM-DDThh:mmZ - EndTime *sdktime.SdkTime `json:"end_time,omitempty"` + + EndTime *string `json:"end_time,omitempty"` } func (o ScheduledPolicy) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ScheduledPolicy struct{}" + } + return strings.Join([]string{"ScheduledPolicy", string(data)}, " ") } @@ -59,7 +63,7 @@ func GetScheduledPolicyRecurrenceTypeEnum() ScheduledPolicyRecurrenceTypeEnum { } func (c ScheduledPolicyRecurrenceType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ScheduledPolicyRecurrenceType) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_security_group.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_security_group.go new file mode 100644 index 0000000000000000000000000000000000000000..22706c0beb4ab9c01663ad9892304baa42709c7d --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_security_group.go @@ -0,0 +1,23 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// 安全组信息 +type SecurityGroup struct { + // 安全组ID。 + + Id string `json:"id"` +} + +func (o SecurityGroup) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "SecurityGroup struct{}" + } + + return strings.Join([]string{"SecurityGroup", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_security_groups.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_security_groups.go index 48fa66a4f0f5ea92b03badc085d610954ce5a242..7c7b81b7c3a4f797bfd5faa5807efa3cd385baea 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_security_groups.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_security_groups.go @@ -1,25 +1,23 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // 安全组信息 type SecurityGroups struct { - // 安全组ID。 + // 安全组ID + Id string `json:"id"` } func (o SecurityGroups) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "SecurityGroups struct{}" + } + return strings.Join([]string{"SecurityGroups", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_security_groups_result.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_security_groups_result.go index 3d8417cd7632c8460ff5df044f9f1cf405b2e827..928868e05116b12cf38ca872a704483700596407 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_security_groups_result.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_security_groups_result.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,15 @@ import ( // 安全组信息 type SecurityGroupsResult struct { // 安全组ID + Id *string `json:"id,omitempty"` } func (o SecurityGroupsResult) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "SecurityGroupsResult struct{}" + } + return strings.Join([]string{"SecurityGroupsResult", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_api_version_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_api_version_request.go new file mode 100644 index 0000000000000000000000000000000000000000..d70fdb0ca02d36d6e71538063524a60d51fd0528 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_api_version_request.go @@ -0,0 +1,65 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// Request Object +type ShowApiVersionRequest struct { + // API版本ID。 + + ApiVersion ShowApiVersionRequestApiVersion `json:"api_version"` +} + +func (o ShowApiVersionRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowApiVersionRequest struct{}" + } + + return strings.Join([]string{"ShowApiVersionRequest", string(data)}, " ") +} + +type ShowApiVersionRequestApiVersion struct { + value string +} + +type ShowApiVersionRequestApiVersionEnum struct { + V1 ShowApiVersionRequestApiVersion + V2 ShowApiVersionRequestApiVersion +} + +func GetShowApiVersionRequestApiVersionEnum() ShowApiVersionRequestApiVersionEnum { + return ShowApiVersionRequestApiVersionEnum{ + V1: ShowApiVersionRequestApiVersion{ + value: "v1", + }, + V2: ShowApiVersionRequestApiVersion{ + value: "v2", + }, + } +} + +func (c ShowApiVersionRequestApiVersion) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ShowApiVersionRequestApiVersion) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_api_version_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_api_version_response.go new file mode 100644 index 0000000000000000000000000000000000000000..f5876078b164af938900970141d01000d7d7e42a --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_api_version_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ShowApiVersionResponse struct { + Version *VersionInfo `json:"version,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ShowApiVersionResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowApiVersionResponse struct{}" + } + + return strings.Join([]string{"ShowApiVersionResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_life_cycle_hook_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_life_cycle_hook_request.go index ec5ea5badbdec1413641471778e45d9011690a77..12435f0f29080c4b7a96299bb0838f3c61f8be45 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_life_cycle_hook_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_life_cycle_hook_request.go @@ -1,25 +1,26 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type ShowLifeCycleHookRequest struct { - ScalingGroupId string `json:"scaling_group_id"` + // 伸缩组标识。 + + ScalingGroupId string `json:"scaling_group_id"` + // 生命周期挂钩标识。 + LifecycleHookName string `json:"lifecycle_hook_name"` } func (o ShowLifeCycleHookRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ShowLifeCycleHookRequest struct{}" + } + return strings.Join([]string{"ShowLifeCycleHookRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_life_cycle_hook_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_life_cycle_hook_response.go index 2afaba799a2612e5487efc399781f57520427ca5..780f1006e00631b0d6d92f4c3817b922d9028c76 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_life_cycle_hook_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_life_cycle_hook_response.go @@ -1,42 +1,50 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" - "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" + "strings" ) // Response Object type ShowLifeCycleHookResponse struct { // 生命周期挂钩名称。 + LifecycleHookName *string `json:"lifecycle_hook_name,omitempty"` // 生命周期挂钩类型。INSTANCE_TERMINATING;INSTANCE_LAUNCHING + LifecycleHookType *ShowLifeCycleHookResponseLifecycleHookType `json:"lifecycle_hook_type,omitempty"` // 生命周期挂钩默认回调操作。ABANDON;CONTINUE + DefaultResult *ShowLifeCycleHookResponseDefaultResult `json:"default_result,omitempty"` // 生命周期挂钩超时时间,单位秒。 + DefaultTimeout *int32 `json:"default_timeout,omitempty"` // SMN服务中Topic的唯一的资源标识。 + NotificationTopicUrn *string `json:"notification_topic_urn,omitempty"` // SMN服务中Topic的资源名称。 + NotificationTopicName *string `json:"notification_topic_name,omitempty"` // 自定义通知消息。 + NotificationMetadata *string `json:"notification_metadata,omitempty"` // 生命周期挂钩创建时间,遵循UTC时间。 - CreateTime *sdktime.SdkTime `json:"create_time,omitempty"` + + CreateTime *string `json:"create_time,omitempty"` + HttpStatusCode int `json:"-"` } func (o ShowLifeCycleHookResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ShowLifeCycleHookResponse struct{}" + } + return strings.Join([]string{"ShowLifeCycleHookResponse", string(data)}, " ") } @@ -61,7 +69,7 @@ func GetShowLifeCycleHookResponseLifecycleHookTypeEnum() ShowLifeCycleHookRespon } func (c ShowLifeCycleHookResponseLifecycleHookType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ShowLifeCycleHookResponseLifecycleHookType) UnmarshalJSON(b []byte) error { @@ -99,7 +107,7 @@ func GetShowLifeCycleHookResponseDefaultResultEnum() ShowLifeCycleHookResponseDe } func (c ShowLifeCycleHookResponseDefaultResult) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ShowLifeCycleHookResponseDefaultResult) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_policy_and_instance_quota_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_policy_and_instance_quota_request.go index ee6290e021d29c6f94e425aae6772100a96ee3cb..5329ddf3eddaa45127e4dbb9d98d787e004df813 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_policy_and_instance_quota_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_policy_and_instance_quota_request.go @@ -1,24 +1,23 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type ShowPolicyAndInstanceQuotaRequest struct { + // 伸缩组ID。 + ScalingGroupId string `json:"scaling_group_id"` } func (o ShowPolicyAndInstanceQuotaRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ShowPolicyAndInstanceQuotaRequest struct{}" + } + return strings.Join([]string{"ShowPolicyAndInstanceQuotaRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_policy_and_instance_quota_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_policy_and_instance_quota_response.go index ea4fd98075e859ca28903ab614b09b282d34f21a..0106cf6620271e0ee44bc51c4bf1e408ec6be48c 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_policy_and_instance_quota_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_policy_and_instance_quota_response.go @@ -1,24 +1,22 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type ShowPolicyAndInstanceQuotaResponse struct { - AllQuotas *PolicyInstanceQuotas `json:"AllQuotas,omitempty"` + Quotas *PolicyInstanceQuotas `json:"quotas,omitempty"` + HttpStatusCode int `json:"-"` } func (o ShowPolicyAndInstanceQuotaResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ShowPolicyAndInstanceQuotaResponse struct{}" + } + return strings.Join([]string{"ShowPolicyAndInstanceQuotaResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_resource_quota_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_resource_quota_request.go index e4ce9b45795bd4d33d7d5932aca7069e94d5d5d5..64cf85fdaa4d26c30b9199016c72a3437eca1dbe 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_resource_quota_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_resource_quota_request.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -18,6 +11,10 @@ type ShowResourceQuotaRequest struct { } func (o ShowResourceQuotaRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ShowResourceQuotaRequest struct{}" + } + return strings.Join([]string{"ShowResourceQuotaRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_resource_quota_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_resource_quota_response.go index a00014254b447af298656a4b447f1faed347e090..108f4ec739d67b0fb1adf64106e477c3709986cd 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_resource_quota_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_resource_quota_response.go @@ -1,24 +1,22 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type ShowResourceQuotaResponse struct { - Quotas *AllQuotas `json:"quotas,omitempty"` + Quotas *AllQuotas `json:"quotas,omitempty"` + HttpStatusCode int `json:"-"` } func (o ShowResourceQuotaResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ShowResourceQuotaResponse struct{}" + } + return strings.Join([]string{"ShowResourceQuotaResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_config_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_config_request.go index d38315f0b8187547f3207147c31b983f1bc795dc..23a3d4671ddf5495f166d2bb8d1189f1c69bea45 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_config_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_config_request.go @@ -1,24 +1,23 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type ShowScalingConfigRequest struct { + // 伸缩配置ID,查询唯一配置。 + ScalingConfigurationId string `json:"scaling_configuration_id"` } func (o ShowScalingConfigRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ShowScalingConfigRequest struct{}" + } + return strings.Join([]string{"ShowScalingConfigRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_config_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_config_response.go index 3bb11bb1f2d477a0f91eacf1e65c94cab13d37f4..40ed49e7d1b03401f63a79a88018d3fbf7cc8d54 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_config_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_config_response.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,9 +9,14 @@ import ( // Response Object type ShowScalingConfigResponse struct { ScalingConfiguration *ScalingConfiguration `json:"scaling_configuration,omitempty"` + HttpStatusCode int `json:"-"` } func (o ShowScalingConfigResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ShowScalingConfigResponse struct{}" + } + return strings.Join([]string{"ShowScalingConfigResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_group_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_group_request.go index 23915d016a2134617a94d409d5a2ded5dd2873ce..18fce836d24bf0c2b0d126df981bcffc77912203 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_group_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_group_request.go @@ -1,24 +1,23 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type ShowScalingGroupRequest struct { + // 伸缩组ID。 + ScalingGroupId string `json:"scaling_group_id"` } func (o ShowScalingGroupRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ShowScalingGroupRequest struct{}" + } + return strings.Join([]string{"ShowScalingGroupRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_group_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_group_response.go index ff254782b86a2fbccab4e30811c79cdf05068ac0..644d9bde724543d7d9a0a1149b414f5af97ee75d 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_group_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_group_response.go @@ -1,24 +1,22 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type ShowScalingGroupResponse struct { - ScalingGroup *ScalingGroups `json:"scaling_group,omitempty"` + ScalingGroup *ScalingGroups `json:"scaling_group,omitempty"` + HttpStatusCode int `json:"-"` } func (o ShowScalingGroupResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ShowScalingGroupResponse struct{}" + } + return strings.Join([]string{"ShowScalingGroupResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_policy_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_policy_request.go index 2608f3fe3844207171a7578004ed92746c9c0aff..717c460b50996b0c732713492a23a9b873869fc5 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_policy_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_policy_request.go @@ -1,24 +1,23 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type ShowScalingPolicyRequest struct { + // 伸缩组ID。 + ScalingPolicyId string `json:"scaling_policy_id"` } func (o ShowScalingPolicyRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ShowScalingPolicyRequest struct{}" + } + return strings.Join([]string{"ShowScalingPolicyRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_policy_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_policy_response.go index 822a48db6b635becce0deab94885dbe39285e8dc..7ccb8cf21d3b3fcc2859bbb665b3ac398aa97f94 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_policy_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_policy_response.go @@ -1,24 +1,22 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type ShowScalingPolicyResponse struct { - ScalingPolicy *ScalingPolicyDetail `json:"scaling_policy,omitempty"` + ScalingPolicy *ScalingV1PolicyDetail `json:"scaling_policy,omitempty"` + HttpStatusCode int `json:"-"` } func (o ShowScalingPolicyResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ShowScalingPolicyResponse struct{}" + } + return strings.Join([]string{"ShowScalingPolicyResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_v2_policy_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_v2_policy_request.go new file mode 100644 index 0000000000000000000000000000000000000000..a7b77b2ed8ff9d8cb7daadeeb311ff1b1d65cd4a --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_v2_policy_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ShowScalingV2PolicyRequest struct { + // 伸缩组ID。 + + ScalingPolicyId string `json:"scaling_policy_id"` +} + +func (o ShowScalingV2PolicyRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowScalingV2PolicyRequest struct{}" + } + + return strings.Join([]string{"ShowScalingV2PolicyRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_v2_policy_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_v2_policy_response.go new file mode 100644 index 0000000000000000000000000000000000000000..08c96a3e9adcaecf2e2996f67c132cad3f7aab47 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_show_scaling_v2_policy_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ShowScalingV2PolicyResponse struct { + ScalingPolicy *ScalingV2PolicyDetail `json:"scaling_policy,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ShowScalingV2PolicyResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowScalingV2PolicyResponse struct{}" + } + + return strings.Join([]string{"ShowScalingV2PolicyResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_tags_multi_value.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_tags_multi_value.go index fa5d5f7bc6b2d35cd3cc7a1e34e92bb92ba3e577..54e996012180e3abc9c40720b3fa072508d2ddac 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_tags_multi_value.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_tags_multi_value.go @@ -1,26 +1,25 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) type TagsMultiValue struct { // 资源标签键。最大长度127个unicode字符。key不能为空。(搜索时不对此参数做校验)。最多为10个,不能为空或者空字符串。且不能重复。 - Key *string `json:"key,omitempty"` + + Key string `json:"key"` // 资源标签值列表。每个值最大长度255个unicode字符,每个key下最多为10个,同一个key中values不能重复。 - Values *[]string `json:"values,omitempty"` + + Values []string `json:"values"` } func (o TagsMultiValue) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "TagsMultiValue struct{}" + } + return strings.Join([]string{"TagsMultiValue", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_tags_single_value.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_tags_single_value.go index c362b271dd7a8d25ab74e531215cc0cfd2ad37c7..93af0c2f4bd159b3dbb9019d5b23c56b5c6ceaa6 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_tags_single_value.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_tags_single_value.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,12 +9,18 @@ import ( // 资源标签键 type TagsSingleValue struct { // 资源标签键。最大长度36个Unicode字符,不能为空,不能包含非打印字符ASCII(0-31),“=”,“*”,“<”,“>”,“\\”,“,”,“|”,“/”。同一资源的key值不能重复。action为delete时,不校验标签字符集,最大长度127个Unicode字符。 - Key *string `json:"key,omitempty"` + + Key string `json:"key"` // 资源标签值。每个值最大长度43个Unicode字符,可以为空字符串,不能包含非打印字符ASCII(0-31), “=”,“*”,“<”,“>”,“\\”,“,”,“|”,“/”。action为delete时,不校验标签字符集,每个值最大长度255个Unicode字符。如果value有值按照key/value删除,如果value没值,则按照key删除。 + Value *string `json:"value,omitempty"` } func (o TagsSingleValue) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "TagsSingleValue struct{}" + } + return strings.Join([]string{"TagsSingleValue", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_topics.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_topics.go index b7ebadde79773855264c69e4331ee5f66ef522ff..ab0d3dea54cdb4238f79ea6ff766764c69121078 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_topics.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_topics.go @@ -1,28 +1,28 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) type Topics struct { // SMN服务中Topic的唯一的资源标识。 + TopicUrn *string `json:"topic_urn,omitempty"` // 通知场景,有以下五种类型。SCALING_UP:扩容成功。SCALING_UP_FAIL:扩容失败。SCALING_DOWN:减容成功。SCALING_DOWN_FAIL:减容失败。SCALING_GROUP_ABNORMAL:伸缩组发生异常 + TopicScene *[]string `json:"topic_scene,omitempty"` // SMN服务中Topic的资源名称。 + TopicName *string `json:"topic_name,omitempty"` } func (o Topics) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "Topics struct{}" + } + return strings.Join([]string{"Topics", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_life_cycle_hook_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_life_cycle_hook_option.go similarity index 57% rename from cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_life_cycle_hook_request_body.go rename to cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_life_cycle_hook_option.go index d42b3da07bc325cd81f7a954befcf781da7f6e04..820098db42476be916102c3d859aa59f0f9255f8 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_life_cycle_hook_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_life_cycle_hook_option.go @@ -1,63 +1,68 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // 修改生命周期挂钩 -type UpdateLifeCycleHookRequestBody struct { +type UpdateLifeCycleHookOption struct { // 生命周期挂钩类型。INSTANCE_TERMINATING。INSTANCE_LAUNCHING。INSTANCE_TERMINATING 类型的挂钩负责在实例终止时将实例挂起,INSTANCE_LAUNCHING 类型的挂钩则是在实例启动时将实例挂起。 - LifecycleHookType *UpdateLifeCycleHookRequestBodyLifecycleHookType `json:"lifecycle_hook_type,omitempty"` + + LifecycleHookType *UpdateLifeCycleHookOptionLifecycleHookType `json:"lifecycle_hook_type,omitempty"` // 生命周期挂钩默认回调操作。默认情况下,到达超时时间后执行的操作。ABANDON;CONTINUE;如果实例正在启动,则 CONTINUE 表示用户自定义操作已成功,可将实例投入使用。否则,ABANDON 表示用户自定义操作未成功,终止实例,伸缩活动置为失败,重新创建新实例。如果实例正在终止,则 ABANDON 和 CONTINUE 都允许终止实例。不过,ABANDON 将停止其他生命周期挂钩,而 CONTINUE 将允许完成其他生命周期挂钩。该字段缺省时默认为 ABANDON。 - DefaultResult *UpdateLifeCycleHookRequestBodyDefaultResult `json:"default_result,omitempty"` + + DefaultResult *UpdateLifeCycleHookOptionDefaultResult `json:"default_result,omitempty"` // 生命周期挂钩超时时间,取值范围300-86400,默认为3600,单位是秒。默认情况下,实例保持等待状态的时间。您可以延长超时时间,也可以在超时时间结束前进行 CONTINUE 或 ABANDON 操作。 + DefaultTimeout *int32 `json:"default_timeout,omitempty"` // SMN 服务中 Topic 的唯一的资源标识。为生命周期挂钩定义一个通知目标,当实例被生命周期挂钩挂起时向该通知目标发送消息。该消息包含实例的基本信息、用户自定义通知消息,以及可用于控制生命周期操作的令牌信息。 + NotificationTopicUrn *string `json:"notification_topic_urn,omitempty"` // 自定义通知消息,长度不超过256位,不能包含字符< > & ' ( )当配置了通知目标时,可向其发送用户自定义的通知内容。 + NotificationMetadata *string `json:"notification_metadata,omitempty"` } -func (o UpdateLifeCycleHookRequestBody) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"UpdateLifeCycleHookRequestBody", string(data)}, " ") +func (o UpdateLifeCycleHookOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateLifeCycleHookOption struct{}" + } + + return strings.Join([]string{"UpdateLifeCycleHookOption", string(data)}, " ") } -type UpdateLifeCycleHookRequestBodyLifecycleHookType struct { +type UpdateLifeCycleHookOptionLifecycleHookType struct { value string } -type UpdateLifeCycleHookRequestBodyLifecycleHookTypeEnum struct { - INSTANCE_TERMINATING UpdateLifeCycleHookRequestBodyLifecycleHookType - INSTANCE_LAUNCHING UpdateLifeCycleHookRequestBodyLifecycleHookType +type UpdateLifeCycleHookOptionLifecycleHookTypeEnum struct { + INSTANCE_TERMINATING UpdateLifeCycleHookOptionLifecycleHookType + INSTANCE_LAUNCHING UpdateLifeCycleHookOptionLifecycleHookType } -func GetUpdateLifeCycleHookRequestBodyLifecycleHookTypeEnum() UpdateLifeCycleHookRequestBodyLifecycleHookTypeEnum { - return UpdateLifeCycleHookRequestBodyLifecycleHookTypeEnum{ - INSTANCE_TERMINATING: UpdateLifeCycleHookRequestBodyLifecycleHookType{ +func GetUpdateLifeCycleHookOptionLifecycleHookTypeEnum() UpdateLifeCycleHookOptionLifecycleHookTypeEnum { + return UpdateLifeCycleHookOptionLifecycleHookTypeEnum{ + INSTANCE_TERMINATING: UpdateLifeCycleHookOptionLifecycleHookType{ value: "INSTANCE_TERMINATING", }, - INSTANCE_LAUNCHING: UpdateLifeCycleHookRequestBodyLifecycleHookType{ + INSTANCE_LAUNCHING: UpdateLifeCycleHookOptionLifecycleHookType{ value: "INSTANCE_LAUNCHING", }, } } -func (c UpdateLifeCycleHookRequestBodyLifecycleHookType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) +func (c UpdateLifeCycleHookOptionLifecycleHookType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) } -func (c *UpdateLifeCycleHookRequestBodyLifecycleHookType) UnmarshalJSON(b []byte) error { +func (c *UpdateLifeCycleHookOptionLifecycleHookType) UnmarshalJSON(b []byte) error { myConverter := converter.StringConverterFactory("string") if myConverter != nil { val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) @@ -71,31 +76,31 @@ func (c *UpdateLifeCycleHookRequestBodyLifecycleHookType) UnmarshalJSON(b []byte } } -type UpdateLifeCycleHookRequestBodyDefaultResult struct { +type UpdateLifeCycleHookOptionDefaultResult struct { value string } -type UpdateLifeCycleHookRequestBodyDefaultResultEnum struct { - ABANDON UpdateLifeCycleHookRequestBodyDefaultResult - CONTINUE UpdateLifeCycleHookRequestBodyDefaultResult +type UpdateLifeCycleHookOptionDefaultResultEnum struct { + ABANDON UpdateLifeCycleHookOptionDefaultResult + CONTINUE UpdateLifeCycleHookOptionDefaultResult } -func GetUpdateLifeCycleHookRequestBodyDefaultResultEnum() UpdateLifeCycleHookRequestBodyDefaultResultEnum { - return UpdateLifeCycleHookRequestBodyDefaultResultEnum{ - ABANDON: UpdateLifeCycleHookRequestBodyDefaultResult{ +func GetUpdateLifeCycleHookOptionDefaultResultEnum() UpdateLifeCycleHookOptionDefaultResultEnum { + return UpdateLifeCycleHookOptionDefaultResultEnum{ + ABANDON: UpdateLifeCycleHookOptionDefaultResult{ value: "ABANDON", }, - CONTINUE: UpdateLifeCycleHookRequestBodyDefaultResult{ + CONTINUE: UpdateLifeCycleHookOptionDefaultResult{ value: "CONTINUE", }, } } -func (c UpdateLifeCycleHookRequestBodyDefaultResult) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) +func (c UpdateLifeCycleHookOptionDefaultResult) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) } -func (c *UpdateLifeCycleHookRequestBodyDefaultResult) UnmarshalJSON(b []byte) error { +func (c *UpdateLifeCycleHookOptionDefaultResult) UnmarshalJSON(b []byte) error { myConverter := converter.StringConverterFactory("string") if myConverter != nil { val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_life_cycle_hook_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_life_cycle_hook_request.go index 867c0e9f3bdc18a6a348aa6688b8fac30f9cb90c..54a3732463dd1a0b6866135f3257d77c2507385e 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_life_cycle_hook_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_life_cycle_hook_request.go @@ -1,26 +1,28 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type UpdateLifeCycleHookRequest struct { - ScalingGroupId string `json:"scaling_group_id"` - LifecycleHookName string `json:"lifecycle_hook_name"` - Body *UpdateLifeCycleHookRequestBody `json:"body,omitempty"` + // 伸缩组标识。 + + ScalingGroupId string `json:"scaling_group_id"` + // 生命周期挂钩标识。 + + LifecycleHookName string `json:"lifecycle_hook_name"` + + Body *UpdateLifeCycleHookOption `json:"body,omitempty"` } func (o UpdateLifeCycleHookRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "UpdateLifeCycleHookRequest struct{}" + } + return strings.Join([]string{"UpdateLifeCycleHookRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_life_cycle_hook_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_life_cycle_hook_response.go index 70329b4b1cf7ff6d5c96c0c1b318f5adbb8b99be..ff0a0430b2ea68725ea41901d224514a0d4a4bda 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_life_cycle_hook_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_life_cycle_hook_response.go @@ -1,42 +1,50 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" - "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" + "strings" ) // Response Object type UpdateLifeCycleHookResponse struct { // 生命周期挂钩名称。 + LifecycleHookName *string `json:"lifecycle_hook_name,omitempty"` // 生命周期挂钩类型。INSTANCE_TERMINATING;INSTANCE_LAUNCHING + LifecycleHookType *UpdateLifeCycleHookResponseLifecycleHookType `json:"lifecycle_hook_type,omitempty"` // 生命周期挂钩默认回调操作。ABANDON;CONTINUE + DefaultResult *UpdateLifeCycleHookResponseDefaultResult `json:"default_result,omitempty"` // 生命周期挂钩超时时间,单位秒。 + DefaultTimeout *int32 `json:"default_timeout,omitempty"` // SMN服务中Topic的唯一的资源标识。 + NotificationTopicUrn *string `json:"notification_topic_urn,omitempty"` // SMN服务中Topic的资源名称。 + NotificationTopicName *string `json:"notification_topic_name,omitempty"` // 自定义通知消息。 + NotificationMetadata *string `json:"notification_metadata,omitempty"` // 生命周期挂钩创建时间,遵循UTC时间。 - CreateTime *sdktime.SdkTime `json:"create_time,omitempty"` + + CreateTime *string `json:"create_time,omitempty"` + HttpStatusCode int `json:"-"` } func (o UpdateLifeCycleHookResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "UpdateLifeCycleHookResponse struct{}" + } + return strings.Join([]string{"UpdateLifeCycleHookResponse", string(data)}, " ") } @@ -61,7 +69,7 @@ func GetUpdateLifeCycleHookResponseLifecycleHookTypeEnum() UpdateLifeCycleHookRe } func (c UpdateLifeCycleHookResponseLifecycleHookType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *UpdateLifeCycleHookResponseLifecycleHookType) UnmarshalJSON(b []byte) error { @@ -99,7 +107,7 @@ func GetUpdateLifeCycleHookResponseDefaultResultEnum() UpdateLifeCycleHookRespon } func (c UpdateLifeCycleHookResponseDefaultResult) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *UpdateLifeCycleHookResponseDefaultResult) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_group_instance_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_group_instance_request.go deleted file mode 100644 index e6d7e679aab4d942f2355838270fb739708007c3..0000000000000000000000000000000000000000 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_group_instance_request.go +++ /dev/null @@ -1,25 +0,0 @@ -/* - * As - * - * 弹性伸缩API - * - */ - -package model - -import ( - "encoding/json" - - "strings" -) - -// Request Object -type UpdateScalingGroupInstanceRequest struct { - ScalingGroupId string `json:"scaling_group_id"` - Body *UpdateScalingGroupInstanceRequestBody `json:"body,omitempty"` -} - -func (o UpdateScalingGroupInstanceRequest) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"UpdateScalingGroupInstanceRequest", string(data)}, " ") -} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_group_instance_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_group_instance_request_body.go deleted file mode 100644 index 0a5606edb8520e4f717dd9d141af86f2feacf839..0000000000000000000000000000000000000000 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_group_instance_request_body.go +++ /dev/null @@ -1,86 +0,0 @@ -/* - * As - * - * 弹性伸缩API - * - */ - -package model - -import ( - "encoding/json" - "errors" - "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" - "strings" -) - -// 批量操作实例 -type UpdateScalingGroupInstanceRequestBody struct { - // 云服务器ID。 - InstancesId []string `json:"instances_id"` - // 从伸缩组中移出实例时,是否删除云服务器。默认为no;可选值为yes或no。只有action为REMOVE时,这个字段才生效。 - InstanceDelete *string `json:"instance_delete,omitempty"` - // 批量操作实例action标识:添加:ADD 移除: REMOVE 设置实例保护: PROTECT 取消实例保护: UNPROTECT;转入备用状态:ENTER_STANDBY 移出备用状态:EXIT_STANDBY - Action UpdateScalingGroupInstanceRequestBodyAction `json:"action"` - // 将实例移入备用状态时,是否补充新的云服务器。取值如下:no:不补充新的实例,默认情况为no。yes:补充新的实例。只有action为ENTER_STANDBY时,这个字段才生效。 - InstanceAppend *string `json:"instance_append,omitempty"` -} - -func (o UpdateScalingGroupInstanceRequestBody) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"UpdateScalingGroupInstanceRequestBody", string(data)}, " ") -} - -type UpdateScalingGroupInstanceRequestBodyAction struct { - value string -} - -type UpdateScalingGroupInstanceRequestBodyActionEnum struct { - ADD UpdateScalingGroupInstanceRequestBodyAction - REMOVE UpdateScalingGroupInstanceRequestBodyAction - PROTECT UpdateScalingGroupInstanceRequestBodyAction - UNPROTECT UpdateScalingGroupInstanceRequestBodyAction - ENTER_STANDBY UpdateScalingGroupInstanceRequestBodyAction - EXIT_STANDBY UpdateScalingGroupInstanceRequestBodyAction -} - -func GetUpdateScalingGroupInstanceRequestBodyActionEnum() UpdateScalingGroupInstanceRequestBodyActionEnum { - return UpdateScalingGroupInstanceRequestBodyActionEnum{ - ADD: UpdateScalingGroupInstanceRequestBodyAction{ - value: "ADD", - }, - REMOVE: UpdateScalingGroupInstanceRequestBodyAction{ - value: "REMOVE", - }, - PROTECT: UpdateScalingGroupInstanceRequestBodyAction{ - value: "PROTECT", - }, - UNPROTECT: UpdateScalingGroupInstanceRequestBodyAction{ - value: "UNPROTECT", - }, - ENTER_STANDBY: UpdateScalingGroupInstanceRequestBodyAction{ - value: "ENTER_STANDBY", - }, - EXIT_STANDBY: UpdateScalingGroupInstanceRequestBodyAction{ - value: "EXIT_STANDBY", - }, - } -} - -func (c UpdateScalingGroupInstanceRequestBodyAction) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) -} - -func (c *UpdateScalingGroupInstanceRequestBodyAction) UnmarshalJSON(b []byte) error { - myConverter := converter.StringConverterFactory("string") - if myConverter != nil { - val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) - if err == nil { - c.value = val.(string) - return nil - } - return err - } else { - return errors.New("convert enum data to string error") - } -} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_group_instance_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_group_instance_response.go deleted file mode 100644 index e803414ce383cb26e082502c6f2ac6659a1ef671..0000000000000000000000000000000000000000 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_group_instance_response.go +++ /dev/null @@ -1,23 +0,0 @@ -/* - * As - * - * 弹性伸缩API - * - */ - -package model - -import ( - "encoding/json" - - "strings" -) - -// Response Object -type UpdateScalingGroupInstanceResponse struct { -} - -func (o UpdateScalingGroupInstanceResponse) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"UpdateScalingGroupInstanceResponse", string(data)}, " ") -} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_group_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_group_option.go similarity index 58% rename from cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_group_request_body.go rename to cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_group_option.go index 1e674e3d35f0c34146d0690736a537feb90abbc5..88c394f068eb36087ae564a3921a1ca2a62a4826 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_group_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_group_option.go @@ -1,89 +1,116 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // 修改伸缩组详情 -type UpdateScalingGroupRequestBody struct { +type UpdateScalingGroupOption struct { // 伸缩组名称(1-64个字符),只能包含中文、字母、数字、下划线、中划线。 + ScalingGroupName *string `json:"scaling_group_name,omitempty"` // 期望实例数量,默认值为最小实例数。最小实例数<=期望实例数<=最大实例数 + DesireInstanceNumber *int32 `json:"desire_instance_number,omitempty"` // 最小实例数量。 + MinInstanceNumber *int32 `json:"min_instance_number,omitempty"` // 最大实例数量,大于等于最小实例数。 + MaxInstanceNumber *int32 `json:"max_instance_number,omitempty"` // 冷却时间,取值范围0-86400,单位是秒。 + CoolDownTime *int32 `json:"cool_down_time,omitempty"` // 可用分区信息。弹性伸缩活动中自动添加的云服务器会被创建在指定的可用区中。如果没有指定可用分区,会由系统自动指定可用分区。详情请参考地区和终端节点。仅当同时满足以下条件时才可以修改:伸缩组中无伸缩活动;实例数为0;伸缩组为非启用状态。 + AvailableZones *[]string `json:"available_zones,omitempty"` // 网络信息,最多支持选择5个子网,传入的第一个子网默认作为云服务器的主网卡。使用vpc_id通过查询VPC服务子网列表接口获取,仅当同时满足以下条件时,才可以修改:伸缩组中无伸缩活动;实例数为0;伸缩组为非启用状态。 + Networks *[]Networks `json:"networks,omitempty"` // 安全组信息,最多支持选择1个安全组。使用vpc_id通过查询VPC服务安全组列表接口获取,详见《虚拟私有云API参考》的“查询安全组列表”。当伸缩配置和伸缩组同时指定安全组时,将以伸缩配置中的安全组为准;当伸缩配置和伸缩组都没有指定安全组时,将使用默认安全组。为了使用灵活性更高,推荐在伸缩配置中指定安全组。仅当同时满足以下条件时,才可以修改:伸缩组无伸缩活动;实例数为0;伸缩组为非启用状态。 - SecurityGroups *[]SecurityGroups `json:"security_groups,omitempty"` + + SecurityGroups *[]SecurityGroup `json:"security_groups,omitempty"` // 弹性负载均衡(经典型)监听器ID,最多支持绑定3个负载均衡监听器,多个负载均衡监听器ID以逗号分隔。首先使用vpc_id通过查询ELB服务负载均衡器列表接口获取负载均衡器的ID,详见《弹性负载均衡API参考》的“查询负载均衡器列表”,再使用该ID查询监听器列表获取,详见《弹性负载均衡API参考》的“查询监听器列表”。仅当同时满足以下条件时,才可以修改:伸缩组无伸缩活动;实例数为0;伸缩组为非启用状态。 + LbListenerId *string `json:"lb_listener_id,omitempty"` // 弹性负载均衡器(增强型)信息,最多支持绑定3个负载均衡。该字段与lb_listener_id互斥。 + LbaasListeners *[]LbaasListeners `json:"lbaas_listeners,omitempty"` // 伸缩组实例健康检查方式:ELB_AUDIT和NOVA_AUDIT。当伸缩组参数中设置负载均衡时,默认为ELB_AUDIT;否则默认为NOVA_AUDIT。ELB_AUDIT表示负载均衡健康检查方式,在有监听器的伸缩组中有效。NOVA_AUDIT表示弹性伸缩自带的健康检查方式。 - HealthPeriodicAuditMethod *UpdateScalingGroupRequestBodyHealthPeriodicAuditMethod `json:"health_periodic_audit_method,omitempty"` + + HealthPeriodicAuditMethod *UpdateScalingGroupOptionHealthPeriodicAuditMethod `json:"health_periodic_audit_method,omitempty"` // 伸缩组实例健康检查周期(分钟):1、5、15、60、180。若设置为0,可以实现10秒级健康检查。 - HealthPeriodicAuditTime *UpdateScalingGroupRequestBodyHealthPeriodicAuditTime `json:"health_periodic_audit_time,omitempty"` + + HealthPeriodicAuditTime *int32 `json:"health_periodic_audit_time,omitempty"` // 伸缩组实例健康状况检查宽限期,取值范围0-86400,单位是秒。当实例加入伸缩组并且进入已启用状态后,健康状况检查宽限期才会启动,伸缩组会等健康状况检查宽限期结束后才检查实例的运行状况。当伸缩组实例健康检查方式为ELB_AUDIT时,该参数生效,若不设置该参数,默认为10分钟。 + HealthPeriodicAuditGracePeriod *int32 `json:"health_periodic_audit_grace_period,omitempty"` // 伸缩组实例移除策略:OLD_CONFIG_OLD_INSTANCE(默认):从根据“较早创建的配置”创建的实例中筛选出较早创建的实例被优先移除。OLD_CONFIG_NEW_INSTANCE:从根据“较早创建的配置”创建的实例中筛选出较新创建的实例被优先移除。OLD_INSTANCE:较早创建的实例被优先移除。NEW_INSTANCE:较新创建的实例将被优先移除。 - InstanceTerminatePolicy *UpdateScalingGroupRequestBodyInstanceTerminatePolicy `json:"instance_terminate_policy,omitempty"` + + InstanceTerminatePolicy *UpdateScalingGroupOptionInstanceTerminatePolicy `json:"instance_terminate_policy,omitempty"` // 伸缩配置ID,通过查询弹性伸缩配置列表接口获取,详见查询弹性伸缩配置列表 + ScalingConfigurationId *string `json:"scaling_configuration_id,omitempty"` // 通知方式:EMAIL为发送邮件通知。该通知方式即将被废除,建议给弹性伸缩组配置通知功能。详见通知。 + Notifications *[]string `json:"notifications,omitempty"` // 配置删除云服务器时是否删除云服务器绑定的弹性IP。取值为true或false,默认为false。true:删除云服务器时,会同时删除绑定在云服务器上的弹性IP。当弹性IP的计费方式为包年包月时,不会被删除。false:删除云服务器时,仅解绑定在云服务器上的弹性IP,不删除弹性IP。 + DeletePublicip *bool `json:"delete_publicip,omitempty"` + // 配置删除云服务器时是否删除云服务器绑定的数据盘。取值为true或false,默认为false。 true:删除云服务器时,会同时删除绑定在云服务器上的数据盘。当数据盘的计费方式为包年包月时,不会被删除。 false:删除务器时,仅云服解绑定在云服务器上的数据盘,不删除数据盘。 + + DeleteVolume *bool `json:"delete_volume,omitempty"` // 企业项目ID,用于指定伸缩组归属的企业项目。当伸缩组配置企业项目时,由该伸缩组创建的弹性云服务器将归属于该企业项目。当没有指定企业项目时,将使用企业项目ID为0的默认项目。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` + // 伸缩组扩缩容时目标AZ选择的优先级策略: EQUILIBRIUM_DISTRIBUTE(默认):均衡分布,虚拟机扩缩容时优先保证available_zones列表中各AZ下虚拟机数量均衡,当无法在目标AZ下完成虚拟机扩容时,按照PICK_FIRST原则选择其他可用AZ。 PICK_FIRST:选择优先,虚拟机扩缩容时目标AZ的选择按照available_zones列表的顺序进行优先级排序。 + + MultiAzPriorityPolicy *string `json:"multi_az_priority_policy,omitempty"` + // 伸缩组描述信息(0-256个字符) + + Description *string `json:"description,omitempty"` } -func (o UpdateScalingGroupRequestBody) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"UpdateScalingGroupRequestBody", string(data)}, " ") +func (o UpdateScalingGroupOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateScalingGroupOption struct{}" + } + + return strings.Join([]string{"UpdateScalingGroupOption", string(data)}, " ") } -type UpdateScalingGroupRequestBodyHealthPeriodicAuditMethod struct { +type UpdateScalingGroupOptionHealthPeriodicAuditMethod struct { value string } -type UpdateScalingGroupRequestBodyHealthPeriodicAuditMethodEnum struct { - ELB_AUDIT UpdateScalingGroupRequestBodyHealthPeriodicAuditMethod - NOVA_AUDIT UpdateScalingGroupRequestBodyHealthPeriodicAuditMethod +type UpdateScalingGroupOptionHealthPeriodicAuditMethodEnum struct { + ELB_AUDIT UpdateScalingGroupOptionHealthPeriodicAuditMethod + NOVA_AUDIT UpdateScalingGroupOptionHealthPeriodicAuditMethod } -func GetUpdateScalingGroupRequestBodyHealthPeriodicAuditMethodEnum() UpdateScalingGroupRequestBodyHealthPeriodicAuditMethodEnum { - return UpdateScalingGroupRequestBodyHealthPeriodicAuditMethodEnum{ - ELB_AUDIT: UpdateScalingGroupRequestBodyHealthPeriodicAuditMethod{ +func GetUpdateScalingGroupOptionHealthPeriodicAuditMethodEnum() UpdateScalingGroupOptionHealthPeriodicAuditMethodEnum { + return UpdateScalingGroupOptionHealthPeriodicAuditMethodEnum{ + ELB_AUDIT: UpdateScalingGroupOptionHealthPeriodicAuditMethod{ value: "ELB_AUDIT", }, - NOVA_AUDIT: UpdateScalingGroupRequestBodyHealthPeriodicAuditMethod{ + NOVA_AUDIT: UpdateScalingGroupOptionHealthPeriodicAuditMethod{ value: "NOVA_AUDIT", }, } } -func (c UpdateScalingGroupRequestBodyHealthPeriodicAuditMethod) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) +func (c UpdateScalingGroupOptionHealthPeriodicAuditMethod) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) } -func (c *UpdateScalingGroupRequestBodyHealthPeriodicAuditMethod) UnmarshalJSON(b []byte) error { +func (c *UpdateScalingGroupOptionHealthPeriodicAuditMethod) UnmarshalJSON(b []byte) error { myConverter := converter.StringConverterFactory("string") if myConverter != nil { val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) @@ -97,88 +124,39 @@ func (c *UpdateScalingGroupRequestBodyHealthPeriodicAuditMethod) UnmarshalJSON(b } } -type UpdateScalingGroupRequestBodyHealthPeriodicAuditTime struct { - value int32 -} - -type UpdateScalingGroupRequestBodyHealthPeriodicAuditTimeEnum struct { - E_0 UpdateScalingGroupRequestBodyHealthPeriodicAuditTime - E_1 UpdateScalingGroupRequestBodyHealthPeriodicAuditTime - E_5 UpdateScalingGroupRequestBodyHealthPeriodicAuditTime - E_15 UpdateScalingGroupRequestBodyHealthPeriodicAuditTime - E_60 UpdateScalingGroupRequestBodyHealthPeriodicAuditTime - E_180 UpdateScalingGroupRequestBodyHealthPeriodicAuditTime -} - -func GetUpdateScalingGroupRequestBodyHealthPeriodicAuditTimeEnum() UpdateScalingGroupRequestBodyHealthPeriodicAuditTimeEnum { - return UpdateScalingGroupRequestBodyHealthPeriodicAuditTimeEnum{ - E_0: UpdateScalingGroupRequestBodyHealthPeriodicAuditTime{ - value: 0, - }, E_1: UpdateScalingGroupRequestBodyHealthPeriodicAuditTime{ - value: 1, - }, E_5: UpdateScalingGroupRequestBodyHealthPeriodicAuditTime{ - value: 5, - }, E_15: UpdateScalingGroupRequestBodyHealthPeriodicAuditTime{ - value: 15, - }, E_60: UpdateScalingGroupRequestBodyHealthPeriodicAuditTime{ - value: 60, - }, E_180: UpdateScalingGroupRequestBodyHealthPeriodicAuditTime{ - value: 180, - }, - } -} - -func (c UpdateScalingGroupRequestBodyHealthPeriodicAuditTime) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) -} - -func (c *UpdateScalingGroupRequestBodyHealthPeriodicAuditTime) UnmarshalJSON(b []byte) error { - myConverter := converter.StringConverterFactory("int32") - if myConverter != nil { - val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) - if err == nil { - c.value = val.(int32) - return nil - } - return err - } else { - return errors.New("convert enum data to int32 error") - } -} - -type UpdateScalingGroupRequestBodyInstanceTerminatePolicy struct { +type UpdateScalingGroupOptionInstanceTerminatePolicy struct { value string } -type UpdateScalingGroupRequestBodyInstanceTerminatePolicyEnum struct { - OLD_CONFIG_OLD_INSTANCE UpdateScalingGroupRequestBodyInstanceTerminatePolicy - OLD_CONFIG_NEW_INSTANCE UpdateScalingGroupRequestBodyInstanceTerminatePolicy - OLD_INSTANCE UpdateScalingGroupRequestBodyInstanceTerminatePolicy - NEW_INSTANCE UpdateScalingGroupRequestBodyInstanceTerminatePolicy +type UpdateScalingGroupOptionInstanceTerminatePolicyEnum struct { + OLD_CONFIG_OLD_INSTANCE UpdateScalingGroupOptionInstanceTerminatePolicy + OLD_CONFIG_NEW_INSTANCE UpdateScalingGroupOptionInstanceTerminatePolicy + OLD_INSTANCE UpdateScalingGroupOptionInstanceTerminatePolicy + NEW_INSTANCE UpdateScalingGroupOptionInstanceTerminatePolicy } -func GetUpdateScalingGroupRequestBodyInstanceTerminatePolicyEnum() UpdateScalingGroupRequestBodyInstanceTerminatePolicyEnum { - return UpdateScalingGroupRequestBodyInstanceTerminatePolicyEnum{ - OLD_CONFIG_OLD_INSTANCE: UpdateScalingGroupRequestBodyInstanceTerminatePolicy{ +func GetUpdateScalingGroupOptionInstanceTerminatePolicyEnum() UpdateScalingGroupOptionInstanceTerminatePolicyEnum { + return UpdateScalingGroupOptionInstanceTerminatePolicyEnum{ + OLD_CONFIG_OLD_INSTANCE: UpdateScalingGroupOptionInstanceTerminatePolicy{ value: "OLD_CONFIG_OLD_INSTANCE", }, - OLD_CONFIG_NEW_INSTANCE: UpdateScalingGroupRequestBodyInstanceTerminatePolicy{ + OLD_CONFIG_NEW_INSTANCE: UpdateScalingGroupOptionInstanceTerminatePolicy{ value: "OLD_CONFIG_NEW_INSTANCE", }, - OLD_INSTANCE: UpdateScalingGroupRequestBodyInstanceTerminatePolicy{ + OLD_INSTANCE: UpdateScalingGroupOptionInstanceTerminatePolicy{ value: "OLD_INSTANCE", }, - NEW_INSTANCE: UpdateScalingGroupRequestBodyInstanceTerminatePolicy{ + NEW_INSTANCE: UpdateScalingGroupOptionInstanceTerminatePolicy{ value: "NEW_INSTANCE", }, } } -func (c UpdateScalingGroupRequestBodyInstanceTerminatePolicy) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) +func (c UpdateScalingGroupOptionInstanceTerminatePolicy) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) } -func (c *UpdateScalingGroupRequestBodyInstanceTerminatePolicy) UnmarshalJSON(b []byte) error { +func (c *UpdateScalingGroupOptionInstanceTerminatePolicy) UnmarshalJSON(b []byte) error { myConverter := converter.StringConverterFactory("string") if myConverter != nil { val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_group_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_group_request.go index 522eea74e549a461d50f52f419e6834e0c39e79b..b228831c86d84258e3189566b4b1017f5680ceb6 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_group_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_group_request.go @@ -1,25 +1,25 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type UpdateScalingGroupRequest struct { - ScalingGroupId string `json:"scaling_group_id"` - Body *UpdateScalingGroupRequestBody `json:"body,omitempty"` + // 伸缩组ID + + ScalingGroupId string `json:"scaling_group_id"` + + Body *UpdateScalingGroupOption `json:"body,omitempty"` } func (o UpdateScalingGroupRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "UpdateScalingGroupRequest struct{}" + } + return strings.Join([]string{"UpdateScalingGroupRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_group_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_group_response.go index 20466351a771bdc860192038da1d984c463d0757..78a928ca874470ee20a8f617126c89eae01909e2 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_group_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_group_response.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type UpdateScalingGroupResponse struct { // 伸缩组ID + ScalingGroupId *string `json:"scaling_group_id,omitempty"` + HttpStatusCode int `json:"-"` } func (o UpdateScalingGroupResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "UpdateScalingGroupResponse struct{}" + } + return strings.Join([]string{"UpdateScalingGroupResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_policy_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_policy_option.go new file mode 100644 index 0000000000000000000000000000000000000000..f2c3dddd098b3315271af762422d9bde43b2c1b2 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_policy_option.go @@ -0,0 +1,82 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// 修改伸缩策略 +type UpdateScalingPolicyOption struct { + // 策略名称(1-64字符),可以用中文、字母、数字、下划线、中划线的组合。 + + ScalingPolicyName *string `json:"scaling_policy_name,omitempty"` + // 策略类型。告警策略:ALARM(与alarm_id对应);定时策略:SCHEDULED(与scheduled_policy对应);周期策略:RECURRENCE(与scheduled_policy对应) + + ScalingPolicyType *UpdateScalingPolicyOptionScalingPolicyType `json:"scaling_policy_type,omitempty"` + // 告警ID,即告警规则的ID,当scaling_policy_type为ALARM时该项必选,此时scheduled_policy不生效。创建告警策略成功后,会自动为该告警ID对应的告警规则的alarm_actions字段增加类型为autoscaling的告警触发动作。告警ID通过查询云监控告警规则列表获取,详见《云监控API参考》的“查询告警规则列表”。 + + AlarmId *string `json:"alarm_id,omitempty"` + + ScheduledPolicy *ScheduledPolicy `json:"scheduled_policy,omitempty"` + + ScalingPolicyAction *ScalingPolicyActionV1 `json:"scaling_policy_action,omitempty"` + // 冷却时间,取值范围0-86400,默认为900,单位是秒。 + + CoolDownTime *int32 `json:"cool_down_time,omitempty"` +} + +func (o UpdateScalingPolicyOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateScalingPolicyOption struct{}" + } + + return strings.Join([]string{"UpdateScalingPolicyOption", string(data)}, " ") +} + +type UpdateScalingPolicyOptionScalingPolicyType struct { + value string +} + +type UpdateScalingPolicyOptionScalingPolicyTypeEnum struct { + ALARM UpdateScalingPolicyOptionScalingPolicyType + SCHEDULED UpdateScalingPolicyOptionScalingPolicyType + RECURRENCE UpdateScalingPolicyOptionScalingPolicyType +} + +func GetUpdateScalingPolicyOptionScalingPolicyTypeEnum() UpdateScalingPolicyOptionScalingPolicyTypeEnum { + return UpdateScalingPolicyOptionScalingPolicyTypeEnum{ + ALARM: UpdateScalingPolicyOptionScalingPolicyType{ + value: "ALARM", + }, + SCHEDULED: UpdateScalingPolicyOptionScalingPolicyType{ + value: "SCHEDULED", + }, + RECURRENCE: UpdateScalingPolicyOptionScalingPolicyType{ + value: "RECURRENCE", + }, + } +} + +func (c UpdateScalingPolicyOptionScalingPolicyType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *UpdateScalingPolicyOptionScalingPolicyType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_policy_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_policy_request.go index cfea36a37f46304f6111851471807ce87d6dd893..5e0d7d604efba18a594b4293b4ab27f8b9dabb11 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_policy_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_policy_request.go @@ -1,25 +1,25 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type UpdateScalingPolicyRequest struct { - ScalingPolicyId string `json:"scaling_policy_id"` - Body *UpdateScalingPolicyRequestBody `json:"body,omitempty"` + // 伸缩策略ID。 + + ScalingPolicyId string `json:"scaling_policy_id"` + + Body *UpdateScalingPolicyOption `json:"body,omitempty"` } func (o UpdateScalingPolicyRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "UpdateScalingPolicyRequest struct{}" + } + return strings.Join([]string{"UpdateScalingPolicyRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_policy_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_policy_request_body.go deleted file mode 100644 index 4907038471370b5ac2b6fd5c399666fda4943c12..0000000000000000000000000000000000000000 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_policy_request_body.go +++ /dev/null @@ -1,76 +0,0 @@ -/* - * As - * - * 弹性伸缩API - * - */ - -package model - -import ( - "encoding/json" - "errors" - "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" - "strings" -) - -// 修改伸缩策略 -type UpdateScalingPolicyRequestBody struct { - // 策略名称(1-64字符),可以用中文、字母、数字、下划线、中划线的组合。 - ScalingPolicyName *string `json:"scaling_policy_name,omitempty"` - // 策略类型。告警策略:ALARM(与alarm_id对应);定时策略:SCHEDULED(与scheduled_policy对应);周期策略:RECURRENCE(与scheduled_policy对应) - ScalingPolicyType *UpdateScalingPolicyRequestBodyScalingPolicyType `json:"scaling_policy_type,omitempty"` - // 告警ID,即告警规则的ID,当scaling_policy_type为ALARM时该项必选,此时scheduled_policy不生效。创建告警策略成功后,会自动为该告警ID对应的告警规则的alarm_actions字段增加类型为autoscaling的告警触发动作。告警ID通过查询云监控告警规则列表获取,详见《云监控API参考》的“查询告警规则列表”。 - AlarmId *string `json:"alarm_id,omitempty"` - ScheduledPolicy *ScheduledPolicy `json:"scheduled_policy,omitempty"` - ScalingPolicyAction *ScalingPolicyAction `json:"scaling_policy_action,omitempty"` - // 冷却时间,取值范围0-86400,默认为900,单位是秒。 - CoolDownTime *int32 `json:"cool_down_time,omitempty"` -} - -func (o UpdateScalingPolicyRequestBody) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"UpdateScalingPolicyRequestBody", string(data)}, " ") -} - -type UpdateScalingPolicyRequestBodyScalingPolicyType struct { - value string -} - -type UpdateScalingPolicyRequestBodyScalingPolicyTypeEnum struct { - ALARM UpdateScalingPolicyRequestBodyScalingPolicyType - SCHEDULED UpdateScalingPolicyRequestBodyScalingPolicyType - RECURRENCE UpdateScalingPolicyRequestBodyScalingPolicyType -} - -func GetUpdateScalingPolicyRequestBodyScalingPolicyTypeEnum() UpdateScalingPolicyRequestBodyScalingPolicyTypeEnum { - return UpdateScalingPolicyRequestBodyScalingPolicyTypeEnum{ - ALARM: UpdateScalingPolicyRequestBodyScalingPolicyType{ - value: "ALARM", - }, - SCHEDULED: UpdateScalingPolicyRequestBodyScalingPolicyType{ - value: "SCHEDULED", - }, - RECURRENCE: UpdateScalingPolicyRequestBodyScalingPolicyType{ - value: "RECURRENCE", - }, - } -} - -func (c UpdateScalingPolicyRequestBodyScalingPolicyType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) -} - -func (c *UpdateScalingPolicyRequestBodyScalingPolicyType) UnmarshalJSON(b []byte) error { - myConverter := converter.StringConverterFactory("string") - if myConverter != nil { - val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) - if err == nil { - c.value = val.(string) - return nil - } - return err - } else { - return errors.New("convert enum data to string error") - } -} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_policy_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_policy_response.go index 5298fcf4a1762a39b271af7d473a87c12eda70c4..ef46b92fc64aed802c78011a868b3d0c79f15258 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_policy_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_policy_response.go @@ -1,14 +1,7 @@ -/* - * As - * - * 弹性伸缩API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type UpdateScalingPolicyResponse struct { // 伸缩策略ID。 + ScalingPolicyId *string `json:"scaling_policy_id,omitempty"` + HttpStatusCode int `json:"-"` } func (o UpdateScalingPolicyResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "UpdateScalingPolicyResponse struct{}" + } + return strings.Join([]string{"UpdateScalingPolicyResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_v2_policy_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_v2_policy_option.go new file mode 100644 index 0000000000000000000000000000000000000000..724970da2ead1180a1286989db75c778f7549e14 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_v2_policy_option.go @@ -0,0 +1,129 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// 修改伸缩策略 +type UpdateScalingV2PolicyOption struct { + // 策略名称(1-64)字符,可以用中文、字母、数字、下划线、中划线的组合。 + + ScalingPolicyName *string `json:"scaling_policy_name,omitempty"` + // 伸缩资源ID,伸缩组唯一标识或带宽唯一标识。如果scaling_resource_type为SCALING_GROUP,对应伸缩组唯一标识。如果scaling_resource_type为BANDWIDTH,对应带宽唯一标识。 + + ScalingResourceId *string `json:"scaling_resource_id,omitempty"` + // 伸缩资源类型。伸缩组:SCALING_GROUP。带宽:BANDWIDTH。 + + ScalingResourceType *UpdateScalingV2PolicyOptionScalingResourceType `json:"scaling_resource_type,omitempty"` + // 策略类型。告警策略:ALARM(与alarm_id对应);定时策略:SCHEDULED(与scheduled_policy对应);周期策略:RECURRENCE(与scheduled_policy对应) + + ScalingPolicyType *UpdateScalingV2PolicyOptionScalingPolicyType `json:"scaling_policy_type,omitempty"` + // 告警ID,即告警规则的ID,当scaling_policy_type为ALARM时该项必选,此时scheduled_policy不生效。创建告警策略成功后,会自动为该告警ID对应的告警规则的alarm_actions字段增加类型为autoscaling的告警触发动作。告警ID通过查询云监控告警规则列表获取,详见《云监控API参考》的“查询告警规则列表”。 + + AlarmId *string `json:"alarm_id,omitempty"` + + ScheduledPolicy *ScheduledPolicy `json:"scheduled_policy,omitempty"` + + ScalingPolicyAction *ScalingPolicyActionV2 `json:"scaling_policy_action,omitempty"` + // 冷却时间,取值范围0-86400,默认为300,单位是秒。 + + CoolDownTime *int32 `json:"cool_down_time,omitempty"` + // 伸缩策略描述(1-256个字符) + + Description *string `json:"description,omitempty"` +} + +func (o UpdateScalingV2PolicyOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateScalingV2PolicyOption struct{}" + } + + return strings.Join([]string{"UpdateScalingV2PolicyOption", string(data)}, " ") +} + +type UpdateScalingV2PolicyOptionScalingResourceType struct { + value string +} + +type UpdateScalingV2PolicyOptionScalingResourceTypeEnum struct { + SCALING_GROUP UpdateScalingV2PolicyOptionScalingResourceType + BANDWIDTH UpdateScalingV2PolicyOptionScalingResourceType +} + +func GetUpdateScalingV2PolicyOptionScalingResourceTypeEnum() UpdateScalingV2PolicyOptionScalingResourceTypeEnum { + return UpdateScalingV2PolicyOptionScalingResourceTypeEnum{ + SCALING_GROUP: UpdateScalingV2PolicyOptionScalingResourceType{ + value: "SCALING_GROUP", + }, + BANDWIDTH: UpdateScalingV2PolicyOptionScalingResourceType{ + value: "BANDWIDTH", + }, + } +} + +func (c UpdateScalingV2PolicyOptionScalingResourceType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *UpdateScalingV2PolicyOptionScalingResourceType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type UpdateScalingV2PolicyOptionScalingPolicyType struct { + value string +} + +type UpdateScalingV2PolicyOptionScalingPolicyTypeEnum struct { + ALARM UpdateScalingV2PolicyOptionScalingPolicyType + SCHEDULED UpdateScalingV2PolicyOptionScalingPolicyType + RECURRENCE UpdateScalingV2PolicyOptionScalingPolicyType +} + +func GetUpdateScalingV2PolicyOptionScalingPolicyTypeEnum() UpdateScalingV2PolicyOptionScalingPolicyTypeEnum { + return UpdateScalingV2PolicyOptionScalingPolicyTypeEnum{ + ALARM: UpdateScalingV2PolicyOptionScalingPolicyType{ + value: "ALARM", + }, + SCHEDULED: UpdateScalingV2PolicyOptionScalingPolicyType{ + value: "SCHEDULED", + }, + RECURRENCE: UpdateScalingV2PolicyOptionScalingPolicyType{ + value: "RECURRENCE", + }, + } +} + +func (c UpdateScalingV2PolicyOptionScalingPolicyType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *UpdateScalingV2PolicyOptionScalingPolicyType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_v2_policy_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_v2_policy_request.go new file mode 100644 index 0000000000000000000000000000000000000000..277e8f88bb910d4381c4234170df2d8ebfdf4f39 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_v2_policy_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type UpdateScalingV2PolicyRequest struct { + // 伸缩策略ID。 + + ScalingPolicyId string `json:"scaling_policy_id"` + + Body *UpdateScalingV2PolicyOption `json:"body,omitempty"` +} + +func (o UpdateScalingV2PolicyRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateScalingV2PolicyRequest struct{}" + } + + return strings.Join([]string{"UpdateScalingV2PolicyRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_v2_policy_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_v2_policy_response.go new file mode 100644 index 0000000000000000000000000000000000000000..4510b97a546ca553b7f183b90beba1e2ad6be845 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_update_scaling_v2_policy_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type UpdateScalingV2PolicyResponse struct { + // 伸缩策略ID。 + + ScalingPolicyId *string `json:"scaling_policy_id,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o UpdateScalingV2PolicyResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateScalingV2PolicyResponse struct{}" + } + + return strings.Join([]string{"UpdateScalingV2PolicyResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_version_info.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_version_info.go new file mode 100644 index 0000000000000000000000000000000000000000..c97c9168b0eec5ff5ceb87b3af6663f15957f95c --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_version_info.go @@ -0,0 +1,120 @@ +package model + +import ( + "errors" + "strings" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" +) + +type VersionInfo struct { + // API版本ID。 + + Id *VersionInfoId `json:"id,omitempty"` + // API的URL相关信息。 + + Links *[]Links `json:"links,omitempty"` + // 该版本API支持的最小微版本号。 + + MinVersion *string `json:"min_version,omitempty"` + // 版本状态,为如下3种:CURRENT:表示该版本为主推版本;SUPPORT:表示为老版本,但是现在还继续支持;DEPRECATED:表示为废弃版本,存在后续删除的可能。 + + Status *VersionInfoStatus `json:"status,omitempty"` + // 版本发布时间,使用UTC时间。 + + Update *sdktime.SdkTime `json:"update,omitempty"` + // 该版本API支持的最大微版本号。 + + Version *string `json:"version,omitempty"` +} + +func (o VersionInfo) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "VersionInfo struct{}" + } + + return strings.Join([]string{"VersionInfo", string(data)}, " ") +} + +type VersionInfoId struct { + value string +} + +type VersionInfoIdEnum struct { + V1 VersionInfoId + V2 VersionInfoId +} + +func GetVersionInfoIdEnum() VersionInfoIdEnum { + return VersionInfoIdEnum{ + V1: VersionInfoId{ + value: "v1", + }, + V2: VersionInfoId{ + value: "v2", + }, + } +} + +func (c VersionInfoId) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *VersionInfoId) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type VersionInfoStatus struct { + value string +} + +type VersionInfoStatusEnum struct { + CURRENT VersionInfoStatus + SUPPORT VersionInfoStatus + DEPRECATED VersionInfoStatus +} + +func GetVersionInfoStatusEnum() VersionInfoStatusEnum { + return VersionInfoStatusEnum{ + CURRENT: VersionInfoStatus{ + value: "CURRENT", + }, + SUPPORT: VersionInfoStatus{ + value: "SUPPORT", + }, + DEPRECATED: VersionInfoStatus{ + value: "DEPRECATED", + }, + } +} + +func (c VersionInfoStatus) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *VersionInfoStatus) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_vm_meta_data.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_vm_meta_data.go new file mode 100644 index 0000000000000000000000000000000000000000..d2545cb5a52aa097d30b67fa4f80e6acc8de6be2 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model/model_vm_meta_data.go @@ -0,0 +1,23 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// 云服务器元数据 +type VmMetaData struct { + // Windows弹性云服务器Administrator用户的密码。 + + AdminPass *string `json:"admin_pass,omitempty"` +} + +func (o VmMetaData) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "VmMetaData struct{}" + } + + return strings.Join([]string{"VmMetaData", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/ecs_client.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/ecs_client.go index 35ed678347e973cb3c059b581d25c14e4e8b99de..ea4480ba6efc05d3163f03a3aa594e6419bd8c04 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/ecs_client.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/ecs_client.go @@ -2,15 +2,16 @@ package v2 import ( http_client "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model" ) type EcsClient struct { - hcClient *http_client.HcHttpClient + HcClient *http_client.HcHttpClient } func NewEcsClient(hcClient *http_client.HcHttpClient) *EcsClient { - return &EcsClient{hcClient: hcClient} + return &EcsClient{HcClient: hcClient} } func EcsClientBuilder() *http_client.HcHttpClientBuilder { @@ -22,18 +23,29 @@ func EcsClientBuilder() *http_client.HcHttpClientBuilder { func (c *EcsClient) AddServerGroupMember(request *model.AddServerGroupMemberRequest) (*model.AddServerGroupMemberResponse, error) { requestDef := GenReqDefForAddServerGroupMember() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.AddServerGroupMemberResponse), nil } } +//虚拟IP地址用于为网卡提供第二个IP地址,同时支持与多个弹性云服务器的网卡绑定,从而实现多个弹性云服务器之间的高可用性。 该接口用于给云服务器网卡配置虚拟IP地址: - 当指定的IP地址是一个不存在的虚拟IP地址时,系统会创建该虚拟IP,并绑定至对应网卡。 - 当指定的IP地址是一个已经创建好的私有IP时,系统会将指定的网卡和虚拟IP绑定。如果该IP的device_owner为空,则仅支持VPC内二三层通信;如果该IP的device_owner为neutron:VIP_PORT,则支持VPC内二三层通信、VPC之间对等连接访问,以及弹性公网IP、VPN、云专线等Internet接入。 +func (c *EcsClient) AssociateServerVirtualIp(request *model.AssociateServerVirtualIpRequest) (*model.AssociateServerVirtualIpResponse, error) { + requestDef := GenReqDefForAssociateServerVirtualIp() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.AssociateServerVirtualIpResponse), nil + } +} + //把磁盘挂载到弹性云服务器上。 func (c *EcsClient) AttachServerVolume(request *model.AttachServerVolumeRequest) (*model.AttachServerVolumeResponse, error) { requestDef := GenReqDefForAttachServerVolume() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.AttachServerVolumeResponse), nil @@ -44,18 +56,29 @@ func (c *EcsClient) AttachServerVolume(request *model.AttachServerVolumeRequest) func (c *EcsClient) BatchAddServerNics(request *model.BatchAddServerNicsRequest) (*model.BatchAddServerNicsResponse, error) { requestDef := GenReqDefForBatchAddServerNics() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.BatchAddServerNicsResponse), nil } } +//将指定的共享磁盘一次性挂载到多个弹性云服务器,实现批量挂载。 +func (c *EcsClient) BatchAttachSharableVolumes(request *model.BatchAttachSharableVolumesRequest) (*model.BatchAttachSharableVolumesResponse, error) { + requestDef := GenReqDefForBatchAttachSharableVolumes() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.BatchAttachSharableVolumesResponse), nil + } +} + //- 为指定云服务器批量添加标签。 - 标签管理服务TMS使用该接口批量管理云服务器的标签。 func (c *EcsClient) BatchCreateServerTags(request *model.BatchCreateServerTagsRequest) (*model.BatchCreateServerTagsResponse, error) { requestDef := GenReqDefForBatchCreateServerTags() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.BatchCreateServerTagsResponse), nil @@ -66,7 +89,7 @@ func (c *EcsClient) BatchCreateServerTags(request *model.BatchCreateServerTagsRe func (c *EcsClient) BatchDeleteServerNics(request *model.BatchDeleteServerNicsRequest) (*model.BatchDeleteServerNicsResponse, error) { requestDef := GenReqDefForBatchDeleteServerNics() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.BatchDeleteServerNicsResponse), nil @@ -77,7 +100,7 @@ func (c *EcsClient) BatchDeleteServerNics(request *model.BatchDeleteServerNicsRe func (c *EcsClient) BatchDeleteServerTags(request *model.BatchDeleteServerTagsRequest) (*model.BatchDeleteServerTagsResponse, error) { requestDef := GenReqDefForBatchDeleteServerTags() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.BatchDeleteServerTagsResponse), nil @@ -88,18 +111,29 @@ func (c *EcsClient) BatchDeleteServerTags(request *model.BatchDeleteServerTagsRe func (c *EcsClient) BatchRebootServers(request *model.BatchRebootServersRequest) (*model.BatchRebootServersResponse, error) { requestDef := GenReqDefForBatchRebootServers() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.BatchRebootServersResponse), nil } } +//批量重置弹性云服务器管理帐号(root用户或Administrator用户)的密码。 +func (c *EcsClient) BatchResetServersPassword(request *model.BatchResetServersPasswordRequest) (*model.BatchResetServersPasswordResponse, error) { + requestDef := GenReqDefForBatchResetServersPassword() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.BatchResetServersPasswordResponse), nil + } +} + //根据给定的云服务器ID列表,批量启动云服务器,一次最多可以启动1000台。 func (c *EcsClient) BatchStartServers(request *model.BatchStartServersRequest) (*model.BatchStartServersResponse, error) { requestDef := GenReqDefForBatchStartServers() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.BatchStartServersResponse), nil @@ -110,29 +144,51 @@ func (c *EcsClient) BatchStartServers(request *model.BatchStartServersRequest) ( func (c *EcsClient) BatchStopServers(request *model.BatchStopServersRequest) (*model.BatchStopServersResponse, error) { requestDef := GenReqDefForBatchStopServers() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.BatchStopServersResponse), nil } } +//批量修改弹性云服务器信息。 当前仅支持批量修改云服务器名称,一次最多可以修改1000台。 +func (c *EcsClient) BatchUpdateServersName(request *model.BatchUpdateServersNameRequest) (*model.BatchUpdateServersNameResponse, error) { + requestDef := GenReqDefForBatchUpdateServersName() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.BatchUpdateServersNameResponse), nil + } +} + //切换弹性云服务器操作系统。支持弹性云服务器数据盘不变的情况下,使用新镜像重装系统盘。 调用该接口后,系统将卸载系统盘,然后使用新镜像重新创建系统盘,并挂载至弹性云服务器,实现切换操作系统功能。 func (c *EcsClient) ChangeServerOsWithCloudInit(request *model.ChangeServerOsWithCloudInitRequest) (*model.ChangeServerOsWithCloudInitResponse, error) { requestDef := GenReqDefForChangeServerOsWithCloudInit() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ChangeServerOsWithCloudInitResponse), nil } } -//创建一台或多台按需付费方式的云服务器。 弹性云服务器的登录鉴权方式包括两种:密钥对、密码。为安全起见,推荐使用密钥对方式。 - 密钥对 密钥对指使用密钥对作为弹性云服务器的鉴权方式。 接口调用方法:使用key_name字段,指定弹性云服务器登录时使用的密钥文件。 - 密码 密码指使用设置初始密码方式作为弹性云服务器的鉴权方式,此时,您可以通过用户名密码方式登录弹性云服务器,Linux操作系统时为root用户的初始密码,Windows操作系统时为Administrator用户的初始密码。 接口调用方法:使用adminPass字段,指定管理员帐号的初始登录密码。对于镜像已安装Cloud-init的Linux云服务器,如果需要使用密文密码,可以使用user_data字段进行密码注入。 > 对于安装Cloud-init镜像的Linux云服务器云主机,若指定user_data字段,则adminPass字段无效。 +//切换弹性云服务器操作系统。 该接口支持未安装Cloud-init或Cloudbase-init的镜像使用。 +func (c *EcsClient) ChangeServerOsWithoutCloudInit(request *model.ChangeServerOsWithoutCloudInitRequest) (*model.ChangeServerOsWithoutCloudInitResponse, error) { + requestDef := GenReqDefForChangeServerOsWithoutCloudInit() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ChangeServerOsWithoutCloudInitResponse), nil + } +} + +//创建一台或多台[按需付费](https://support.huaweicloud.com/productdesc-ecs/ecs_01_0065.html)方式的云服务器。 弹性云服务器的登录鉴权方式包括两种:密钥对、密码。为安全起见,推荐使用密钥对方式。 - 密钥对 密钥对指使用密钥对作为弹性云服务器的鉴权方式。 接口调用方法:使用key_name字段,指定弹性云服务器登录时使用的密钥文件。 - 密码 密码指使用设置初始密码方式作为弹性云服务器的鉴权方式,此时,您可以通过用户名密码方式登录弹性云服务器,Linux操作系统时为root用户的初始密码,Windows操作系统时为Administrator用户的初始密码。 接口调用方法:使用adminPass字段,指定管理员帐号的初始登录密码。对于镜像已安装Cloud-init的Linux云服务器,如果需要使用密文密码,可以使用user_data字段进行密码注入。 > 对于安装Cloud-init镜像的Linux云服务器云主机,若指定user_data字段,则adminPass字段无效。 func (c *EcsClient) CreatePostPaidServers(request *model.CreatePostPaidServersRequest) (*model.CreatePostPaidServersResponse, error) { requestDef := GenReqDefForCreatePostPaidServers() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.CreatePostPaidServersResponse), nil @@ -143,18 +199,18 @@ func (c *EcsClient) CreatePostPaidServers(request *model.CreatePostPaidServersRe func (c *EcsClient) CreateServerGroup(request *model.CreateServerGroupRequest) (*model.CreateServerGroupResponse, error) { requestDef := GenReqDefForCreateServerGroup() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.CreateServerGroupResponse), nil } } -//创建一台或多台云服务器。 指该接口兼容《弹性云服务器接口参考》创建云服务器v1的功能,同时合入新功能,支持创建包年/包月的弹性云服务器。 弹性云服务器的登录鉴权方式包括两种:密钥对、密码。为安全起见,推荐使用密钥对方式。 - 密钥对 指使用密钥对作为弹性云服务器的鉴权方式。 接口调用方法:使用key_name字段,指定弹性云服务器登录时使用的密钥文件。 - 密码 指使用设置初始密码方式作为弹性云服务器的鉴权方式,此时,您可以通过用户名密码方式登录弹性云服务器,Linux操作系统时为root用户的初始密码,Windows操作系统时为Administrator用户的初始密码。 接口调用方法:使用adminPass字段,指定管理员帐号的初始登录密码。对于镜像已安装Cloud-init的Linux云服务器,如果需要使用密文密码,可以使用user_data字段进行密码注入。 > 对于安装Cloud-init镜像的Linux云服务器云主机,若指定user_data字段,则adminPass字段无效。 +//创建一台或多台云服务器。 指该接口兼容《弹性云服务器接口参考》创建云服务器v1的功能,同时合入新功能,支持创建[包年/包月](https://support.huaweicloud.com/productdesc-ecs/ecs_01_0065.html)的弹性云服务器。 弹性云服务器的登录鉴权方式包括两种:密钥对、密码。为安全起见,推荐使用密钥对方式。 - 密钥对 指使用密钥对作为弹性云服务器的鉴权方式。 接口调用方法:使用key_name字段,指定弹性云服务器登录时使用的密钥文件。 - 密码 指使用设置初始密码方式作为弹性云服务器的鉴权方式,此时,您可以通过用户名密码方式登录弹性云服务器,Linux操作系统时为root用户的初始密码,Windows操作系统时为Administrator用户的初始密码。 接口调用方法:使用adminPass字段,指定管理员帐号的初始登录密码。对于镜像已安装Cloud-init的Linux云服务器,如果需要使用密文密码,可以使用user_data字段进行密码注入。 > 对于安装Cloud-init镜像的Linux云服务器云主机,若指定user_data字段,则adminPass字段无效。 购买操作示例: - [使用API购买ECS过程中常见问题及处理方法](https://support.huaweicloud.com/api-ecs/ecs_04_0007.html) - [获取Token并检验Token的有效期 ](https://support.huaweicloud.com/api-ecs/ecs_04_0008.html) func (c *EcsClient) CreateServers(request *model.CreateServersRequest) (*model.CreateServersResponse, error) { requestDef := GenReqDefForCreateServers() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.CreateServersResponse), nil @@ -165,7 +221,7 @@ func (c *EcsClient) CreateServers(request *model.CreateServersRequest) (*model.C func (c *EcsClient) DeleteServerGroup(request *model.DeleteServerGroupRequest) (*model.DeleteServerGroupResponse, error) { requestDef := GenReqDefForDeleteServerGroup() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.DeleteServerGroupResponse), nil @@ -176,7 +232,7 @@ func (c *EcsClient) DeleteServerGroup(request *model.DeleteServerGroupRequest) ( func (c *EcsClient) DeleteServerGroupMember(request *model.DeleteServerGroupMemberRequest) (*model.DeleteServerGroupMemberResponse, error) { requestDef := GenReqDefForDeleteServerGroupMember() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.DeleteServerGroupMemberResponse), nil @@ -187,18 +243,29 @@ func (c *EcsClient) DeleteServerGroupMember(request *model.DeleteServerGroupMemb func (c *EcsClient) DeleteServerMetadata(request *model.DeleteServerMetadataRequest) (*model.DeleteServerMetadataResponse, error) { requestDef := GenReqDefForDeleteServerMetadata() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.DeleteServerMetadataResponse), nil } } +//清除Windows云服务器初始安装时系统生成的密码记录。清除密码后,不影响云服务器密码登录功能,但不能再使用获取密码功能来查询该云服务器密码。 +func (c *EcsClient) DeleteServerPassword(request *model.DeleteServerPasswordRequest) (*model.DeleteServerPasswordResponse, error) { + requestDef := GenReqDefForDeleteServerPassword() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeleteServerPasswordResponse), nil + } +} + //根据指定的云服务器ID列表,删除云服务器。 系统支持删除单台云服务器和批量删除多台云服务器操作,批量删除云服务器时,一次最多可以删除1000台。 func (c *EcsClient) DeleteServers(request *model.DeleteServersRequest) (*model.DeleteServersResponse, error) { requestDef := GenReqDefForDeleteServers() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.DeleteServersResponse), nil @@ -209,18 +276,29 @@ func (c *EcsClient) DeleteServers(request *model.DeleteServersRequest) (*model.D func (c *EcsClient) DetachServerVolume(request *model.DetachServerVolumeRequest) (*model.DetachServerVolumeResponse, error) { requestDef := GenReqDefForDetachServerVolume() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.DetachServerVolumeResponse), nil } } +//虚拟IP地址用于为网卡提供第二个IP地址,同时支持与多个弹性云服务器的网卡绑定,从而实现多个弹性云服务器之间的高可用性。 该接口用于解绑定弹性云服务器网卡的虚拟IP地址。解绑后,网卡不会被删除。 +func (c *EcsClient) DisassociateServerVirtualIp(request *model.DisassociateServerVirtualIpRequest) (*model.DisassociateServerVirtualIpResponse, error) { + requestDef := GenReqDefForDisassociateServerVirtualIp() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DisassociateServerVirtualIpResponse), nil + } +} + //查询云服务器规格详情信息和规格扩展信息列表。 func (c *EcsClient) ListFlavors(request *model.ListFlavorsRequest) (*model.ListFlavorsResponse, error) { requestDef := GenReqDefForListFlavors() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ListFlavorsResponse), nil @@ -231,7 +309,7 @@ func (c *EcsClient) ListFlavors(request *model.ListFlavorsRequest) (*model.ListF func (c *EcsClient) ListResizeFlavors(request *model.ListResizeFlavorsRequest) (*model.ListResizeFlavorsResponse, error) { requestDef := GenReqDefForListResizeFlavors() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ListResizeFlavorsResponse), nil @@ -242,40 +320,73 @@ func (c *EcsClient) ListResizeFlavors(request *model.ListResizeFlavorsRequest) ( func (c *EcsClient) ListServerBlockDevices(request *model.ListServerBlockDevicesRequest) (*model.ListServerBlockDevicesResponse, error) { requestDef := GenReqDefForListServerBlockDevices() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ListServerBlockDevicesResponse), nil } } +//查询弹性云服务器组。 与原生的创建云服务器组接口不同之处在于该接口支持企业项目细粒度权限的校验。 +func (c *EcsClient) ListServerGroups(request *model.ListServerGroupsRequest) (*model.ListServerGroupsResponse, error) { + requestDef := GenReqDefForListServerGroups() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListServerGroupsResponse), nil + } +} + //查询云服务器网卡信息。 func (c *EcsClient) ListServerInterfaces(request *model.ListServerInterfacesRequest) (*model.ListServerInterfacesResponse, error) { requestDef := GenReqDefForListServerInterfaces() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ListServerInterfacesResponse), nil } } +//项目(Project)用于将OpenStack的资源(计算资源、存储资源和网络资源)进行分组和隔离。项目可以是一个部门或者一个项目组。一个帐户中可以创建多个项目。 该接口用于查询用户在指定项目所使用的全部标签。 +func (c *EcsClient) ListServerTags(request *model.ListServerTagsRequest) (*model.ListServerTagsResponse, error) { + requestDef := GenReqDefForListServerTags() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListServerTagsResponse), nil + } +} + //根据用户请求条件从数据库筛选、查询所有的弹性云服务器,并关联相关表获取到弹性云服务器的详细信息。 该接口支持查询弹性云服务器计费方式,以及是否被冻结。 func (c *EcsClient) ListServersDetails(request *model.ListServersDetailsRequest) (*model.ListServersDetailsResponse, error) { requestDef := GenReqDefForListServersDetails() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ListServersDetailsResponse), nil } } +//- 将部署在专属主机上的弹性云服务器迁移至其他专属主机。 - 将部署在专属主机上的弹性云服务器迁移至公共资源池,即不再部署在专属主机上。 - 将公共资源池的弹性云服务器迁移至专属主机上,成为专属主机上部署的弹性云服务器。 +func (c *EcsClient) MigrateServer(request *model.MigrateServerRequest) (*model.MigrateServerResponse, error) { + requestDef := GenReqDefForMigrateServer() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.MigrateServerResponse), nil + } +} + //为弹性云服务器添加一个安全组。 添加多个安全组时,建议最多为弹性云服务器添加5个安全组。 func (c *EcsClient) NovaAssociateSecurityGroup(request *model.NovaAssociateSecurityGroupRequest) (*model.NovaAssociateSecurityGroupResponse, error) { requestDef := GenReqDefForNovaAssociateSecurityGroup() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.NovaAssociateSecurityGroupResponse), nil @@ -286,7 +397,7 @@ func (c *EcsClient) NovaAssociateSecurityGroup(request *model.NovaAssociateSecur func (c *EcsClient) NovaCreateKeypair(request *model.NovaCreateKeypairRequest) (*model.NovaCreateKeypairResponse, error) { requestDef := GenReqDefForNovaCreateKeypair() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.NovaCreateKeypairResponse), nil @@ -297,7 +408,7 @@ func (c *EcsClient) NovaCreateKeypair(request *model.NovaCreateKeypairRequest) ( func (c *EcsClient) NovaCreateServers(request *model.NovaCreateServersRequest) (*model.NovaCreateServersResponse, error) { requestDef := GenReqDefForNovaCreateServers() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.NovaCreateServersResponse), nil @@ -308,7 +419,7 @@ func (c *EcsClient) NovaCreateServers(request *model.NovaCreateServersRequest) ( func (c *EcsClient) NovaDeleteKeypair(request *model.NovaDeleteKeypairRequest) (*model.NovaDeleteKeypairResponse, error) { requestDef := GenReqDefForNovaDeleteKeypair() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.NovaDeleteKeypairResponse), nil @@ -319,7 +430,7 @@ func (c *EcsClient) NovaDeleteKeypair(request *model.NovaDeleteKeypairRequest) ( func (c *EcsClient) NovaDeleteServer(request *model.NovaDeleteServerRequest) (*model.NovaDeleteServerResponse, error) { requestDef := GenReqDefForNovaDeleteServer() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.NovaDeleteServerResponse), nil @@ -330,7 +441,7 @@ func (c *EcsClient) NovaDeleteServer(request *model.NovaDeleteServerRequest) (*m func (c *EcsClient) NovaDisassociateSecurityGroup(request *model.NovaDisassociateSecurityGroupRequest) (*model.NovaDisassociateSecurityGroupResponse, error) { requestDef := GenReqDefForNovaDisassociateSecurityGroup() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.NovaDisassociateSecurityGroupResponse), nil @@ -341,7 +452,7 @@ func (c *EcsClient) NovaDisassociateSecurityGroup(request *model.NovaDisassociat func (c *EcsClient) NovaListAvailabilityZones(request *model.NovaListAvailabilityZonesRequest) (*model.NovaListAvailabilityZonesResponse, error) { requestDef := GenReqDefForNovaListAvailabilityZones() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.NovaListAvailabilityZonesResponse), nil @@ -352,7 +463,7 @@ func (c *EcsClient) NovaListAvailabilityZones(request *model.NovaListAvailabilit func (c *EcsClient) NovaListKeypairs(request *model.NovaListKeypairsRequest) (*model.NovaListKeypairsResponse, error) { requestDef := GenReqDefForNovaListKeypairs() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.NovaListKeypairsResponse), nil @@ -363,7 +474,7 @@ func (c *EcsClient) NovaListKeypairs(request *model.NovaListKeypairsRequest) (*m func (c *EcsClient) NovaListServerSecurityGroups(request *model.NovaListServerSecurityGroupsRequest) (*model.NovaListServerSecurityGroupsResponse, error) { requestDef := GenReqDefForNovaListServerSecurityGroups() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.NovaListServerSecurityGroupsResponse), nil @@ -374,40 +485,73 @@ func (c *EcsClient) NovaListServerSecurityGroups(request *model.NovaListServerSe func (c *EcsClient) NovaListServersDetails(request *model.NovaListServersDetailsRequest) (*model.NovaListServersDetailsResponse, error) { requestDef := GenReqDefForNovaListServersDetails() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.NovaListServersDetailsResponse), nil } } +//根据SSH密钥名称查询指定SSH密钥。 +func (c *EcsClient) NovaShowKeypair(request *model.NovaShowKeypairRequest) (*model.NovaShowKeypairResponse, error) { + requestDef := GenReqDefForNovaShowKeypair() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.NovaShowKeypairResponse), nil + } +} + //根据云服务器ID,查询云服务器的详细信息。 func (c *EcsClient) NovaShowServer(request *model.NovaShowServerRequest) (*model.NovaShowServerResponse, error) { requestDef := GenReqDefForNovaShowServer() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.NovaShowServerResponse), nil } } +//配置、删除云服务器自动恢复动作。 +func (c *EcsClient) RegisterServerAutoRecovery(request *model.RegisterServerAutoRecoveryRequest) (*model.RegisterServerAutoRecoveryResponse, error) { + requestDef := GenReqDefForRegisterServerAutoRecovery() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.RegisterServerAutoRecoveryResponse), nil + } +} + //重装弹性云服务器的操作系统。支持弹性云服务器数据盘不变的情况下,使用原镜像重装系统盘。 调用该接口后,系统将卸载系统盘,然后使用原镜像重新创建系统盘,并挂载至弹性云服务器,实现重装操作系统功能。 func (c *EcsClient) ReinstallServerWithCloudInit(request *model.ReinstallServerWithCloudInitRequest) (*model.ReinstallServerWithCloudInitResponse, error) { requestDef := GenReqDefForReinstallServerWithCloudInit() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ReinstallServerWithCloudInitResponse), nil } } +//重装弹性云服务器的操作系统。 该接口支持未安装Cloud-init或Cloudbase-init的镜像。 +func (c *EcsClient) ReinstallServerWithoutCloudInit(request *model.ReinstallServerWithoutCloudInitRequest) (*model.ReinstallServerWithoutCloudInitResponse, error) { + requestDef := GenReqDefForReinstallServerWithoutCloudInit() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ReinstallServerWithoutCloudInitResponse), nil + } +} + //重置弹性云服务器管理帐号(root用户或Administrator用户)的密码。 func (c *EcsClient) ResetServerPassword(request *model.ResetServerPasswordRequest) (*model.ResetServerPasswordResponse, error) { requestDef := GenReqDefForResetServerPassword() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ResetServerPasswordResponse), nil @@ -418,7 +562,7 @@ func (c *EcsClient) ResetServerPassword(request *model.ResetServerPasswordReques func (c *EcsClient) ResizePostPaidServer(request *model.ResizePostPaidServerRequest) (*model.ResizePostPaidServerResponse, error) { requestDef := GenReqDefForResizePostPaidServer() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ResizePostPaidServerResponse), nil @@ -429,7 +573,7 @@ func (c *EcsClient) ResizePostPaidServer(request *model.ResizePostPaidServerRequ func (c *EcsClient) ResizeServer(request *model.ResizeServerRequest) (*model.ResizeServerResponse, error) { requestDef := GenReqDefForResizeServer() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ResizeServerResponse), nil @@ -440,7 +584,7 @@ func (c *EcsClient) ResizeServer(request *model.ResizeServerRequest) (*model.Res func (c *EcsClient) ShowResetPasswordFlag(request *model.ShowResetPasswordFlagRequest) (*model.ShowResetPasswordFlagResponse, error) { requestDef := GenReqDefForShowResetPasswordFlag() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ShowResetPasswordFlagResponse), nil @@ -451,29 +595,73 @@ func (c *EcsClient) ShowResetPasswordFlag(request *model.ShowResetPasswordFlagRe func (c *EcsClient) ShowServer(request *model.ShowServerRequest) (*model.ShowServerResponse, error) { requestDef := GenReqDefForShowServer() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ShowServerResponse), nil } } +//查询云服务器是否配置了自动恢复动作。 +func (c *EcsClient) ShowServerAutoRecovery(request *model.ShowServerAutoRecoveryRequest) (*model.ShowServerAutoRecoveryResponse, error) { + requestDef := GenReqDefForShowServerAutoRecovery() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowServerAutoRecoveryResponse), nil + } +} + +//查询弹性云服务器挂载的单个磁盘信息。 +func (c *EcsClient) ShowServerBlockDevice(request *model.ShowServerBlockDeviceRequest) (*model.ShowServerBlockDeviceResponse, error) { + requestDef := GenReqDefForShowServerBlockDevice() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowServerBlockDeviceResponse), nil + } +} + +//查询弹性云服务器组详情。 与原生的创建云服务器组接口不同之处在于该接口支持企业项目细粒度权限的校验。 +func (c *EcsClient) ShowServerGroup(request *model.ShowServerGroupRequest) (*model.ShowServerGroupResponse, error) { + requestDef := GenReqDefForShowServerGroup() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowServerGroupResponse), nil + } +} + //查询租户配额信息。 func (c *EcsClient) ShowServerLimits(request *model.ShowServerLimitsRequest) (*model.ShowServerLimitsResponse, error) { requestDef := GenReqDefForShowServerLimits() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ShowServerLimitsResponse), nil } } +//当通过支持Cloudbase-init功能的镜像创建Windows云服务器时,获取云服务器初始安装时系统生成的管理员帐户(Administrator帐户或Cloudbase-init设置的帐户)随机密码。 +func (c *EcsClient) ShowServerPassword(request *model.ShowServerPasswordRequest) (*model.ShowServerPasswordResponse, error) { + requestDef := GenReqDefForShowServerPassword() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowServerPasswordResponse), nil + } +} + //获取弹性云服务器VNC远程登录地址。 func (c *EcsClient) ShowServerRemoteConsole(request *model.ShowServerRemoteConsoleRequest) (*model.ShowServerRemoteConsoleResponse, error) { requestDef := GenReqDefForShowServerRemoteConsole() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ShowServerRemoteConsoleResponse), nil @@ -484,7 +672,7 @@ func (c *EcsClient) ShowServerRemoteConsole(request *model.ShowServerRemoteConso func (c *EcsClient) ShowServerTags(request *model.ShowServerTagsRequest) (*model.ShowServerTagsResponse, error) { requestDef := GenReqDefForShowServerTags() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ShowServerTagsResponse), nil @@ -495,18 +683,29 @@ func (c *EcsClient) ShowServerTags(request *model.ShowServerTagsRequest) (*model func (c *EcsClient) UpdateServer(request *model.UpdateServerRequest) (*model.UpdateServerResponse, error) { requestDef := GenReqDefForUpdateServer() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.UpdateServerResponse), nil } } +//修改按需服务器,设置定时销毁时间。如果设置的销毁时间为空,表示取消销毁时间。 该接口支持企业项目细粒度权限的校验,具体细粒度请参见 ecs:cloudServers:put。 +func (c *EcsClient) UpdateServerAutoTerminateTime(request *model.UpdateServerAutoTerminateTimeRequest) (*model.UpdateServerAutoTerminateTimeResponse, error) { + requestDef := GenReqDefForUpdateServerAutoTerminateTime() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.UpdateServerAutoTerminateTimeResponse), nil + } +} + //更新云服务器元数据。 - 如果元数据中没有待更新字段,则自动添加该字段。 - 如果元数据中已存在待更新字段,则直接更新字段值。 - 如果元数据中的字段不再请求参数中,则保持不变 func (c *EcsClient) UpdateServerMetadata(request *model.UpdateServerMetadataRequest) (*model.UpdateServerMetadataResponse, error) { requestDef := GenReqDefForUpdateServerMetadata() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.UpdateServerMetadataResponse), nil @@ -517,7 +716,7 @@ func (c *EcsClient) UpdateServerMetadata(request *model.UpdateServerMetadataRequ func (c *EcsClient) ShowJob(request *model.ShowJobRequest) (*model.ShowJobResponse, error) { requestDef := GenReqDefForShowJob() - if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { return nil, err } else { return resp.(*model.ShowJobResponse), nil diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/ecs_meta.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/ecs_meta.go index 4796cf22e9e5aa13fc945f39bdc92603fad48bf4..2e6a6a0550d73dff2593da94ec89c0eec13f0607 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/ecs_meta.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/ecs_meta.go @@ -1,9 +1,10 @@ package v2 import ( + "net/http" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/def" "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model" - "net/http" ) func GenReqDefForAddServerGroupMember() *def.HttpRequestDef { @@ -13,7 +14,6 @@ func GenReqDefForAddServerGroupMember() *def.HttpRequestDef { WithResponse(new(model.AddServerGroupMemberResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerGroupId"). WithJsonTag("server_group_id"). @@ -23,7 +23,25 @@ func GenReqDefForAddServerGroupMember() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForAssociateServerVirtualIp() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v1/{project_id}/cloudservers/nics/{nic_id}"). + WithResponse(new(model.AssociateServerVirtualIpResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("NicId"). + WithJsonTag("nic_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) requestDef := reqDefBuilder.Build() return requestDef @@ -36,7 +54,6 @@ func GenReqDefForAttachServerVolume() *def.HttpRequestDef { WithResponse(new(model.AttachServerVolumeResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerId"). WithJsonTag("server_id"). @@ -46,8 +63,6 @@ func GenReqDefForAttachServerVolume() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -59,7 +74,6 @@ func GenReqDefForBatchAddServerNics() *def.HttpRequestDef { WithResponse(new(model.BatchAddServerNicsResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerId"). WithJsonTag("server_id"). @@ -69,7 +83,25 @@ func GenReqDefForBatchAddServerNics() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForBatchAttachSharableVolumes() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v1/{project_id}/batchaction/attachvolumes/{volume_id}"). + WithResponse(new(model.BatchAttachSharableVolumesResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("VolumeId"). + WithJsonTag("volume_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) requestDef := reqDefBuilder.Build() return requestDef @@ -82,7 +114,6 @@ func GenReqDefForBatchCreateServerTags() *def.HttpRequestDef { WithResponse(new(model.BatchCreateServerTagsResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerId"). WithJsonTag("server_id"). @@ -92,8 +123,6 @@ func GenReqDefForBatchCreateServerTags() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -105,7 +134,6 @@ func GenReqDefForBatchDeleteServerNics() *def.HttpRequestDef { WithResponse(new(model.BatchDeleteServerNicsResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerId"). WithJsonTag("server_id"). @@ -115,8 +143,6 @@ func GenReqDefForBatchDeleteServerNics() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -128,7 +154,6 @@ func GenReqDefForBatchDeleteServerTags() *def.HttpRequestDef { WithResponse(new(model.BatchDeleteServerTagsResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerId"). WithJsonTag("server_id"). @@ -138,8 +163,6 @@ func GenReqDefForBatchDeleteServerTags() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -151,13 +174,24 @@ func GenReqDefForBatchRebootServers() *def.HttpRequestDef { WithResponse(new(model.BatchRebootServersResponse)). WithContentType("application/json;charset=UTF-8") - // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("Body"). WithLocationType(def.Body)) - // response + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForBatchResetServersPassword() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v1/{project_id}/cloudservers/os-reset-passwords"). + WithResponse(new(model.BatchResetServersPasswordResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) requestDef := reqDefBuilder.Build() return requestDef @@ -170,14 +204,10 @@ func GenReqDefForBatchStartServers() *def.HttpRequestDef { WithResponse(new(model.BatchStartServersResponse)). WithContentType("application/json;charset=UTF-8") - // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -189,13 +219,24 @@ func GenReqDefForBatchStopServers() *def.HttpRequestDef { WithResponse(new(model.BatchStopServersResponse)). WithContentType("application/json;charset=UTF-8") - // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("Body"). WithLocationType(def.Body)) - // response + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForBatchUpdateServersName() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v1/{project_id}/cloudservers/server-name"). + WithResponse(new(model.BatchUpdateServersNameResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) requestDef := reqDefBuilder.Build() return requestDef @@ -208,7 +249,6 @@ func GenReqDefForChangeServerOsWithCloudInit() *def.HttpRequestDef { WithResponse(new(model.ChangeServerOsWithCloudInitResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerId"). WithJsonTag("server_id"). @@ -218,7 +258,25 @@ func GenReqDefForChangeServerOsWithCloudInit() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForChangeServerOsWithoutCloudInit() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v1/{project_id}/cloudservers/{server_id}/changeos"). + WithResponse(new(model.ChangeServerOsWithoutCloudInitResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ServerId"). + WithJsonTag("server_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) requestDef := reqDefBuilder.Build() return requestDef @@ -231,14 +289,10 @@ func GenReqDefForCreatePostPaidServers() *def.HttpRequestDef { WithResponse(new(model.CreatePostPaidServersResponse)). WithContentType("application/json;charset=UTF-8") - // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -250,14 +304,10 @@ func GenReqDefForCreateServerGroup() *def.HttpRequestDef { WithResponse(new(model.CreateServerGroupResponse)). WithContentType("application/json;charset=UTF-8") - // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -269,14 +319,10 @@ func GenReqDefForCreateServers() *def.HttpRequestDef { WithResponse(new(model.CreateServersResponse)). WithContentType("application/json;charset=UTF-8") - // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -285,16 +331,14 @@ func GenReqDefForDeleteServerGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). WithPath("/v1/{project_id}/cloudservers/os-server-groups/{server_group_id}"). - WithResponse(new(model.DeleteServerGroupResponse)) + WithResponse(new(model.DeleteServerGroupResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerGroupId"). WithJsonTag("server_group_id"). WithLocationType(def.Path)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -306,7 +350,6 @@ func GenReqDefForDeleteServerGroupMember() *def.HttpRequestDef { WithResponse(new(model.DeleteServerGroupMemberResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerGroupId"). WithJsonTag("server_group_id"). @@ -316,8 +359,6 @@ func GenReqDefForDeleteServerGroupMember() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -326,9 +367,9 @@ func GenReqDefForDeleteServerMetadata() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). WithPath("/v1/{project_id}/cloudservers/{server_id}/metadata/{key}"). - WithResponse(new(model.DeleteServerMetadataResponse)) + WithResponse(new(model.DeleteServerMetadataResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("Key"). WithJsonTag("key"). @@ -338,7 +379,21 @@ func GenReqDefForDeleteServerMetadata() *def.HttpRequestDef { WithJsonTag("server_id"). WithLocationType(def.Path)) - // response + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeleteServerPassword() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v1/{project_id}/cloudservers/{server_id}/os-server-password"). + WithResponse(new(model.DeleteServerPasswordResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ServerId"). + WithJsonTag("server_id"). + WithLocationType(def.Path)) requestDef := reqDefBuilder.Build() return requestDef @@ -351,14 +406,10 @@ func GenReqDefForDeleteServers() *def.HttpRequestDef { WithResponse(new(model.DeleteServersResponse)). WithContentType("application/json;charset=UTF-8") - // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -367,9 +418,9 @@ func GenReqDefForDetachServerVolume() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). WithPath("/v1/{project_id}/cloudservers/{server_id}/detachvolume/{volume_id}"). - WithResponse(new(model.DetachServerVolumeResponse)) + WithResponse(new(model.DetachServerVolumeResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerId"). WithJsonTag("server_id"). @@ -384,7 +435,25 @@ func GenReqDefForDetachServerVolume() *def.HttpRequestDef { WithJsonTag("delete_flag"). WithLocationType(def.Query)) - // response + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDisassociateServerVirtualIp() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v1/{project_id}/cloudservers/nics/{nic_id}"). + WithResponse(new(model.DisassociateServerVirtualIpResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("NicId"). + WithJsonTag("nic_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) requestDef := reqDefBuilder.Build() return requestDef @@ -394,17 +463,14 @@ func GenReqDefForListFlavors() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/v1/{project_id}/cloudservers/flavors"). - WithResponse(new(model.ListFlavorsResponse)) - - // request + WithResponse(new(model.ListFlavorsResponse)). + WithContentType("application/json") reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("AvailabilityZone"). WithJsonTag("availability_zone"). WithLocationType(def.Query)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -413,9 +479,8 @@ func GenReqDefForListResizeFlavors() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/v1/{project_id}/cloudservers/resize_flavors"). - WithResponse(new(model.ListResizeFlavorsResponse)) - - // request + WithResponse(new(model.ListResizeFlavorsResponse)). + WithContentType("application/json") reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("InstanceUuid"). @@ -446,8 +511,6 @@ func GenReqDefForListResizeFlavors() *def.HttpRequestDef { WithJsonTag("source_flavor_name"). WithLocationType(def.Query)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -456,15 +519,33 @@ func GenReqDefForListServerBlockDevices() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/v1/{project_id}/cloudservers/{server_id}/block_device"). - WithResponse(new(model.ListServerBlockDevicesResponse)) + WithResponse(new(model.ListServerBlockDevicesResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerId"). WithJsonTag("server_id"). WithLocationType(def.Path)) - // response + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListServerGroups() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/cloudservers/os-server-groups"). + WithResponse(new(model.ListServerGroupsResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Marker"). + WithJsonTag("marker"). + WithLocationType(def.Query)) requestDef := reqDefBuilder.Build() return requestDef @@ -474,15 +555,24 @@ func GenReqDefForListServerInterfaces() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/v1/{project_id}/cloudservers/{server_id}/os-interface"). - WithResponse(new(model.ListServerInterfacesResponse)) + WithResponse(new(model.ListServerInterfacesResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerId"). WithJsonTag("server_id"). WithLocationType(def.Path)) - // response + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListServerTags() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/cloudservers/tags"). + WithResponse(new(model.ListServerTagsResponse)). + WithContentType("application/json") requestDef := reqDefBuilder.Build() return requestDef @@ -492,9 +582,8 @@ func GenReqDefForListServersDetails() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/v1/{project_id}/cloudservers/detail"). - WithResponse(new(model.ListServersDetailsResponse)) - - // request + WithResponse(new(model.ListServersDetailsResponse)). + WithContentType("application/json") reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("EnterpriseProjectId"). @@ -537,7 +626,25 @@ func GenReqDefForListServersDetails() *def.HttpRequestDef { WithJsonTag("tags"). WithLocationType(def.Query)) - // response + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForMigrateServer() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v1/{project_id}/cloudservers/{server_id}/migrate"). + WithResponse(new(model.MigrateServerResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ServerId"). + WithJsonTag("server_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) requestDef := reqDefBuilder.Build() return requestDef @@ -550,7 +657,6 @@ func GenReqDefForNovaAssociateSecurityGroup() *def.HttpRequestDef { WithResponse(new(model.NovaAssociateSecurityGroupResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerId"). WithJsonTag("server_id"). @@ -560,8 +666,6 @@ func GenReqDefForNovaAssociateSecurityGroup() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -573,8 +677,6 @@ func GenReqDefForNovaCreateKeypair() *def.HttpRequestDef { WithResponse(new(model.NovaCreateKeypairResponse)). WithContentType("application/json;charset=UTF-8") - // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("OpenStackAPIVersion"). WithJsonTag("OpenStack-API-Version"). @@ -584,8 +686,6 @@ func GenReqDefForNovaCreateKeypair() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -597,8 +697,6 @@ func GenReqDefForNovaCreateServers() *def.HttpRequestDef { WithResponse(new(model.NovaCreateServersResponse)). WithContentType("application/json;charset=UTF-8") - // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("OpenStackAPIVersion"). WithJsonTag("OpenStack-API-Version"). @@ -608,8 +706,6 @@ func GenReqDefForNovaCreateServers() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -618,16 +714,14 @@ func GenReqDefForNovaDeleteKeypair() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). WithPath("/v2.1/{project_id}/os-keypairs/{keypair_name}"). - WithResponse(new(model.NovaDeleteKeypairResponse)) + WithResponse(new(model.NovaDeleteKeypairResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("KeypairName"). WithJsonTag("keypair_name"). WithLocationType(def.Path)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -636,16 +730,14 @@ func GenReqDefForNovaDeleteServer() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). WithPath("/v2.1/{project_id}/servers/{server_id}"). - WithResponse(new(model.NovaDeleteServerResponse)) + WithResponse(new(model.NovaDeleteServerResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerId"). WithJsonTag("server_id"). WithLocationType(def.Path)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -657,7 +749,6 @@ func GenReqDefForNovaDisassociateSecurityGroup() *def.HttpRequestDef { WithResponse(new(model.NovaDisassociateSecurityGroupResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerId"). WithJsonTag("server_id"). @@ -667,8 +758,6 @@ func GenReqDefForNovaDisassociateSecurityGroup() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -677,11 +766,8 @@ func GenReqDefForNovaListAvailabilityZones() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/v2.1/{project_id}/os-availability-zone"). - WithResponse(new(model.NovaListAvailabilityZonesResponse)) - - // request - - // response + WithResponse(new(model.NovaListAvailabilityZonesResponse)). + WithContentType("application/json") requestDef := reqDefBuilder.Build() return requestDef @@ -691,9 +777,8 @@ func GenReqDefForNovaListKeypairs() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/v2.1/{project_id}/os-keypairs"). - WithResponse(new(model.NovaListKeypairsResponse)) - - // request + WithResponse(new(model.NovaListKeypairsResponse)). + WithContentType("application/json") reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("Limit"). @@ -709,8 +794,6 @@ func GenReqDefForNovaListKeypairs() *def.HttpRequestDef { WithJsonTag("OpenStack-API-Version"). WithLocationType(def.Header)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -719,16 +802,14 @@ func GenReqDefForNovaListServerSecurityGroups() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/v2.1/{project_id}/servers/{server_id}/os-security-groups"). - WithResponse(new(model.NovaListServerSecurityGroupsResponse)) + WithResponse(new(model.NovaListServerSecurityGroupsResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerId"). WithJsonTag("server_id"). WithLocationType(def.Path)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -737,9 +818,8 @@ func GenReqDefForNovaListServersDetails() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/v2.1/{project_id}/servers/detail"). - WithResponse(new(model.NovaListServersDetailsResponse)) - - // request + WithResponse(new(model.NovaListServersDetailsResponse)). + WithContentType("application/json") reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ChangesSince"). @@ -795,7 +875,26 @@ func GenReqDefForNovaListServersDetails() *def.HttpRequestDef { WithJsonTag("OpenStack-API-Version"). WithLocationType(def.Header)) - // response + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForNovaShowKeypair() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2.1/{project_id}/os-keypairs/{keypair_name}"). + WithResponse(new(model.NovaShowKeypairResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("KeypairName"). + WithJsonTag("keypair_name"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("OpenStackAPIVersion"). + WithJsonTag("OpenStack-API-Version"). + WithLocationType(def.Header)) requestDef := reqDefBuilder.Build() return requestDef @@ -805,9 +904,9 @@ func GenReqDefForNovaShowServer() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/v2.1/{project_id}/servers/{server_id}"). - WithResponse(new(model.NovaShowServerResponse)) + WithResponse(new(model.NovaShowServerResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerId"). WithJsonTag("server_id"). @@ -818,7 +917,25 @@ func GenReqDefForNovaShowServer() *def.HttpRequestDef { WithJsonTag("OpenStack-API-Version"). WithLocationType(def.Header)) - // response + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForRegisterServerAutoRecovery() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v1/{project_id}/cloudservers/{server_id}/autorecovery"). + WithResponse(new(model.RegisterServerAutoRecoveryResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ServerId"). + WithJsonTag("server_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) requestDef := reqDefBuilder.Build() return requestDef @@ -831,7 +948,6 @@ func GenReqDefForReinstallServerWithCloudInit() *def.HttpRequestDef { WithResponse(new(model.ReinstallServerWithCloudInitResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerId"). WithJsonTag("server_id"). @@ -841,7 +957,25 @@ func GenReqDefForReinstallServerWithCloudInit() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForReinstallServerWithoutCloudInit() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v1/{project_id}/cloudservers/{server_id}/reinstallos"). + WithResponse(new(model.ReinstallServerWithoutCloudInitResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ServerId"). + WithJsonTag("server_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) requestDef := reqDefBuilder.Build() return requestDef @@ -854,7 +988,6 @@ func GenReqDefForResetServerPassword() *def.HttpRequestDef { WithResponse(new(model.ResetServerPasswordResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerId"). WithJsonTag("server_id"). @@ -864,8 +997,6 @@ func GenReqDefForResetServerPassword() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -877,7 +1008,6 @@ func GenReqDefForResizePostPaidServer() *def.HttpRequestDef { WithResponse(new(model.ResizePostPaidServerResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerId"). WithJsonTag("server_id"). @@ -887,8 +1017,6 @@ func GenReqDefForResizePostPaidServer() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -900,7 +1028,6 @@ func GenReqDefForResizeServer() *def.HttpRequestDef { WithResponse(new(model.ResizeServerResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerId"). WithJsonTag("server_id"). @@ -910,8 +1037,6 @@ func GenReqDefForResizeServer() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -920,16 +1045,14 @@ func GenReqDefForShowResetPasswordFlag() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/v1/{project_id}/cloudservers/{server_id}/os-resetpwd-flag"). - WithResponse(new(model.ShowResetPasswordFlagResponse)) + WithResponse(new(model.ShowResetPasswordFlagResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerId"). WithJsonTag("server_id"). WithLocationType(def.Path)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -938,15 +1061,65 @@ func GenReqDefForShowServer() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/v1/{project_id}/cloudservers/{server_id}"). - WithResponse(new(model.ShowServerResponse)) + WithResponse(new(model.ShowServerResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerId"). WithJsonTag("server_id"). WithLocationType(def.Path)) - // response + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowServerAutoRecovery() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/cloudservers/{server_id}/autorecovery"). + WithResponse(new(model.ShowServerAutoRecoveryResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ServerId"). + WithJsonTag("server_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowServerBlockDevice() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/cloudservers/{server_id}/block_device/{volume_id}"). + WithResponse(new(model.ShowServerBlockDeviceResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ServerId"). + WithJsonTag("server_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("VolumeId"). + WithJsonTag("volume_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowServerGroup() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/cloudservers/os-server-groups/{server_group_id}"). + WithResponse(new(model.ShowServerGroupResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ServerGroupId"). + WithJsonTag("server_group_id"). + WithLocationType(def.Path)) requestDef := reqDefBuilder.Build() return requestDef @@ -956,11 +1129,24 @@ func GenReqDefForShowServerLimits() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/v1/{project_id}/cloudservers/limits"). - WithResponse(new(model.ShowServerLimitsResponse)) + WithResponse(new(model.ShowServerLimitsResponse)). + WithContentType("application/json") + + requestDef := reqDefBuilder.Build() + return requestDef +} - // request +func GenReqDefForShowServerPassword() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/cloudservers/{server_id}/os-server-password"). + WithResponse(new(model.ShowServerPasswordResponse)). + WithContentType("application/json") - // response + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ServerId"). + WithJsonTag("server_id"). + WithLocationType(def.Path)) requestDef := reqDefBuilder.Build() return requestDef @@ -973,7 +1159,6 @@ func GenReqDefForShowServerRemoteConsole() *def.HttpRequestDef { WithResponse(new(model.ShowServerRemoteConsoleResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerId"). WithJsonTag("server_id"). @@ -983,8 +1168,6 @@ func GenReqDefForShowServerRemoteConsole() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -993,16 +1176,14 @@ func GenReqDefForShowServerTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/v1/{project_id}/cloudservers/{server_id}/tags"). - WithResponse(new(model.ShowServerTagsResponse)) + WithResponse(new(model.ShowServerTagsResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerId"). WithJsonTag("server_id"). WithLocationType(def.Path)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -1014,7 +1195,6 @@ func GenReqDefForUpdateServer() *def.HttpRequestDef { WithResponse(new(model.UpdateServerResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerId"). WithJsonTag("server_id"). @@ -1024,7 +1204,25 @@ func GenReqDefForUpdateServer() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForUpdateServerAutoTerminateTime() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v1/{project_id}/cloudservers/{server_id}/actions/update-auto-terminate-time"). + WithResponse(new(model.UpdateServerAutoTerminateTimeResponse)). + WithContentType("application/json;charset=UTF-8") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ServerId"). + WithJsonTag("server_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) requestDef := reqDefBuilder.Build() return requestDef @@ -1037,7 +1235,6 @@ func GenReqDefForUpdateServerMetadata() *def.HttpRequestDef { WithResponse(new(model.UpdateServerMetadataResponse)). WithContentType("application/json;charset=UTF-8") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("ServerId"). WithJsonTag("server_id"). @@ -1047,8 +1244,6 @@ func GenReqDefForUpdateServerMetadata() *def.HttpRequestDef { WithName("Body"). WithLocationType(def.Body)) - // response - requestDef := reqDefBuilder.Build() return requestDef } @@ -1057,16 +1252,14 @@ func GenReqDefForShowJob() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). WithPath("/v1/{project_id}/jobs/{job_id}"). - WithResponse(new(model.ShowJobResponse)) + WithResponse(new(model.ShowJobResponse)). + WithContentType("application/json") - // request reqDefBuilder.WithRequestField(def.NewFieldDef(). WithName("JobId"). WithJsonTag("job_id"). WithLocationType(def.Path)) - // response - requestDef := reqDefBuilder.Build() return requestDef } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_add_server_group_member_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_add_server_group_member_request.go index ce3aa5a446042e0a8f55ea6a882793df81e30056..7d62c9766225afe7af5295acc8c0733c8ac8b58d 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_add_server_group_member_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_add_server_group_member_request.go @@ -1,25 +1,25 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type AddServerGroupMemberRequest struct { - ServerGroupId string `json:"server_group_id"` - Body *AddServerGroupMemberRequestBody `json:"body,omitempty"` + // 云服务器组ID。 + + ServerGroupId string `json:"server_group_id"` + + Body *AddServerGroupMemberRequestBody `json:"body,omitempty"` } func (o AddServerGroupMemberRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "AddServerGroupMemberRequest struct{}" + } + return strings.Join([]string{"AddServerGroupMemberRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_add_server_group_member_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_add_server_group_member_request_body.go index 970635c6d51f1f841a2d147c06ed912529c46296..102bb195e1946a9ad258adc60e407f51996a3d0d 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_add_server_group_member_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_add_server_group_member_request_body.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -19,6 +12,10 @@ type AddServerGroupMemberRequestBody struct { } func (o AddServerGroupMemberRequestBody) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "AddServerGroupMemberRequestBody struct{}" + } + return strings.Join([]string{"AddServerGroupMemberRequestBody", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_add_server_group_member_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_add_server_group_member_response.go index c0d71be3181eebfd541b3d4909ec92acbb00c7c1..dfdd0e8cb9c7d89eb07d8030cdea1908aeae145a 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_add_server_group_member_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_add_server_group_member_response.go @@ -1,23 +1,21 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type AddServerGroupMemberResponse struct { + HttpStatusCode int `json:"-"` } func (o AddServerGroupMemberResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "AddServerGroupMemberResponse struct{}" + } + return strings.Join([]string{"AddServerGroupMemberResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_associate_server_virtual_ip_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_associate_server_virtual_ip_option.go new file mode 100644 index 0000000000000000000000000000000000000000..6ff5bab22f2ad46cdef18e5ad72d10d8b0ece8d1 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_associate_server_virtual_ip_option.go @@ -0,0 +1,29 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type AssociateServerVirtualIpOption struct { + // 网卡的子网ID。 + + SubnetId string `json:"subnet_id"` + // 网卡即将配置的私有IP的地址。 + + IpAddress string `json:"ip_address"` + // 私有IP的allowed_address_pairs属性是否添加网卡的IP/Mac对。 + + ReverseBinding *bool `json:"reverse_binding,omitempty"` +} + +func (o AssociateServerVirtualIpOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "AssociateServerVirtualIpOption struct{}" + } + + return strings.Join([]string{"AssociateServerVirtualIpOption", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_associate_server_virtual_ip_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_associate_server_virtual_ip_request.go new file mode 100644 index 0000000000000000000000000000000000000000..b874cec9668d1135940348e18292e5102beecd71 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_associate_server_virtual_ip_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type AssociateServerVirtualIpRequest struct { + // 云服务器网卡ID。 + + NicId string `json:"nic_id"` + + Body *AssociateServerVirtualIpRequestBody `json:"body,omitempty"` +} + +func (o AssociateServerVirtualIpRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "AssociateServerVirtualIpRequest struct{}" + } + + return strings.Join([]string{"AssociateServerVirtualIpRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_associate_server_virtual_ip_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_associate_server_virtual_ip_request_body.go new file mode 100644 index 0000000000000000000000000000000000000000..713706e115c369c40100b757f529f1f164ba3f37 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_associate_server_virtual_ip_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// This is a auto create Body Object +type AssociateServerVirtualIpRequestBody struct { + Nic *AssociateServerVirtualIpOption `json:"nic"` +} + +func (o AssociateServerVirtualIpRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "AssociateServerVirtualIpRequestBody struct{}" + } + + return strings.Join([]string{"AssociateServerVirtualIpRequestBody", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_associate_server_virtual_ip_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_associate_server_virtual_ip_response.go new file mode 100644 index 0000000000000000000000000000000000000000..b229703aa7fe53a60a2c8ec07ed67af34c7909ef --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_associate_server_virtual_ip_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type AssociateServerVirtualIpResponse struct { + // 云服务器网卡ID。 + + PortId *string `json:"port_id,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o AssociateServerVirtualIpResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "AssociateServerVirtualIpResponse struct{}" + } + + return strings.Join([]string{"AssociateServerVirtualIpResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_attach_server_volume_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_attach_server_volume_option.go index b85192575cb13a17e0f7b97a31f83a58cfa3c757..d5356cae21961be2fe151a668299586a4141e721 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_attach_server_volume_option.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_attach_server_volume_option.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,12 +9,18 @@ import ( // type AttachServerVolumeOption struct { // 磁盘挂载点。 > 说明: - 新增加的磁盘挂载点不能和已有的磁盘挂载点相同。 - 对于采用XEN虚拟化类型的弹性云服务器,device为必选参数;系统盘挂载点请指定/dev/sda;数据盘挂载点请按英文字母顺序依次指定,如/dev/sdb,/dev/sdc,如果指定了以“/dev/vd”开头的挂载点,系统默认改为“/dev/sd”。 - 对于采用KVM虚拟化类型的弹性云服务器,系统盘挂载点请指定/dev/vda;数据盘挂载点可不用指定,也可按英文字母顺序依次指定,如/dev/vdb,/dev/vdc,如果指定了以“/dev/sd”开头的挂载点,系统默认改为“/dev/vd”。 + Device *string `json:"device,omitempty"` // 待挂载磁盘的磁盘ID,UUID格式。 + VolumeId string `json:"volumeId"` } func (o AttachServerVolumeOption) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "AttachServerVolumeOption struct{}" + } + return strings.Join([]string{"AttachServerVolumeOption", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_attach_server_volume_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_attach_server_volume_request.go index 0b887b3f23da6165beeebf0d8a35fd50a0a6a361..15fb9e65fc0c945a2cd8986372eb47903c470b27 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_attach_server_volume_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_attach_server_volume_request.go @@ -1,25 +1,25 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type AttachServerVolumeRequest struct { - ServerId string `json:"server_id"` - Body *AttachServerVolumeRequestBody `json:"body,omitempty"` + // 云服务器ID。 + + ServerId string `json:"server_id"` + + Body *AttachServerVolumeRequestBody `json:"body,omitempty"` } func (o AttachServerVolumeRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "AttachServerVolumeRequest struct{}" + } + return strings.Join([]string{"AttachServerVolumeRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_attach_server_volume_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_attach_server_volume_request_body.go index fdf9f0985ebb31c37a9b3568f5f2ab36c1ea0c28..cb4fa6f7af59b874e556be9889229b4afe8a5990 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_attach_server_volume_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_attach_server_volume_request_body.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -19,6 +12,10 @@ type AttachServerVolumeRequestBody struct { } func (o AttachServerVolumeRequestBody) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "AttachServerVolumeRequestBody struct{}" + } + return strings.Join([]string{"AttachServerVolumeRequestBody", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_attach_server_volume_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_attach_server_volume_response.go index 6d32326a26d45a99664b22e26d319aa878f2b6b7..9057b4d6dc6e97244647bd1043a05113f1d463fe 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_attach_server_volume_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_attach_server_volume_response.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type AttachServerVolumeResponse struct { // 提交任务成功后返回的任务ID,用户可以使用该ID对任务执行情况进行查询。 - JobId *string `json:"job_id,omitempty"` + + JobId *string `json:"job_id,omitempty"` + HttpStatusCode int `json:"-"` } func (o AttachServerVolumeResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "AttachServerVolumeResponse struct{}" + } + return strings.Join([]string{"AttachServerVolumeResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_add_server_nic_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_add_server_nic_option.go index c59dd35f1ad0639bdaf0af962281be17c74bfcaa..09bca6fc314631fcfd72265f50eabff7d620f7a6 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_add_server_nic_option.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_add_server_nic_option.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,17 +9,26 @@ import ( // type BatchAddServerNicOption struct { // 云服务器添加网卡的信息。 需要指定云服务器所属虚拟私有云下已创建的网络(network)的ID,UUID格式。 指定subnet_id时不能再指定port_id参数。 + SubnetId string `json:"subnet_id"` // 添加网卡的安全组信息 + SecurityGroups *[]ServerNicSecurityGroup `json:"security_groups,omitempty"` // IP地址,无该参数表示自动分配IP地址。 + IpAddress *string `json:"ip_address,omitempty"` // 是否支持ipv6。 取值为true时,标识此网卡支持ipv6。 - Ipv6Enable *bool `json:"ipv6_enable,omitempty"` + + Ipv6Enable *bool `json:"ipv6_enable,omitempty"` + Ipv6Bandwidth *Ipv6Bandwidth `json:"ipv6_bandwidth,omitempty"` } func (o BatchAddServerNicOption) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchAddServerNicOption struct{}" + } + return strings.Join([]string{"BatchAddServerNicOption", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_add_server_nics_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_add_server_nics_request.go index 1ba5802f4d244bbb2f638e83c24d3fac0a1f608b..0ef7eec7b73bd6618c117683423d208934009425 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_add_server_nics_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_add_server_nics_request.go @@ -1,25 +1,25 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type BatchAddServerNicsRequest struct { - ServerId string `json:"server_id"` - Body *BatchAddServerNicsRequestBody `json:"body,omitempty"` + // 云服务器ID。 + + ServerId string `json:"server_id"` + + Body *BatchAddServerNicsRequestBody `json:"body,omitempty"` } func (o BatchAddServerNicsRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchAddServerNicsRequest struct{}" + } + return strings.Join([]string{"BatchAddServerNicsRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_add_server_nics_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_add_server_nics_request_body.go index e420e5cab5d3c2a483d61f668ec405519f329094..23b2f2f4ecb6e4488405bf33ea1fe5077c4ee25e 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_add_server_nics_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_add_server_nics_request_body.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,15 @@ import ( // This is a auto create Body Object type BatchAddServerNicsRequestBody struct { // 需要添加的网卡参数列表。 + Nics []BatchAddServerNicOption `json:"nics"` } func (o BatchAddServerNicsRequestBody) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchAddServerNicsRequestBody struct{}" + } + return strings.Join([]string{"BatchAddServerNicsRequestBody", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_add_server_nics_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_add_server_nics_response.go index 4f0518f78e08b473458c22a7ef55406e585e54ec..3925ba8e9e2787ac33f3d8c8f5fc7035bde5df2c 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_add_server_nics_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_add_server_nics_response.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type BatchAddServerNicsResponse struct { // 提交任务成功后返回的任务ID,用户可以使用该ID对任务执行情况进行查询。 - JobId *string `json:"job_id,omitempty"` + + JobId *string `json:"job_id,omitempty"` + HttpStatusCode int `json:"-"` } func (o BatchAddServerNicsResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchAddServerNicsResponse struct{}" + } + return strings.Join([]string{"BatchAddServerNicsResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_attach_sharable_volumes_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_attach_sharable_volumes_option.go new file mode 100644 index 0000000000000000000000000000000000000000..d76168a575f7fd445c54317fd35b1c39adba8d5f --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_attach_sharable_volumes_option.go @@ -0,0 +1,26 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type BatchAttachSharableVolumesOption struct { + // 共享磁盘需要挂载的弹性云服务器ID。 + + ServerId string `json:"server_id"` + // 磁盘挂载点。 > 说明: > > - 新增加的磁盘挂载点不能和已有的磁盘挂载点相同。 > - 对于采用XEN虚拟化类型的弹性云服务器,device为必选参数;系统盘挂载点请指定/dev/sda;数据盘挂载点请按英文字母顺序依次指定,如/dev/sdb,/dev/sdc,如果指定了以“/dev/vd”开头的挂载点,系统默认改为“/dev/sd”。 > - 对于采用KVM虚拟化类型的弹性云服务器,系统盘挂载点请指定/dev/vda;数据盘挂载点可不用指定,也可按英文字母顺序依次指定,如/dev/vdb,/dev/vdc,如果指定了以“/dev/sd”开头的挂载点,系统默认改为“/dev/vd”。 + + Device *string `json:"device,omitempty"` +} + +func (o BatchAttachSharableVolumesOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchAttachSharableVolumesOption struct{}" + } + + return strings.Join([]string{"BatchAttachSharableVolumesOption", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_attach_sharable_volumes_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_attach_sharable_volumes_request.go new file mode 100644 index 0000000000000000000000000000000000000000..9ce0050b68e1a1012f09e2f264314e02593d63d2 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_attach_sharable_volumes_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type BatchAttachSharableVolumesRequest struct { + // 共享磁盘ID。 + + VolumeId string `json:"volume_id"` + + Body *BatchAttachSharableVolumesRequestBody `json:"body,omitempty"` +} + +func (o BatchAttachSharableVolumesRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchAttachSharableVolumesRequest struct{}" + } + + return strings.Join([]string{"BatchAttachSharableVolumesRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_attach_sharable_volumes_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_attach_sharable_volumes_request_body.go new file mode 100644 index 0000000000000000000000000000000000000000..2dc145ac7e19d3afca67479b6e210098febe1396 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_attach_sharable_volumes_request_body.go @@ -0,0 +1,23 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// This is a auto create Body Object +type BatchAttachSharableVolumesRequestBody struct { + // 共享磁盘需要挂载的弹性云服务器列表。 + + Serverinfo []BatchAttachSharableVolumesOption `json:"serverinfo"` +} + +func (o BatchAttachSharableVolumesRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchAttachSharableVolumesRequestBody struct{}" + } + + return strings.Join([]string{"BatchAttachSharableVolumesRequestBody", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_attach_sharable_volumes_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_attach_sharable_volumes_response.go new file mode 100644 index 0000000000000000000000000000000000000000..e5b01310259d9c35a54fc954f0099b38168b8ba3 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_attach_sharable_volumes_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type BatchAttachSharableVolumesResponse struct { + // 提交任务成功后返回的任务ID,用户可以使用该ID对任务执行情况进行查询。 + + JobId *string `json:"job_id,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o BatchAttachSharableVolumesResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchAttachSharableVolumesResponse struct{}" + } + + return strings.Join([]string{"BatchAttachSharableVolumesResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_create_server_tags_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_create_server_tags_request.go index 30a3209c8e62dcf032e6871ce03011fdc5b69ba1..a107200ce6825d93fe810c46f3122602f06909e4 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_create_server_tags_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_create_server_tags_request.go @@ -1,25 +1,25 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type BatchCreateServerTagsRequest struct { - ServerId string `json:"server_id"` - Body *BatchCreateServerTagsRequestBody `json:"body,omitempty"` + // 云服务器ID。 + + ServerId string `json:"server_id"` + + Body *BatchCreateServerTagsRequestBody `json:"body,omitempty"` } func (o BatchCreateServerTagsRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchCreateServerTagsRequest struct{}" + } + return strings.Join([]string{"BatchCreateServerTagsRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_create_server_tags_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_create_server_tags_request_body.go index 252fe305b540ea05691e29541e684ade899f3cbf..a79e825647d5b1a876355dbb46157069782add9a 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_create_server_tags_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_create_server_tags_request_body.go @@ -1,29 +1,31 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // This is a auto create Body Object type BatchCreateServerTagsRequestBody struct { // 操作标识(仅支持小写):create(创建)。 + Action BatchCreateServerTagsRequestBodyAction `json:"action"` // 标签列表。 + Tags []ServerTag `json:"tags"` } func (o BatchCreateServerTagsRequestBody) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchCreateServerTagsRequestBody struct{}" + } + return strings.Join([]string{"BatchCreateServerTagsRequestBody", string(data)}, " ") } @@ -44,7 +46,7 @@ func GetBatchCreateServerTagsRequestBodyActionEnum() BatchCreateServerTagsReques } func (c BatchCreateServerTagsRequestBodyAction) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *BatchCreateServerTagsRequestBodyAction) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_create_server_tags_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_create_server_tags_response.go index a559eb4b599f05df0eec1e619dd73653a129aac0..dc1931876bc07cfbb4bb6adceaaefc334cd6f80f 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_create_server_tags_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_create_server_tags_response.go @@ -1,23 +1,21 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type BatchCreateServerTagsResponse struct { + HttpStatusCode int `json:"-"` } func (o BatchCreateServerTagsResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchCreateServerTagsResponse struct{}" + } + return strings.Join([]string{"BatchCreateServerTagsResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_nic_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_nic_option.go index 19d08864d76f30ed124e6620d1dfc451f9ca1cb8..48c56cab03920a1a3c6777a4a05dfe414a8dba31 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_nic_option.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_nic_option.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,15 @@ import ( // type BatchDeleteServerNicOption struct { // 网卡Port ID。 + Id string `json:"id"` } func (o BatchDeleteServerNicOption) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchDeleteServerNicOption struct{}" + } + return strings.Join([]string{"BatchDeleteServerNicOption", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_nics_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_nics_request.go index 081dc503363c4156c7c1206635493cfe6c7d1e04..7b83b9b76130b9d66b402b45a0fc1bbb6999ac5b 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_nics_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_nics_request.go @@ -1,25 +1,25 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type BatchDeleteServerNicsRequest struct { - ServerId string `json:"server_id"` - Body *BatchDeleteServerNicsRequestBody `json:"body,omitempty"` + // 云服务器ID。 + + ServerId string `json:"server_id"` + + Body *BatchDeleteServerNicsRequestBody `json:"body,omitempty"` } func (o BatchDeleteServerNicsRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchDeleteServerNicsRequest struct{}" + } + return strings.Join([]string{"BatchDeleteServerNicsRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_nics_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_nics_request_body.go index f13a159bfa57bcd748d15d893a56d9d87cc9c4ad..9dbada5b948f60519faaf91330716e795778fcaf 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_nics_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_nics_request_body.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,15 @@ import ( // This is a auto create Body Object type BatchDeleteServerNicsRequestBody struct { // 需要删除的网卡列表信息。 说明: 主网卡是弹性云服务器上配置了路由规则的网卡,不可删除。 + Nics []BatchDeleteServerNicOption `json:"nics"` } func (o BatchDeleteServerNicsRequestBody) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchDeleteServerNicsRequestBody struct{}" + } + return strings.Join([]string{"BatchDeleteServerNicsRequestBody", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_nics_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_nics_response.go index 6592aabd1bb89f467547b2dcb96e92eabc299dea..76862d81304d865248856f8425906e4c96923713 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_nics_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_nics_response.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type BatchDeleteServerNicsResponse struct { // 提交任务成功后返回的任务ID,用户可以使用该ID对任务执行情况进行查询。 - JobId *string `json:"job_id,omitempty"` + + JobId *string `json:"job_id,omitempty"` + HttpStatusCode int `json:"-"` } func (o BatchDeleteServerNicsResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchDeleteServerNicsResponse struct{}" + } + return strings.Join([]string{"BatchDeleteServerNicsResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_tags_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_tags_request.go index 7d6c9c3582559a3ff028e1851fe782caccb26876..b72d05bea944dc1c663769d49b2256929fa088ae 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_tags_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_tags_request.go @@ -1,25 +1,25 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type BatchDeleteServerTagsRequest struct { - ServerId string `json:"server_id"` - Body *BatchDeleteServerTagsRequestBody `json:"body,omitempty"` + // 云服务器ID。 + + ServerId string `json:"server_id"` + + Body *BatchDeleteServerTagsRequestBody `json:"body,omitempty"` } func (o BatchDeleteServerTagsRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchDeleteServerTagsRequest struct{}" + } + return strings.Join([]string{"BatchDeleteServerTagsRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_tags_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_tags_request_body.go index 587c46d0f0acc1c1b8276e5e8bbe92435fe086b0..c5b42f2a0d198efd0b5cb388109469c1a0805632 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_tags_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_tags_request_body.go @@ -1,29 +1,31 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // This is a auto create Body Object type BatchDeleteServerTagsRequestBody struct { // 操作标识(仅支持小写):delete(删除)。 + Action BatchDeleteServerTagsRequestBodyAction `json:"action"` // 标签列表。 + Tags []ServerTag `json:"tags"` } func (o BatchDeleteServerTagsRequestBody) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchDeleteServerTagsRequestBody struct{}" + } + return strings.Join([]string{"BatchDeleteServerTagsRequestBody", string(data)}, " ") } @@ -44,7 +46,7 @@ func GetBatchDeleteServerTagsRequestBodyActionEnum() BatchDeleteServerTagsReques } func (c BatchDeleteServerTagsRequestBodyAction) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *BatchDeleteServerTagsRequestBodyAction) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_tags_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_tags_response.go index c74d2c9ab213060f4a655381350c603c2039eed7..4159c7aa4717b323fbfad64808ae29133e23799b 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_tags_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_delete_server_tags_response.go @@ -1,23 +1,21 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type BatchDeleteServerTagsResponse struct { + HttpStatusCode int `json:"-"` } func (o BatchDeleteServerTagsResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchDeleteServerTagsResponse struct{}" + } + return strings.Join([]string{"BatchDeleteServerTagsResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_reboot_servers_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_reboot_servers_request.go index c0d022e9b5414ac9fc77990cb3716e99eea95811..f38312f4c0ad6583c034257bb1ba31ba91a861aa 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_reboot_servers_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_reboot_servers_request.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -19,6 +12,10 @@ type BatchRebootServersRequest struct { } func (o BatchRebootServersRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchRebootServersRequest struct{}" + } + return strings.Join([]string{"BatchRebootServersRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_reboot_servers_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_reboot_servers_request_body.go index 572dbcbac623719bc50529f10e2ac1d12ace121a..77475beaecf9bb8ed6fc432d97d4c8a8a95726f3 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_reboot_servers_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_reboot_servers_request_body.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -19,6 +12,10 @@ type BatchRebootServersRequestBody struct { } func (o BatchRebootServersRequestBody) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchRebootServersRequestBody struct{}" + } + return strings.Join([]string{"BatchRebootServersRequestBody", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_reboot_servers_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_reboot_servers_response.go index e391b86fd6858f40b22b349091fce1a3f952ed22..c5315e87d467786729ea35629afc4ba6d859bb32 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_reboot_servers_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_reboot_servers_response.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type BatchRebootServersResponse struct { // 提交任务成功后返回的任务ID,用户可以使用该ID对任务执行情况进行查询。 - JobId *string `json:"job_id,omitempty"` + + JobId *string `json:"job_id,omitempty"` + HttpStatusCode int `json:"-"` } func (o BatchRebootServersResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchRebootServersResponse struct{}" + } + return strings.Join([]string{"BatchRebootServersResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_reboot_severs_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_reboot_severs_option.go index 0d4b293e8a8060d036ed025f57bc9c4de44d321a..392f20625e4c869e59540422e909b1fe81824825 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_reboot_severs_option.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_reboot_severs_option.go @@ -1,29 +1,31 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // type BatchRebootSeversOption struct { // 云服务器ID列表。 + Servers []ServerId `json:"servers"` // 重启类型: - SOFT:普通重启。 - HARD:强制重启。 + Type BatchRebootSeversOptionType `json:"type"` } func (o BatchRebootSeversOption) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchRebootSeversOption struct{}" + } + return strings.Join([]string{"BatchRebootSeversOption", string(data)}, " ") } @@ -48,7 +50,7 @@ func GetBatchRebootSeversOptionTypeEnum() BatchRebootSeversOptionTypeEnum { } func (c BatchRebootSeversOptionType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *BatchRebootSeversOptionType) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_reset_servers_password_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_reset_servers_password_request.go new file mode 100644 index 0000000000000000000000000000000000000000..bbfd9d815fffadcc08438c1c2cef59e3e55ea099 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_reset_servers_password_request.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type BatchResetServersPasswordRequest struct { + Body *BatchResetServersPasswordRequestBody `json:"body,omitempty"` +} + +func (o BatchResetServersPasswordRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchResetServersPasswordRequest struct{}" + } + + return strings.Join([]string{"BatchResetServersPasswordRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_reset_servers_password_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_reset_servers_password_request_body.go new file mode 100644 index 0000000000000000000000000000000000000000..4c2d3c47fdc8f71584fbf0431ad3b874609ccd85 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_reset_servers_password_request_body.go @@ -0,0 +1,29 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// This is a auto create Body Object +type BatchResetServersPasswordRequestBody struct { + // 新密码。 当dry_run字段为true时,该字段为非必填字段,否则为必填字段。 新密码的校验规则: - 允许输入的字符包括:!@%-_=+[]:./? - 禁止输入的字符包括:汉字及【】:;“”‘’、,。《》?¥…()—— ·!~`#&^,{}*();\"'<>|\\ $ - 复杂度上必须包含大写字母(A-Z)、小写字母(a-z)、数字(0-9)、以及允许的特殊字符中的3种以上搭配 - 不能包含用户名 \"Administrator\" 和“root”及逆序字符 - 不能包含用户名 \"Administrator\" 中连续3个字符 + + NewPassword string `json:"new_password"` + // 是否只预检此次请求。 - true:发送检查请求,不会重置密码。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回响应结果。 - false:发送正常请求,通过检查后并且进行重置密码请求。 默认值:false + + DryRun *bool `json:"dry_run,omitempty"` + // 待批量重置密码的弹性云服务器ID信息。 + + Servers []ServerId `json:"servers"` +} + +func (o BatchResetServersPasswordRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchResetServersPasswordRequestBody struct{}" + } + + return strings.Join([]string{"BatchResetServersPasswordRequestBody", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_reset_servers_password_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_reset_servers_password_response.go new file mode 100644 index 0000000000000000000000000000000000000000..11ace3ead3c65302770a5cd9f6591546f8ce1910 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_reset_servers_password_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type BatchResetServersPasswordResponse struct { + // 提交请求成功后返回的响应列表。 + + Response *[]ServerId `json:"response,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o BatchResetServersPasswordResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchResetServersPasswordResponse struct{}" + } + + return strings.Join([]string{"BatchResetServersPasswordResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_start_servers_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_start_servers_option.go index eb4905ef138fa0b6c4f55141bf431d599bb39dec..973bf358b2106281060106f34281c5435b004c7e 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_start_servers_option.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_start_servers_option.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,15 @@ import ( // type BatchStartServersOption struct { // 云服务器ID列表 + Servers []ServerId `json:"servers"` } func (o BatchStartServersOption) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchStartServersOption struct{}" + } + return strings.Join([]string{"BatchStartServersOption", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_start_servers_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_start_servers_request.go index b2b20f04965b3b497a267428ccbebb0413431159..a07c8df8a83fc7870dac104f8e9d71c675aebd3a 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_start_servers_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_start_servers_request.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -19,6 +12,10 @@ type BatchStartServersRequest struct { } func (o BatchStartServersRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchStartServersRequest struct{}" + } + return strings.Join([]string{"BatchStartServersRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_start_servers_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_start_servers_request_body.go index d49e0142afc05fc9c2756d871b607a291b404ad4..9d9f147f6aa38b68c6be566de7817480e87109b9 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_start_servers_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_start_servers_request_body.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -19,6 +12,10 @@ type BatchStartServersRequestBody struct { } func (o BatchStartServersRequestBody) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchStartServersRequestBody struct{}" + } + return strings.Join([]string{"BatchStartServersRequestBody", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_start_servers_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_start_servers_response.go index f51666f546f369bb88774335fde37e53c3c90adc..0c29ae98b17903768c3e3249b2326ac14fe17674 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_start_servers_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_start_servers_response.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type BatchStartServersResponse struct { // 提交任务成功后返回的任务ID,用户可以使用该ID对任务执行情况进行查询。 - JobId *string `json:"job_id,omitempty"` + + JobId *string `json:"job_id,omitempty"` + HttpStatusCode int `json:"-"` } func (o BatchStartServersResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchStartServersResponse struct{}" + } + return strings.Join([]string{"BatchStartServersResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_stop_servers_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_stop_servers_option.go index 8114f6d9f4b45a93705293caa94787609398b12c..e689eb7c8d54827d673258b1b3a39f1992f58482 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_stop_servers_option.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_stop_servers_option.go @@ -1,29 +1,31 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // type BatchStopServersOption struct { // 标记为启动云服务器操作。 + Servers []ServerId `json:"servers"` // 关机类型,默认为SOFT: - SOFT:普通关机(默认)。 - HARD:强制关机。 + Type *BatchStopServersOptionType `json:"type,omitempty"` } func (o BatchStopServersOption) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchStopServersOption struct{}" + } + return strings.Join([]string{"BatchStopServersOption", string(data)}, " ") } @@ -48,7 +50,7 @@ func GetBatchStopServersOptionTypeEnum() BatchStopServersOptionTypeEnum { } func (c BatchStopServersOptionType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *BatchStopServersOptionType) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_stop_servers_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_stop_servers_request.go index a9d43d858c25db7fff707aff4c0fdbe30a8a1ea4..28f9b13f2a0ffd2b7b45ed9446f73f4297d42e65 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_stop_servers_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_stop_servers_request.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -19,6 +12,10 @@ type BatchStopServersRequest struct { } func (o BatchStopServersRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchStopServersRequest struct{}" + } + return strings.Join([]string{"BatchStopServersRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_stop_servers_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_stop_servers_request_body.go index 4b5fedf0a89871539db9c792051461a8cbfe4c62..196880339fc527449a814fa85f98ed95b5a35815 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_stop_servers_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_stop_servers_request_body.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -19,6 +12,10 @@ type BatchStopServersRequestBody struct { } func (o BatchStopServersRequestBody) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchStopServersRequestBody struct{}" + } + return strings.Join([]string{"BatchStopServersRequestBody", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_stop_servers_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_stop_servers_response.go index f83cd3d2aaca2ebc661858c578d8474ae3759500..5d8270d39dff7f64d0f165951186926efa3ee161 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_stop_servers_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_stop_servers_response.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type BatchStopServersResponse struct { // 提交任务成功后返回的任务ID,用户可以使用该ID对任务执行情况进行查询。 - JobId *string `json:"job_id,omitempty"` + + JobId *string `json:"job_id,omitempty"` + HttpStatusCode int `json:"-"` } func (o BatchStopServersResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BatchStopServersResponse struct{}" + } + return strings.Join([]string{"BatchStopServersResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_update_servers_name_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_update_servers_name_request.go new file mode 100644 index 0000000000000000000000000000000000000000..feab82010be137354118e994af1e8b8e0aa84141 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_update_servers_name_request.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type BatchUpdateServersNameRequest struct { + Body *BatchUpdateServersNameRequestBody `json:"body,omitempty"` +} + +func (o BatchUpdateServersNameRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchUpdateServersNameRequest struct{}" + } + + return strings.Join([]string{"BatchUpdateServersNameRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_update_servers_name_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_update_servers_name_request_body.go new file mode 100644 index 0000000000000000000000000000000000000000..bd901d4d2e3301235a08f132e6cb472b6fdf772f --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_update_servers_name_request_body.go @@ -0,0 +1,29 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// This is a auto create Body Object +type BatchUpdateServersNameRequestBody struct { + // 弹性云服务器修改后的名称。 规则如下: 只能允许包含中文汉字、大小写字母、数字及 \"-\" 、 \"_\" 、\".\" 等特殊字符,长度限制在64个字符以内。 批量修改弹性云服务器名称时,名不会自动按序增加数字尾缀。例如: 三个ECS的名称为test_0001,test_0002,test_0003,批量修改云服务器名称为develop,则修改后3个云服务器名称为develop,develop,develop。 + + Name string `json:"name"` + // 是否只预检此次请求。 - true:发送检查请求,不会修改云服务器名称。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回正常响应信息。 - false:发送正常请求,通过检查后并且执行修改云服务器名称的请求。 默认值:false + + DryRun *bool `json:"dry_run,omitempty"` + // 待修改的弹性云服务器ID信息。 + + Servers []ServerId `json:"servers"` +} + +func (o BatchUpdateServersNameRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchUpdateServersNameRequestBody struct{}" + } + + return strings.Join([]string{"BatchUpdateServersNameRequestBody", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_update_servers_name_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_update_servers_name_response.go new file mode 100644 index 0000000000000000000000000000000000000000..107e058d96ee79842be7aaa770b62285634d5e6a --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_batch_update_servers_name_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type BatchUpdateServersNameResponse struct { + // 提交请求成功后返回的响应列表。 + + Response *[]ServerId `json:"response,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o BatchUpdateServersNameResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BatchUpdateServersNameResponse struct{}" + } + + return strings.Join([]string{"BatchUpdateServersNameResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_block_device_attachable_quantity.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_block_device_attachable_quantity.go index f7a368885b92837bb29c8f0cc8a4748161fe43cb..bf0e8bbd24978d3f098f8bed055156f89d299ac8 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_block_device_attachable_quantity.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_block_device_attachable_quantity.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,14 +9,21 @@ import ( // 云服务器可挂载磁盘数量。 type BlockDeviceAttachableQuantity struct { // 云服务器可挂载scsi类型磁盘数量。 + FreeScsi *int32 `json:"free_scsi,omitempty"` // 云服务器可挂载virtio_blk类型磁盘数量。 + FreeBlk *int32 `json:"free_blk,omitempty"` // 云服务器可挂载磁盘总数。 + FreeDisk *int32 `json:"free_disk,omitempty"` } func (o BlockDeviceAttachableQuantity) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "BlockDeviceAttachableQuantity struct{}" + } + return strings.Join([]string{"BlockDeviceAttachableQuantity", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_with_cloud_init_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_with_cloud_init_option.go index 0e26834e3dc2211ea0b7bf1bf9a867622d0270ff..47e332b1a4a79faec60a78d3934a07fa243eb3fc 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_with_cloud_init_option.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_with_cloud_init_option.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,19 +9,29 @@ import ( // 重装操作系统body体。 type ChangeServerOsWithCloudInitOption struct { // 云服务器管理员帐户的初始登录密码。 其中,Windows管理员帐户的用户名为Administrator。 建议密码复杂度如下: - 长度为8-26位。 - 密码至少必须包含大写字母、小写字母、数字和特殊字符(!@$%^-_=+[{}]:,./?)中的三种。 > 说明: > - Windows云服务器的密码,不能包含用户名或用户名的逆序,不能包含用户名中超过两个连续字符的部分。 - 对于Linux弹性云服务器也可使用user_data字段实现密码注入,此时adminpass字段无效。 - adminpass和keyname不能同时有值。 - adminpass和keyname如果同时为空,此时,metadata中的user_data属性必须有值。 - 对于已安装Cloud-init的云服务器,使用adminpass字段切换操作系统时,系统如果提示您使用keypair方式切换操作系统,表示当前区域暂不支持使用密码方式。 + Adminpass *string `json:"adminpass,omitempty"` - // 密钥名称。 + // 密钥名称。 密钥可以通过密钥创建接口进行创建(请参见[创建和导入SSH密钥](https://support.huaweicloud.com/api-ecs/zh-cn_topic_0020212678.html)),或使用SSH密钥查询接口查询已有的密钥(请参见[查询SSH密钥列表](https://support.huaweicloud.com/api-ecs/ecs_03_1201.html) )。 + Keyname *string `json:"keyname,omitempty"` // 用户ID。 说明 如果使用秘钥方式切换操作系统,则该字段为必选字段。 + Userid *string `json:"userid,omitempty"` - // 切换系统所使用的新镜像的ID,格式为UUID。 - Imageid string `json:"imageid"` + // 切换系统所使用的新镜像的ID,格式为UUID。 镜像的ID可以从控制台或者参考[《镜像服务API参考》](https://support.huaweicloud.com/api-ims/ims_03_0702.html)的“查询镜像列表”的章节获取。 + + Imageid string `json:"imageid"` + Metadata *ChangeSeversOsMetadata `json:"metadata,omitempty"` // 取值为withStopServer ,支持开机状态下切换弹性云服务器操作系统。 mode取值为withStopServer时,对开机状态的弹性云服务器执行切换操作系统操作,系统自动对云服务器先执行关机,再切换操作系统。 + Mode *string `json:"mode,omitempty"` } func (o ChangeServerOsWithCloudInitOption) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ChangeServerOsWithCloudInitOption struct{}" + } + return strings.Join([]string{"ChangeServerOsWithCloudInitOption", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_with_cloud_init_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_with_cloud_init_request.go index 22df9967204d8a65f8ca2901fa1e4260a6d677fd..dc7890861784200df33eff71d3143385f7c138a2 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_with_cloud_init_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_with_cloud_init_request.go @@ -1,25 +1,25 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type ChangeServerOsWithCloudInitRequest struct { - ServerId string `json:"server_id"` - Body *ChangeServerOsWithCloudInitRequestBody `json:"body,omitempty"` + // 云服务器ID。 + + ServerId string `json:"server_id"` + + Body *ChangeServerOsWithCloudInitRequestBody `json:"body,omitempty"` } func (o ChangeServerOsWithCloudInitRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ChangeServerOsWithCloudInitRequest struct{}" + } + return strings.Join([]string{"ChangeServerOsWithCloudInitRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_with_cloud_init_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_with_cloud_init_request_body.go index 865cb41dad9c850dbdeb05cc8eab8f73a2ffae70..f8d40ed0cfbc6851c9f850fc4e7b82642d74922c 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_with_cloud_init_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_with_cloud_init_request_body.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -19,6 +12,10 @@ type ChangeServerOsWithCloudInitRequestBody struct { } func (o ChangeServerOsWithCloudInitRequestBody) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ChangeServerOsWithCloudInitRequestBody struct{}" + } + return strings.Join([]string{"ChangeServerOsWithCloudInitRequestBody", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_with_cloud_init_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_with_cloud_init_response.go index b61cfe7eb9e1738ba0f8a25a1606503d806f24ba..cc3c113bef072a17c68c4f4126d9cd4f54af1b4d 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_with_cloud_init_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_with_cloud_init_response.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type ChangeServerOsWithCloudInitResponse struct { // 提交任务成功后返回的任务ID,用户可以使用该ID对任务执行情况进行查询。 - JobId *string `json:"job_id,omitempty"` + + JobId *string `json:"job_id,omitempty"` + HttpStatusCode int `json:"-"` } func (o ChangeServerOsWithCloudInitResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ChangeServerOsWithCloudInitResponse struct{}" + } + return strings.Join([]string{"ChangeServerOsWithCloudInitResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_without_cloud_init_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_without_cloud_init_option.go new file mode 100644 index 0000000000000000000000000000000000000000..20fec464d5645c4b992128e33cf51e3348ce6252 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_without_cloud_init_option.go @@ -0,0 +1,35 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// 重装操作系统body体。 +type ChangeServerOsWithoutCloudInitOption struct { + // 云服务器管理员帐户的初始登录密码。 其中,Windows管理员帐户的用户名为Administrator。 建议密码复杂度如下: - 长度为8-26位。 - 密码至少必须包含大写字母、小写字母、数字和特殊字符(!@$%^-_=+[{}]:,./?)中的三种。 > 说明: > - 对于Windows弹性云服务器,密码不能包含用户名或用户名的逆序,不能包含用户名中超过两个连续字符的部分。 - adminpass和keyname不能同时为空。 + + Adminpass *string `json:"adminpass,omitempty"` + // 密钥名称。 密钥可以通过密钥创建接口进行创建(请参见[创建和导入SSH密钥](https://support.huaweicloud.com/api-ecs/zh-cn_topic_0020212678.html)),或使用SSH密钥查询接口查询已有的密钥(请参见[查询SSH密钥列表](https://support.huaweicloud.com/api-ecs/ecs_03_1201.html) )。 + + Keyname *string `json:"keyname,omitempty"` + // 用户ID。 说明 如果使用秘钥方式切换操作系统,则该字段为必选字段。 + + Userid *string `json:"userid,omitempty"` + // 切换系统所使用的新镜像的ID,格式为UUID。 镜像的ID可以从控制台或者参考[《镜像服务API参考》](https://support.huaweicloud.com/api-ims/ims_03_0702.html)的“查询镜像列表”的章节获取。 + + Imageid string `json:"imageid"` + // 取值为withStopServer ,支持开机状态下切换弹性云服务器操作系统。 mode取值为withStopServer时,对开机状态的 弹性云服务器执行切换操作系统操作,系统自动对云服务器先执行关机,再切换操作系统。 + + Mode *string `json:"mode,omitempty"` +} + +func (o ChangeServerOsWithoutCloudInitOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ChangeServerOsWithoutCloudInitOption struct{}" + } + + return strings.Join([]string{"ChangeServerOsWithoutCloudInitOption", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_without_cloud_init_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_without_cloud_init_request.go new file mode 100644 index 0000000000000000000000000000000000000000..a2735558bde69ab11b9ece8dd493d3364a7de518 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_without_cloud_init_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ChangeServerOsWithoutCloudInitRequest struct { + // 云服务器ID。 + + ServerId string `json:"server_id"` + + Body *ChangeServerOsWithoutCloudInitRequestBody `json:"body,omitempty"` +} + +func (o ChangeServerOsWithoutCloudInitRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ChangeServerOsWithoutCloudInitRequest struct{}" + } + + return strings.Join([]string{"ChangeServerOsWithoutCloudInitRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_without_cloud_init_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_without_cloud_init_request_body.go new file mode 100644 index 0000000000000000000000000000000000000000..0833a755064361afb93aad38d01dc62e9e69b4f4 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_without_cloud_init_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// This is a auto create Body Object +type ChangeServerOsWithoutCloudInitRequestBody struct { + OsChange *ChangeServerOsWithoutCloudInitOption `json:"os-change"` +} + +func (o ChangeServerOsWithoutCloudInitRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ChangeServerOsWithoutCloudInitRequestBody struct{}" + } + + return strings.Join([]string{"ChangeServerOsWithoutCloudInitRequestBody", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_without_cloud_init_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_without_cloud_init_response.go new file mode 100644 index 0000000000000000000000000000000000000000..f689e9ffa6fc67b22d8d372b8099c9b43fa31c88 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_server_os_without_cloud_init_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ChangeServerOsWithoutCloudInitResponse struct { + // 提交任务成功后返回的任务ID,用户可以使用该ID对任务执行情况进行查询。 + + JobId *string `json:"job_id,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ChangeServerOsWithoutCloudInitResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ChangeServerOsWithoutCloudInitResponse struct{}" + } + + return strings.Join([]string{"ChangeServerOsWithoutCloudInitResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_severs_os_metadata.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_severs_os_metadata.go index 2b313798046f274f3a7778e46ab5e0efed563a7a..f8c4eb65b58b4d3c5f8fe23ef5abe43f285f5f62 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_severs_os_metadata.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_change_severs_os_metadata.go @@ -1,25 +1,23 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // type ChangeSeversOsMetadata struct { - // 重装云服务器过程中注入用户数据。 支持注入文本、文本文件或gzip文件。注入内容最大长度32KB。注入内容,需要进行base64格式编码。 + // 重装云服务器过程中注入用户数据。 支持注入文本、文本文件或gzip文件。注入内容最大长度32KB。注入内容,需要进行base64格式编码。 了解更多用户数据注入请参考[用户数据注入](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0032380449.html)。 + UserData *string `json:"user_data,omitempty"` } func (o ChangeSeversOsMetadata) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ChangeSeversOsMetadata struct{}" + } + return strings.Join([]string{"ChangeSeversOsMetadata", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_cpu_options.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_cpu_options.go new file mode 100644 index 0000000000000000000000000000000000000000..ebaf361e61c341ebf74310a175ee7caddc48eb58 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_cpu_options.go @@ -0,0 +1,23 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// 自定义CPU选项。 +type CpuOptions struct { + // CPU超线程数, 决定CPU是否开启超线程 + + HwcpuThreads *int32 `json:"hw:cpu_threads,omitempty"` +} + +func (o CpuOptions) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CpuOptions struct{}" + } + + return strings.Join([]string{"CpuOptions", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_post_paid_servers_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_post_paid_servers_request.go index 5ead29d137cfe4bd966d451198331c4194a3ba50..db2f475eacf558b2081e75a2ce2e585d0df3c621 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_post_paid_servers_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_post_paid_servers_request.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -19,6 +12,10 @@ type CreatePostPaidServersRequest struct { } func (o CreatePostPaidServersRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "CreatePostPaidServersRequest struct{}" + } + return strings.Join([]string{"CreatePostPaidServersRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_post_paid_servers_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_post_paid_servers_request_body.go index cba9f57587a83847f63ae4e4388e5014693bd54e..5efaf6b5954b1cabd74c866eba24a73d8a316319 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_post_paid_servers_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_post_paid_servers_request_body.go @@ -1,24 +1,25 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // This is a auto create Body Object type CreatePostPaidServersRequestBody struct { + // 是否只预检此次请求。 true:发送检查请求,不会创建实例。检查项包括是否填写了必需参数、请求格式等。 如果检查不通过,则返回对应错误。 如果检查通过,则返回202状态码。 false:发送正常请求,通过检查后并且执行创建云服务器请求。 + + DryRun *bool `json:"dry_run,omitempty"` + Server *PostPaidServer `json:"server"` } func (o CreatePostPaidServersRequestBody) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "CreatePostPaidServersRequestBody struct{}" + } + return strings.Join([]string{"CreatePostPaidServersRequestBody", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_post_paid_servers_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_post_paid_servers_response.go index d3741f0d14f65d66ba66059d5f6d0495483a6338..ee34c5bb016cad3e53c81902972628d66477cf0c 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_post_paid_servers_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_post_paid_servers_response.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,12 +9,19 @@ import ( // Response Object type CreatePostPaidServersResponse struct { // 提交任务成功后返回的任务ID,用户可以使用该ID对任务执行情况进行查询。 + JobId *string `json:"job_id,omitempty"` // 云服务器ID列表。 - ServerIds *[]string `json:"serverIds,omitempty"` + + ServerIds *[]string `json:"serverIds,omitempty"` + HttpStatusCode int `json:"-"` } func (o CreatePostPaidServersResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "CreatePostPaidServersResponse struct{}" + } + return strings.Join([]string{"CreatePostPaidServersResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_server_group_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_server_group_option.go index cde6aa972db159e44153449e885c2a5e91d9e3f6..fb3716dc8cdbb644c4f3e9c3b7291b1dfd5d433f 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_server_group_option.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_server_group_option.go @@ -1,29 +1,31 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // type CreateServerGroupOption struct { // 弹性云服务器组名称,长度大于0小于256字节。 + Name string `json:"name"` // 与云服务器组关联的策略名称列表。包括: - anti-affinity:此组中的弹性云服务器必须安排到不同的主机。 - affinity:此组中的弹性云服务器必须安排在同一主机上。 - soft-anti-affinity:如果可能,应将此组中的云服务器尽量安排到不同的主机上,但如果无法实现,则仍应安排它们,而不是导致生成失败。 - soft-affinity:如果可能,应将此组中的弹性云服务器尽量安排在同一主机上, 但如果无法实现,则仍应安排它们,而不是导致生成失败。 > 说明: - 当前仅支持反亲和性anti-affinity策略。 + Policies []CreateServerGroupOptionPolicies `json:"policies"` } func (o CreateServerGroupOption) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "CreateServerGroupOption struct{}" + } + return strings.Join([]string{"CreateServerGroupOption", string(data)}, " ") } @@ -44,7 +46,7 @@ func GetCreateServerGroupOptionPoliciesEnum() CreateServerGroupOptionPoliciesEnu } func (c CreateServerGroupOptionPolicies) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *CreateServerGroupOptionPolicies) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_server_group_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_server_group_request.go index b263218a13a4eb08438a877fef6435c2dff3c173..81134f990b8e0e97012eab1ade991c092c4f44e9 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_server_group_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_server_group_request.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -19,6 +12,10 @@ type CreateServerGroupRequest struct { } func (o CreateServerGroupRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "CreateServerGroupRequest struct{}" + } + return strings.Join([]string{"CreateServerGroupRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_server_group_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_server_group_request_body.go index 535bfddbc119849865c61f4a68b0330e613777b2..13ca2c578861c247c742bd30fde2d427e7f5150f 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_server_group_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_server_group_request_body.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -19,6 +12,10 @@ type CreateServerGroupRequestBody struct { } func (o CreateServerGroupRequestBody) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "CreateServerGroupRequestBody struct{}" + } + return strings.Join([]string{"CreateServerGroupRequestBody", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_server_group_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_server_group_response.go index d2c3c08c9e01c6c2d5475f732132ac60f0b80352..9d5d327445b1b136d6279f6ce7337ef57acc361b 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_server_group_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_server_group_response.go @@ -1,24 +1,22 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type CreateServerGroupResponse struct { - ServerGroup *CreateServerGroupResult `json:"server_group,omitempty"` + ServerGroup *CreateServerGroupResult `json:"server_group,omitempty"` + HttpStatusCode int `json:"-"` } func (o CreateServerGroupResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "CreateServerGroupResponse struct{}" + } + return strings.Join([]string{"CreateServerGroupResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_server_group_result.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_server_group_result.go index bae65bd648ee8c0b6ec18994cae160bfa196d2dd..2b745414f28136dd4d620fdbf4bc144139a29034 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_server_group_result.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_server_group_result.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,18 +9,27 @@ import ( // type CreateServerGroupResult struct { // 云服务器组UUID。 + Id string `json:"id"` // 云服务器组中包含的云服务器列表。 + Members []string `json:"members"` // 云服务器组元数据。 + Metadata map[string]string `json:"metadata"` // 云服务器组名称。 + Name string `json:"name"` // 与服务器组关联的策略名称列表。当前有效的策略名称为: anti-affinity -此组中的服务器必须安排到不同的主机; affinity -此组中的服务器必须安排在同一主机上; soft-anti-affinity –如果可能, 应将此组中的服务器安排到不同的主机, 但如果无法实现, 则仍应安排它们, 而不是导致生成失败; soft-affinity -如果可能, 应将此组中的服务器安排在同一主机上, 但如果无法实现, 则仍应安排它们, 而不是导致生成失败。 + Policies []string `json:"policies"` } func (o CreateServerGroupResult) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "CreateServerGroupResult struct{}" + } + return strings.Join([]string{"CreateServerGroupResult", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_servers_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_servers_request.go index d2cdf89bd3fca6ea721a469d65234827b4d1f13e..a4d5cccd1ae5297e7d5b55156abe76f74d143a7c 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_servers_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_servers_request.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -19,6 +12,10 @@ type CreateServersRequest struct { } func (o CreateServersRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "CreateServersRequest struct{}" + } + return strings.Join([]string{"CreateServersRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_servers_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_servers_request_body.go index f82730c8b9b882c3c3767e5c467ef7d3b0749d0e..3dd0b4bef76f91418600e43417e3cec4e24dec93 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_servers_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_servers_request_body.go @@ -1,24 +1,25 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // This is a auto create Body Object type CreateServersRequestBody struct { + // 是否只预检此次请求。 true:发送检查请求,不会创建实例。检查项包括是否填写了必需参数、请求格式等。 如果检查不通过,则返回对应错误。 如果检查通过,则返回202状态码。 false:发送正常请求,通过检查后并且执行创建云服务器请求。 + + DryRun *bool `json:"dry_run,omitempty"` + Server *PrePaidServer `json:"server"` } func (o CreateServersRequestBody) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "CreateServersRequestBody struct{}" + } + return strings.Join([]string{"CreateServersRequestBody", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_servers_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_servers_response.go index 5a5327be190cf78076115a9d398394a11620e268..9c0cacd13976cf0b157dce92feaafe5a55822035 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_servers_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_create_servers_response.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,14 +9,22 @@ import ( // Response Object type CreateServersResponse struct { // 提交任务成功后返回的任务ID,用户可以使用该ID对任务执行情况进行查询。 + JobId *string `json:"job_id,omitempty"` // 订单号,创建包年包月的弹性云服务器时返回该参数。 + OrderId *string `json:"order_id,omitempty"` // 云服务器ID列表。 通过云服务器ID查询云服务器详情 ,若返回404 可能云服务器还在创建或者已经创建失败。 - ServerIds *[]string `json:"serverIds,omitempty"` + + ServerIds *[]string `json:"serverIds,omitempty"` + HttpStatusCode int `json:"-"` } func (o CreateServersResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "CreateServersResponse struct{}" + } + return strings.Join([]string{"CreateServersResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_group_member_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_group_member_request.go index ff139aa5d39b6c24338250728a67b1db6aa5dbc0..fd08f42e4a41097c6d08d17fb1fd1f3b67aa481e 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_group_member_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_group_member_request.go @@ -1,25 +1,25 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type DeleteServerGroupMemberRequest struct { - ServerGroupId string `json:"server_group_id"` - Body *DeleteServerGroupMemberRequestBody `json:"body,omitempty"` + // 云服务器组ID。 + + ServerGroupId string `json:"server_group_id"` + + Body *DeleteServerGroupMemberRequestBody `json:"body,omitempty"` } func (o DeleteServerGroupMemberRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "DeleteServerGroupMemberRequest struct{}" + } + return strings.Join([]string{"DeleteServerGroupMemberRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_group_member_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_group_member_request_body.go index 1ae935da2b8cfd7b665acb675138dc173aa153c6..11ca89b36889c961dcf23b5cb07dbd2a4bad9284 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_group_member_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_group_member_request_body.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -19,6 +12,10 @@ type DeleteServerGroupMemberRequestBody struct { } func (o DeleteServerGroupMemberRequestBody) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "DeleteServerGroupMemberRequestBody struct{}" + } + return strings.Join([]string{"DeleteServerGroupMemberRequestBody", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_group_member_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_group_member_response.go index 737e94686f70bc7768a35f64655cdc47bbeb445d..52c821024b33e8c16939993054b15a76298f01fb 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_group_member_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_group_member_response.go @@ -1,23 +1,21 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type DeleteServerGroupMemberResponse struct { + HttpStatusCode int `json:"-"` } func (o DeleteServerGroupMemberResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "DeleteServerGroupMemberResponse struct{}" + } + return strings.Join([]string{"DeleteServerGroupMemberResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_group_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_group_request.go index 58c4a7dc5712dbceeb3da231d717a77316250087..2b9df060268b8d2908724efb35cd98d860769d36 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_group_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_group_request.go @@ -1,24 +1,23 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type DeleteServerGroupRequest struct { + // 弹性云服务器组UUID。 + ServerGroupId string `json:"server_group_id"` } func (o DeleteServerGroupRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "DeleteServerGroupRequest struct{}" + } + return strings.Join([]string{"DeleteServerGroupRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_group_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_group_response.go index 857c9cab0cd3b58a8d497b1bd4223c13b48a2926..5da76f70fa549639f9ce1c968b7b093eed516206 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_group_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_group_response.go @@ -1,23 +1,21 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type DeleteServerGroupResponse struct { + HttpStatusCode int `json:"-"` } func (o DeleteServerGroupResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "DeleteServerGroupResponse struct{}" + } + return strings.Join([]string{"DeleteServerGroupResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_metadata_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_metadata_request.go index 0ef9cbff465f35bcb7622f362e9d24267ed7b450..04925b9b4839b272e4d29b78d3f5cdb0875898c5 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_metadata_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_metadata_request.go @@ -1,25 +1,26 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type DeleteServerMetadataRequest struct { - Key string `json:"key"` + // 待删除的云服务器metadata键值 + + Key string `json:"key"` + // 云服务器ID。 + ServerId string `json:"server_id"` } func (o DeleteServerMetadataRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "DeleteServerMetadataRequest struct{}" + } + return strings.Join([]string{"DeleteServerMetadataRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_metadata_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_metadata_response.go index 7cf0ef57b75591451c6db1d08ed060d5fbc47b42..b2e6b17dcbaa511c9f9c4054a45bb151c77915ec 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_metadata_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_metadata_response.go @@ -1,23 +1,21 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type DeleteServerMetadataResponse struct { + HttpStatusCode int `json:"-"` } func (o DeleteServerMetadataResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "DeleteServerMetadataResponse struct{}" + } + return strings.Join([]string{"DeleteServerMetadataResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_password_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_password_request.go new file mode 100644 index 0000000000000000000000000000000000000000..c1ac7dcd1164903b01a709bcd4601529367f1a82 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_password_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type DeleteServerPasswordRequest struct { + // 云服务器ID。 + + ServerId string `json:"server_id"` +} + +func (o DeleteServerPasswordRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteServerPasswordRequest struct{}" + } + + return strings.Join([]string{"DeleteServerPasswordRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_password_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_password_response.go new file mode 100644 index 0000000000000000000000000000000000000000..8489764f20d79fdc80873c6560fa7474a31da915 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_server_password_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type DeleteServerPasswordResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o DeleteServerPasswordResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteServerPasswordResponse struct{}" + } + + return strings.Join([]string{"DeleteServerPasswordResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_servers_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_servers_request.go index 5c119bcd7d71ec546b5a01972204b34d0ec62d4f..4f6e7eff662a3eefabebca4718432912ee253b29 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_servers_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_servers_request.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -19,6 +12,10 @@ type DeleteServersRequest struct { } func (o DeleteServersRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "DeleteServersRequest struct{}" + } + return strings.Join([]string{"DeleteServersRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_servers_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_servers_request_body.go index 208de6411b3cda2fba1ed36b7e854ed9980986f0..83b01501f320bd23a3ea792f218fdc1d3f3452e0 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_servers_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_servers_request_body.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,14 +9,21 @@ import ( // This is a auto create Body Object type DeleteServersRequestBody struct { // 配置删除云服务器是否删除云服务器绑定的弹性IP。如果选择不删除,则系统仅做解绑定操作,保留弹性IP资源。 取值为true或false,默认为false。 - true:删除云服务器时会同时删除绑定在云服务器上的弹性IP。 - false:删除云服务器时,仅解绑定在云服务器上的弹性IP,不删除弹性IP + DeletePublicip *bool `json:"delete_publicip,omitempty"` // 配置删除云服务器是否删除云服务器对应的数据盘,如果选择不删除,则系统仅做解绑定操作,保留云磁盘资源。 取值为false或true,默认为false。 - true:删除云服务器时会同时删除挂载在云服务器上的数据盘。 - false:删除云服务器时,仅卸载云服务器上挂载的数据盘,不删除该数据盘。 + DeleteVolume *bool `json:"delete_volume,omitempty"` // 所需要删除的云服务器列表。 + Servers []ServerId `json:"servers"` } func (o DeleteServersRequestBody) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "DeleteServersRequestBody struct{}" + } + return strings.Join([]string{"DeleteServersRequestBody", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_servers_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_servers_response.go index f314678b28b853f857ac3d063936e777ffcd124a..c349d989a1934504805d11b33f0a7b817b64e820 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_servers_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_delete_servers_response.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type DeleteServersResponse struct { // 提交任务成功后返回的任务ID,用户可以使用该ID对任务执行情况进行查询。 - JobId *string `json:"job_id,omitempty"` + + JobId *string `json:"job_id,omitempty"` + HttpStatusCode int `json:"-"` } func (o DeleteServersResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "DeleteServersResponse struct{}" + } + return strings.Join([]string{"DeleteServersResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_detach_server_volume_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_detach_server_volume_request.go index a5526f6e9122701b85944745053457b89ea88269..9e813dfd538f2442f309c3d3e1f1a3a3b378e49b 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_detach_server_volume_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_detach_server_volume_request.go @@ -1,28 +1,34 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // Request Object type DetachServerVolumeRequest struct { - ServerId string `json:"server_id"` - VolumeId string `json:"volume_id"` + // 云服务器ID。 + + ServerId string `json:"server_id"` + // 磁盘ID。 + + VolumeId string `json:"volume_id"` + // 是否强制卸载数据盘。 - 是,值为“1”。 - 否,值为“0”。 默认值为0。 + DeleteFlag *DetachServerVolumeRequestDeleteFlag `json:"delete_flag,omitempty"` } func (o DetachServerVolumeRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "DetachServerVolumeRequest struct{}" + } + return strings.Join([]string{"DetachServerVolumeRequest", string(data)}, " ") } @@ -47,7 +53,7 @@ func GetDetachServerVolumeRequestDeleteFlagEnum() DetachServerVolumeRequestDelet } func (c DetachServerVolumeRequestDeleteFlag) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *DetachServerVolumeRequestDeleteFlag) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_detach_server_volume_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_detach_server_volume_response.go index 3b5ca506ca3a1ec5b6b6921676f02834e0bb58a1..230ac734e77c258e8d9f96241cf8db786ad89732 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_detach_server_volume_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_detach_server_volume_response.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type DetachServerVolumeResponse struct { // 提交任务成功后返回的任务ID,用户可以使用该ID对任务执行情况进行查询。 - JobId *string `json:"job_id,omitempty"` + + JobId *string `json:"job_id,omitempty"` + HttpStatusCode int `json:"-"` } func (o DetachServerVolumeResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "DetachServerVolumeResponse struct{}" + } + return strings.Join([]string{"DetachServerVolumeResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_disassociate_server_virtual_ip_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_disassociate_server_virtual_ip_option.go new file mode 100644 index 0000000000000000000000000000000000000000..b6e421479c35d299a8ae102b2e5531174fd5c1d5 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_disassociate_server_virtual_ip_option.go @@ -0,0 +1,101 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// +type DisassociateServerVirtualIpOption struct { + // 云服务器添加网卡的信息。 约束:解绑虚拟IP时,subnet_id为空字符串 + + SubnetId DisassociateServerVirtualIpOptionSubnetId `json:"subnet_id"` + // 网卡即将配置的虚拟IP的地址。 约束:解绑虚拟IP时,ip_address为空字符串 + + IpAddress DisassociateServerVirtualIpOptionIpAddress `json:"ip_address"` + // 虚拟IP的allowed_address_pairs属性是否添加网卡的IP/Mac对。 + + ReverseBinding *bool `json:"reverse_binding,omitempty"` +} + +func (o DisassociateServerVirtualIpOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DisassociateServerVirtualIpOption struct{}" + } + + return strings.Join([]string{"DisassociateServerVirtualIpOption", string(data)}, " ") +} + +type DisassociateServerVirtualIpOptionSubnetId struct { + value string +} + +type DisassociateServerVirtualIpOptionSubnetIdEnum struct { + EMPTY DisassociateServerVirtualIpOptionSubnetId +} + +func GetDisassociateServerVirtualIpOptionSubnetIdEnum() DisassociateServerVirtualIpOptionSubnetIdEnum { + return DisassociateServerVirtualIpOptionSubnetIdEnum{ + EMPTY: DisassociateServerVirtualIpOptionSubnetId{ + value: "", + }, + } +} + +func (c DisassociateServerVirtualIpOptionSubnetId) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *DisassociateServerVirtualIpOptionSubnetId) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} + +type DisassociateServerVirtualIpOptionIpAddress struct { + value string +} + +type DisassociateServerVirtualIpOptionIpAddressEnum struct { + EMPTY DisassociateServerVirtualIpOptionIpAddress +} + +func GetDisassociateServerVirtualIpOptionIpAddressEnum() DisassociateServerVirtualIpOptionIpAddressEnum { + return DisassociateServerVirtualIpOptionIpAddressEnum{ + EMPTY: DisassociateServerVirtualIpOptionIpAddress{ + value: "", + }, + } +} + +func (c DisassociateServerVirtualIpOptionIpAddress) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *DisassociateServerVirtualIpOptionIpAddress) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_disassociate_server_virtual_ip_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_disassociate_server_virtual_ip_request.go new file mode 100644 index 0000000000000000000000000000000000000000..6ebb2888461b082a2af9e2f33136f1135fbef417 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_disassociate_server_virtual_ip_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type DisassociateServerVirtualIpRequest struct { + // 云服务器网卡ID。 + + NicId string `json:"nic_id"` + + Body *DisassociateServerVirtualIpRequestBody `json:"body,omitempty"` +} + +func (o DisassociateServerVirtualIpRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DisassociateServerVirtualIpRequest struct{}" + } + + return strings.Join([]string{"DisassociateServerVirtualIpRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_disassociate_server_virtual_ip_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_disassociate_server_virtual_ip_request_body.go new file mode 100644 index 0000000000000000000000000000000000000000..b9ac340802183504d92a80bc7dfd27ec22b4fb4a --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_disassociate_server_virtual_ip_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// This is a auto create Body Object +type DisassociateServerVirtualIpRequestBody struct { + Nic *DisassociateServerVirtualIpOption `json:"nic"` +} + +func (o DisassociateServerVirtualIpRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DisassociateServerVirtualIpRequestBody struct{}" + } + + return strings.Join([]string{"DisassociateServerVirtualIpRequestBody", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_disassociate_server_virtual_ip_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_disassociate_server_virtual_ip_response.go new file mode 100644 index 0000000000000000000000000000000000000000..721f38277eaf32db117e84f6a122b8f1dc0e8bc2 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_disassociate_server_virtual_ip_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type DisassociateServerVirtualIpResponse struct { + // 云服务器网卡ID + + PortId *string `json:"port_id,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o DisassociateServerVirtualIpResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DisassociateServerVirtualIpResponse struct{}" + } + + return strings.Join([]string{"DisassociateServerVirtualIpResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_flavor.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_flavor.go index d2a8b72266370e3dae5769982cc8e88857821894..0249bb2c284329ae405c744203c98738e0956caa 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_flavor.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_flavor.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,36 +9,55 @@ import ( // 云服务器规格。 type Flavor struct { // 云服务器规格的ID。 + Id string `json:"id"` // 云服务器规格的名称。 + Name string `json:"name"` // 云服务器规格对应的CPU核数。 + Vcpus string `json:"vcpus"` // 云服务器规格对应的内存大小,单位为MB。 + Ram int32 `json:"ram"` // 云服务器规格对应要求的系统盘大小。 当前未使用该参数,缺省值为0。 + Disk string `json:"disk"` // 云服务器规格对应要求的交换分区大小。 当前未使用该参数,缺省值为\"\"。 + Swap string `json:"swap"` // 扩展属性,临时盘大小。 当前未使用该参数,缺省值为0 + OSFLVEXTDATAephemeral int32 `json:"OS-FLV-EXT-DATA:ephemeral"` // 扩展属性,该云服务器规格是否禁用。 当前未使用该参数,缺省值为false。 + OSFLVDISABLEDdisabled bool `json:"OS-FLV-DISABLED:disabled"` // 云服务器可使用网络带宽与网络硬件带宽的比例。 当前未使用该参数,缺省值为1.0。 + RxtxFactor float32 `json:"rxtx_factor"` // 云服务器可使用网络带宽的软限制。 当前未使用该参数,缺省值为null。 + RxtxQuota string `json:"rxtx_quota"` // 云服务器可使用网络带宽的硬限制。 当前未使用该参数,缺省值为null。 + RxtxCap string `json:"rxtx_cap"` // 扩展属性,flavor是否给所有租户使用。 - true:表示给所有租户使用。 - false:表示给指定租户使用。 缺省值为true。 + OsFlavorAccessisPublic bool `json:"os-flavor-access:is_public"` // 规格相关快捷链接地址。 - Links []FlavorLink `json:"links"` - OsExtraSpecs *FlavorExtraSpec `json:"os_extra_specs"` + + Links []FlavorLink `json:"links"` + + OsExtraSpecs *FlavorExtraSpec `json:"os_extra_specs"` + AttachableQuantity *ServerAttachableQuantity `json:"attachableQuantity,omitempty"` } func (o Flavor) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "Flavor struct{}" + } + return strings.Join([]string{"Flavor", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_flavor_extra_spec.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_flavor_extra_spec.go index e87961c76cdd0494c00ece1803dd11a3853d0e88..e61cf5d47117cb67b06c16d47f277ec0070fd9f7 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_flavor_extra_spec.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_flavor_extra_spec.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,38 +9,111 @@ import ( // 云服务器规格的扩展字段。 type FlavorExtraSpec struct { // 云服务器规格的分类: - normal:通用型 - cpuv1:计算I型 - cpuv2:计算II型 - highmem:内存优化型 - gpu:GPU加速型 - entry:通用入门型 - saphana:大内存型 - ultracpu:超高性能计算型 - diskintensive:磁盘增强型 - highio:超高I/O型 - fpga:FPGA加速型 > 说明: - 早期注册的规格该字段为hws:performancetype。 - Ecsperformancetype string `json:"ecs:performancetype"` + + Ecsperformancetype *string `json:"ecs:performancetype,omitempty"` + // 主机的物理cpu数量。 + + HwnumaNodes *string `json:"hw:numa_nodes,omitempty"` // 资源类型。resource_type是为了区分云服务器的物理主机类型。 - ResourceType string `json:"resource_type"` + + ResourceType *string `json:"resource_type,omitempty"` + // 弹性运服务器高精度时钟是否开启,开启为true,否则为false。(该字段是否返回根据云服务器规格而定) + + HpetSupport *string `json:"hpet_support,omitempty"` + // 网卡类型,值固定为“enhanced”,表示使用增强型网络的资源创建云服务器。 + + InstanceVnictype *string `json:"instance_vnic:type,omitempty"` + // 最大带宽,单位Mbps,最大值为10000。 + + InstanceVnicinstanceBandwidth *string `json:"instance_vnic:instance_bandwidth,omitempty"` + // 最大网卡个数,最大为4。 + + InstanceVnicmaxCount *string `json:"instance_vnic:max_count,omitempty"` // 值格式为{type}:{count}:{size}:{safeFormat},其中: - type指磁盘类型,当前只支持hdd。 - count指本地磁盘数量,目前支持d1类型:3/6/12/24,d2类型:2/4/8/12/16/24,d3类型:2/4/8/12/16/24/28。 - size指单个磁盘容量,单位GB,目前只支持1675(实际磁盘大小为1800,格式化后可用大小为1675)。 - safeFormat指云服务器本地磁盘是否安全格式化,目前仅支持d1类型:FALSE,d2/d3类型:True。 > 说明: - 磁盘增强型特有字段。 + QuotalocalDisk *string `json:"quota:local_disk,omitempty"` // 值格式为{type}:{spec}:{size}:{safeFormat},其中: - type指主机上配备的nvme ssd的单卡容量大小,当前只支持1.6T/3.2T。 - spec指nvme ssd的规格,包括large/small。large表示大规格,small表示小规格。目前仅支持i3类型:large。 - size指guest使用的盘的容量大小,单位为GB。在spec值为large的情况下,此项即为host单卡大小。在spec值为small的情况下,此为1/4规格或者1/2规格。 - safeFormat指云服务器本地磁盘是否安全格式化,目前仅支持i3类型:True。 > 说明: - 超高I/O型特有字段。 + QuotanvmeSsd *string `json:"quota:nvme_ssd,omitempty"` + // 是否支持持久化,值为true。 代表云服务器访问存储的方式为持久化授权。 > 说明: - 密集存储D1型特有字段。 + + ExtraSpeciopersistentGrant *string `json:"extra_spec:io:persistent_grant,omitempty"` // 弹性云服务器类型的代数。 - s1:通用型I代 - s2:通用型II代 - s3:通用型 - m1:内存优化型I代 - m2:内存优化型II代 - m3:内存优化型 - h1:高性能计算型I代 - h2:高性能计算型II代 - h3:高性能计算型 - hi3:超高性能计算型 - d1:密集存储型I代 - d2:密集存储型II代 - d3:磁盘增强型 - g1:GPU加速型I代 - g2:GPU加速型II代 - f1:FPGA高性能型 - f2:FPGA通用型 - c3:通用计算增强型 - e3:大内存型 - i3:超高I/O型 + Ecsgeneration *string `json:"ecs:generation,omitempty"` // 虚拟化类型。 - 如果值为“FusionCompute”,表示弹性云服务器使用基于XEN的虚拟化技术。 - 如果值为“CloudCompute”,表示弹性云服务器使用基于KVM的虚拟化技术。 + EcsvirtualizationEnvTypes *string `json:"ecs:virtualization_env_types,omitempty"` // 显卡是否直通。 值为“true”,表示GPU直通。 - PciPassthroughenableGpu string `json:"pci_passthrough:enable_gpu"` + + PciPassthroughenableGpu *string `json:"pci_passthrough:enable_gpu,omitempty"` // G1型和G2型云服务器应用的技术,包括GPU虚拟化和GPU直通。 - 如果该规格的云服务器使用GPU虚拟化技术,且GPU卡的型号为M60-1Q,参数值可设置为“m60_1q:virt:1”。 - 如果该规格的云服务器使用GPU直通技术,且GPU卡的型号为M60,参数值可设置为“m60:direct_graphics:1”。 - PciPassthroughgpuSpecs string `json:"pci_passthrough:gpu_specs"` + + PciPassthroughgpuSpecs *string `json:"pci_passthrough:gpu_specs,omitempty"` // P1型v本地直通GPU的型号和数量,参数值可设置为“nvidia-p100:1”,表示使用该规格创建的弹性云服务器将占用1张NVIDIA P100显卡。 - PciPassthroughalias string `json:"pci_passthrough:alias"` + + PciPassthroughalias *string `json:"pci_passthrough:alias,omitempty"` // 此参数是Region级配置,某个AZ没有在cond:operation:az参数中配置时默认使用此参数的取值。不配置或无此参数时等同于“normal”。取值范围: - normal:正常商用 - abandon:下线(即不显示) - sellout:售罄 - obt:公测 - promotion:推荐(等同normal,也是商用) + Condoperationstatus *string `json:"cond:operation:status,omitempty"` // 此参数是AZ级配置,某个AZ没有在此参数中配置时默认使用cond:operation:status参数的取值。此参数的配置格式“az(xx)”。()内为某个AZ的flavor状态,()内必须要填有状态,不填为无效配置。状态的取值范围与cond:operation:status参数相同。 例如:flavor在某个region的az0正常商用,az1售罄,az2公测,az3正常商用,其他az显示下线,可配置为: - “cond:operation:status”设置为“abandon” - “cond:operation:az”设置为“az0(normal), az1(sellout), az2(obt), az3(normal)” > 说明: - 如果flavor在某个AZ下的状态与cond:operation:status配置状态不同,必须配置该参数。 + Condoperationaz *string `json:"cond:operation:az,omitempty"` // 最大带宽 - 单位Mbps,显示为Gbps时除以1000 + QuotamaxRate *string `json:"quota:max_rate,omitempty"` // 基准带宽 - 单位Mbps,显示为Gbps时除以1000 + QuotaminRate *string `json:"quota:min_rate,omitempty"` // 内网最大收发包能力 - 单位个,显示为xx万时除以10000 + QuotamaxPps *string `json:"quota:max_pps,omitempty"` // 计费类型 - 计费场景,不配置时都支持 - period,包周期 - demand,按需 + Condoperationcharge *string `json:"cond:operation:charge,omitempty"` + // 关机是否收费 - 关机是否计费,默认免费: - charge - free + + Condoperationchargestop *string `json:"cond:operation:charge:stop,omitempty"` + // 计费类型 - 计费场景,不配置时都支持 - period,包周期 - demand,按需 + + Condspotoperationaz *string `json:"cond:spot:operation:az,omitempty"` + // 允许的角色 匹配的用户标签(roles的op_gatexxx标签)。不设置时所有用户可见 + + Condoperationroles *string `json:"cond:operation:roles,omitempty"` + // Flavor在竞价销售模式下的状态 - 不配置时等同abandon - normal,正常商用 - abandon,下线 - sellout,售罄 - obt,公测,未申请时提示申请(暂不支持) - private,私有,只给特定用户显示(暂不支持) - test,试用/免费(暂不支持) - promotion,推荐 + + Condspotoperationstatus *string `json:"cond:spot:operation:status,omitempty"` + // 网络约束 支持网络特性,不配置时以UI配置为准。 + + Condnetwork *string `json:"cond:network,omitempty"` + // 存储约束 - 支持磁盘特性,不配置时以UI配置为准。 - scsi,支持scsi - localdisk,支持本地盘 - ib,支持ib + + Condstorage *string `json:"cond:storage,omitempty"` + // 计算约束 - true,支持在线扩容。 - false或不存在该字段,不支持在线扩容。 + + CondcomputeliveResizable *string `json:"cond:compute:live_resizable,omitempty"` + // 计算约束 - autorecovery,自动恢复特性。 - 不存在该字段,不支持自动恢复。 + + Condcompute *string `json:"cond:compute,omitempty"` + // + + Infogpuname *string `json:"info:gpu:name,omitempty"` + // + + Infocpuname *string `json:"info:cpu:name,omitempty"` + // + + Quotagpu *string `json:"quota:gpu,omitempty"` + // 该规格对应的CPU架构,且仅鲲鹏实例架构规格返回该字段 - 取值为arm64表示CPU架构为鲲鹏计算。 + + EcsinstanceArchitecture *string `json:"ecs:instance_architecture,omitempty"` } func (o FlavorExtraSpec) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "FlavorExtraSpec struct{}" + } + return strings.Join([]string{"FlavorExtraSpec", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_flavor_link.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_flavor_link.go index a5236c8765ae6086e7fb2e9b7027ac87e02ccc0c..66270685d4b3b1c2cc4e681f0edcc96fc2676111 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_flavor_link.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_flavor_link.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,14 +9,21 @@ import ( // 规格相关快捷链接地址。 type FlavorLink struct { // 对应快捷链接。 + Href string `json:"href"` // 快捷链接标记名称。 + Rel string `json:"rel"` // 快捷链接类型,当前接口未使用,缺省值为null。 + Type string `json:"type"` } func (o FlavorLink) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "FlavorLink struct{}" + } + return strings.Join([]string{"FlavorLink", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_get_server_remote_console_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_get_server_remote_console_option.go index 2ba4e58e425bf5bee342ab2b894c6dc3b8a19f6d..88da0fe5d245df2a042263281fd7825eeab29bfd 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_get_server_remote_console_option.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_get_server_remote_console_option.go @@ -1,28 +1,30 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) type GetServerRemoteConsoleOption struct { // 远程登录协议,请将protocol配置为“vnc”。 + Protocol GetServerRemoteConsoleOptionProtocol `json:"protocol"` // 远程登录的类型,请将type配置为“novnc”。 + Type GetServerRemoteConsoleOptionType `json:"type"` } func (o GetServerRemoteConsoleOption) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "GetServerRemoteConsoleOption struct{}" + } + return strings.Join([]string{"GetServerRemoteConsoleOption", string(data)}, " ") } @@ -43,7 +45,7 @@ func GetGetServerRemoteConsoleOptionProtocolEnum() GetServerRemoteConsoleOptionP } func (c GetServerRemoteConsoleOptionProtocol) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *GetServerRemoteConsoleOptionProtocol) UnmarshalJSON(b []byte) error { @@ -77,7 +79,7 @@ func GetGetServerRemoteConsoleOptionTypeEnum() GetServerRemoteConsoleOptionTypeE } func (c GetServerRemoteConsoleOptionType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *GetServerRemoteConsoleOptionType) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_hypervisor.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_hypervisor.go new file mode 100644 index 0000000000000000000000000000000000000000..f43bdeef3075a2efbd04b3a0b078ddfb0b421d3c --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_hypervisor.go @@ -0,0 +1,26 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// hypervisor信息。 +type Hypervisor struct { + // hypervisor类型 + + HypervisorType *string `json:"hypervisor_type,omitempty"` + // hypervisor csd信息 + + CsdHypervisor *string `json:"csd_hypervisor,omitempty"` +} + +func (o Hypervisor) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "Hypervisor struct{}" + } + + return strings.Join([]string{"Hypervisor", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_interface_attachable_quantity.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_interface_attachable_quantity.go new file mode 100644 index 0000000000000000000000000000000000000000..0ca6abae1a95de5d717e5d404c0910a3540fc3a4 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_interface_attachable_quantity.go @@ -0,0 +1,22 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type InterfaceAttachableQuantity struct { + // 云服务器剩余可挂载网卡数量 + + FreeNic *int32 `json:"free_nic,omitempty"` +} + +func (o InterfaceAttachableQuantity) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "InterfaceAttachableQuantity struct{}" + } + + return strings.Join([]string{"InterfaceAttachableQuantity", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_interface_attachment.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_interface_attachment.go index c51a720026022473a9a0a23821acddd4d947f628..2730e5655ddf40713c5eb24f78b551370ffdbeed 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_interface_attachment.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_interface_attachment.go @@ -1,32 +1,49 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) type InterfaceAttachment struct { // 网卡私网IP信息列表。 + FixedIps *[]ServerInterfaceFixedIp `json:"fixed_ips,omitempty"` // 网卡Mac地址信息。 + MacAddr *string `json:"mac_addr,omitempty"` // 网卡端口所属网络ID。 + NetId *string `json:"net_id,omitempty"` // 网卡端口ID。 + PortId *string `json:"port_id,omitempty"` // 网卡端口状态。 + PortState *string `json:"port_state,omitempty"` + // 卸载网卡时,是否删除网卡。 + + DeleteOnTermination *bool `json:"delete_on_termination,omitempty"` + // 从guest os中,网卡的驱动类型。可选值为virtio和hinic,默认为virtio + + DriverMode *string `json:"driver_mode,omitempty"` + // 网卡带宽下限。 + + MinRate *int32 `json:"min_rate,omitempty"` + // 网卡多队列个数。 + + MultiqueueNum *int32 `json:"multiqueue_num,omitempty"` + // 弹性网卡在Linux GuestOS里的BDF号 + + PciAddress *string `json:"pci_address,omitempty"` } func (o InterfaceAttachment) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "InterfaceAttachment struct{}" + } + return strings.Join([]string{"InterfaceAttachment", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_ipv6_bandwidth.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_ipv6_bandwidth.go index 3666bb8fadf4246e6886e48414cc9bd5f8485eb3..cc54d19bda237f197c987fe772397cb3b132de78 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_ipv6_bandwidth.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_ipv6_bandwidth.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,15 @@ import ( // type Ipv6Bandwidth struct { // IPv6带宽的ID。 + Id *string `json:"id,omitempty"` } func (o Ipv6Bandwidth) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "Ipv6Bandwidth struct{}" + } + return strings.Join([]string{"Ipv6Bandwidth", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_job_entities.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_job_entities.go index b785192f00525a4a5a8d40dc77642618eeaa46ea..e51d9bca9c5f146670a0f2cbe3614fd08a042cc7 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_job_entities.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_job_entities.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,12 +9,18 @@ import ( // type JobEntities struct { // 每个子任务的执行信息。 + SubJobs *[]SubJob `json:"sub_jobs,omitempty"` // 子任务数量。 + SubJobsTotal *int32 `json:"sub_jobs_total,omitempty"` } func (o JobEntities) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "JobEntities struct{}" + } + return strings.Join([]string{"JobEntities", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_link.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_link.go index b902bc7abea97b6b1d509fca5ef081fc1b1bcebc..d85e3876a7c1996272b1eb8b48643eddf5336462 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_link.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_link.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,12 +9,18 @@ import ( // 相关快捷链接地址。 type Link struct { // 对应快捷链接。 + Href string `json:"href"` // 快捷链接标记名称。 + Rel string `json:"rel"` } func (o Link) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "Link struct{}" + } + return strings.Join([]string{"Link", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_flavors_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_flavors_request.go index badc7f0ad28335b448cb3390dbf9ac9f376f9b01..634903f8183cf29b41816b71a198c99b7ff9c319 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_flavors_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_flavors_request.go @@ -1,24 +1,23 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type ListFlavorsRequest struct { + // 可用区,需要指定可用区(AZ)的名称或者ID或者code。 可通过接口 [查询可用区列表接口](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=ECS&api=NovaListAvailabilityZones) 获取,也可参考[地区和终端节点](https://developer.huaweicloud.com/endpoint)获取。 + AvailabilityZone *string `json:"availability_zone,omitempty"` } func (o ListFlavorsRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListFlavorsRequest struct{}" + } + return strings.Join([]string{"ListFlavorsRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_flavors_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_flavors_response.go index 6d33dfb4fec89852470b9203a8b177c6f7ac1368..e0a3324c78096f2d91ace490b2eccb5e6c27d3a8 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_flavors_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_flavors_response.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type ListFlavorsResponse struct { // 云服务器规格列表。 - Flavors *[]Flavor `json:"flavors,omitempty"` + + Flavors *[]Flavor `json:"flavors,omitempty"` + HttpStatusCode int `json:"-"` } func (o ListFlavorsResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListFlavorsResponse struct{}" + } + return strings.Join([]string{"ListFlavorsResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_resize_flavors_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_resize_flavors_request.go index 33cfc3f1c1b5ec49056d274c317531612e25e691..19beb1a06bfd67b278c15356d1627d498bde6bd1 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_resize_flavors_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_resize_flavors_request.go @@ -1,32 +1,46 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // Request Object type ListResizeFlavorsRequest struct { - InstanceUuid *string `json:"instance_uuid,omitempty"` - Limit *int32 `json:"limit,omitempty"` - Marker *string `json:"marker,omitempty"` - SortDir *ListResizeFlavorsRequestSortDir `json:"sort_dir,omitempty"` - SortKey *ListResizeFlavorsRequestSortKey `json:"sort_key,omitempty"` - SourceFlavorId *string `json:"source_flavor_id,omitempty"` - SourceFlavorName *string `json:"source_flavor_name,omitempty"` + // 进行规格切换的云服务器ID,UUID格式。 + + InstanceUuid *string `json:"instance_uuid,omitempty"` + // 单页面可显示的flavor条数最大值,默认是1000。 + + Limit *int32 `json:"limit,omitempty"` + // 以单页最后一条flavor的ID作为分页标记。 + + Marker *string `json:"marker,omitempty"` + // 升序/降序排序,默认值为:asc。 取值范围: - asc:表示升序。 - desc:表示降序 + + SortDir *ListResizeFlavorsRequestSortDir `json:"sort_dir,omitempty"` + // 排序字段。 key的取值范围: - flavorid:表示规格ID。 - sort_key的默认值为“flavorid”。 - name:表示规格名称。 - memory_mb:表示内存大小。 - vcpus:表示CPU大小。 - root_gb:表示系统盘大小。 + + SortKey *ListResizeFlavorsRequestSortKey `json:"sort_key,omitempty"` + // 进行规格切换的云服务器源规格ID。 + + SourceFlavorId *string `json:"source_flavor_id,omitempty"` + // 进行规格切换的云服务器源规格名称。 + + SourceFlavorName *string `json:"source_flavor_name,omitempty"` } func (o ListResizeFlavorsRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListResizeFlavorsRequest struct{}" + } + return strings.Join([]string{"ListResizeFlavorsRequest", string(data)}, " ") } @@ -51,7 +65,7 @@ func GetListResizeFlavorsRequestSortDirEnum() ListResizeFlavorsRequestSortDirEnu } func (c ListResizeFlavorsRequestSortDir) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ListResizeFlavorsRequestSortDir) UnmarshalJSON(b []byte) error { @@ -105,7 +119,7 @@ func GetListResizeFlavorsRequestSortKeyEnum() ListResizeFlavorsRequestSortKeyEnu } func (c ListResizeFlavorsRequestSortKey) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ListResizeFlavorsRequestSortKey) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_resize_flavors_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_resize_flavors_response.go index c70d3b6fd0aa9f7ac1052c5a91d2e10b856b8eb8..5b031efdfe7b33961705feb9f06b653d8b11d681 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_resize_flavors_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_resize_flavors_response.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type ListResizeFlavorsResponse struct { // 云服务器规格列表。 - Flavors *[]ListResizeFlavorsResult `json:"flavors,omitempty"` + + Flavors *[]ListResizeFlavorsResult `json:"flavors,omitempty"` + HttpStatusCode int `json:"-"` } func (o ListResizeFlavorsResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListResizeFlavorsResponse struct{}" + } + return strings.Join([]string{"ListResizeFlavorsResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_resize_flavors_result.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_resize_flavors_result.go index 3b45cef9407382aa70d3df0bbfc7b6c2117b2ff5..9e07f81574a1dee45afa06a08aad7429b1e8f8b6 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_resize_flavors_result.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_resize_flavors_result.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,35 +9,56 @@ import ( // 云服务器规格。 type ListResizeFlavorsResult struct { // 云服务器规格的ID。 + Id string `json:"id"` // 云服务器规格的名称。 + Name string `json:"name"` // 云服务器规格对应的CPU核数。 + Vcpus string `json:"vcpus"` // 云服务器规格对应的内存大小,单位为MB。 + Ram int32 `json:"ram"` // 云服务器规格对应要求的系统盘大小。 当前未使用该参数,缺省值为0。 + Disk string `json:"disk"` // 云服务器规格对应要求的交换分区大小。 当前未使用该参数,缺省值为\"\"。 + Swap string `json:"swap"` // 扩展属性,临时盘大小。 当前未使用该参数,缺省值为0 + OSFLVEXTDATAephemeral int32 `json:"OS-FLV-EXT-DATA:ephemeral"` // 扩展属性,该云服务器规格是否禁用。 当前未使用该参数,缺省值为false。 + OSFLVDISABLEDdisabled bool `json:"OS-FLV-DISABLED:disabled"` // 云服务器可使用网络带宽与网络硬件带宽的比例。 当前未使用该参数,缺省值为1.0。 + RxtxFactor float32 `json:"rxtx_factor"` // 云服务器可使用网络带宽的软限制。 当前未使用该参数,缺省值为null。 + RxtxQuota string `json:"rxtx_quota"` // 云服务器可使用网络带宽的硬限制。 当前未使用该参数,缺省值为null。 + RxtxCap string `json:"rxtx_cap"` // 扩展属性,flavor是否给所有租户使用。 - true:表示给所有租户使用。 - false:表示给指定租户使用。 缺省值为true。 + OsFlavorAccessisPublic bool `json:"os-flavor-access:is_public"` // 规格相关快捷链接地址。 - Links []FlavorLink `json:"links"` + + Links []FlavorLink `json:"links"` + ExtraSpecs *FlavorExtraSpec `json:"extra_specs"` + // 预留属性。 + + InstanceQuota *interface{} `json:"instance_quota"` } func (o ListResizeFlavorsResult) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListResizeFlavorsResult struct{}" + } + return strings.Join([]string{"ListResizeFlavorsResult", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_block_devices_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_block_devices_request.go index dc3202331edd6ba880619ea49857e4a127c0e84c..a1e5056e90636ea633adcf8db603d43512220461 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_block_devices_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_block_devices_request.go @@ -1,24 +1,23 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type ListServerBlockDevicesRequest struct { + // 云服务器ID。 + ServerId string `json:"server_id"` } func (o ListServerBlockDevicesRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListServerBlockDevicesRequest struct{}" + } + return strings.Join([]string{"ListServerBlockDevicesRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_block_devices_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_block_devices_response.go index 65e4156aa708e7ae39766bbfd34dabe49525253f..1feba4e2dc1caf196d6f4aaa4d8f892625117789 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_block_devices_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_block_devices_response.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -17,10 +10,16 @@ import ( type ListServerBlockDevicesResponse struct { AttachableQuantity *BlockDeviceAttachableQuantity `json:"attachableQuantity,omitempty"` // 云服务器挂载信息列表。 + VolumeAttachments *[]ServerBlockDevice `json:"volumeAttachments,omitempty"` + HttpStatusCode int `json:"-"` } func (o ListServerBlockDevicesResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListServerBlockDevicesResponse struct{}" + } + return strings.Join([]string{"ListServerBlockDevicesResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_groups_page_info_result.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_groups_page_info_result.go new file mode 100644 index 0000000000000000000000000000000000000000..1f83126f0bd4200e2d24696ace4935d9863d6dd5 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_groups_page_info_result.go @@ -0,0 +1,22 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type ListServerGroupsPageInfoResult struct { + // + + NextMarker *string `json:"next_marker,omitempty"` +} + +func (o ListServerGroupsPageInfoResult) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListServerGroupsPageInfoResult struct{}" + } + + return strings.Join([]string{"ListServerGroupsPageInfoResult", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_groups_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_groups_request.go new file mode 100644 index 0000000000000000000000000000000000000000..348ede1bbce76e8dca2f5cf18dc449051936162f --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_groups_request.go @@ -0,0 +1,26 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ListServerGroupsRequest struct { + // 查询返回server group数量限制。 + + Limit *int32 `json:"limit,omitempty"` + // 从marker指定的server group的下一条数据开始查询。 + + Marker *string `json:"marker,omitempty"` +} + +func (o ListServerGroupsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListServerGroupsRequest struct{}" + } + + return strings.Join([]string{"ListServerGroupsRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_groups_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_groups_response.go new file mode 100644 index 0000000000000000000000000000000000000000..38b9e783480820cdc1c88b2c03f05aaee9e603e4 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_groups_response.go @@ -0,0 +1,26 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ListServerGroupsResponse struct { + // 弹性云服务器组信息 + + ServerGroups *[]ListServerGroupsResult `json:"server_groups,omitempty"` + + PageInfo *ListServerGroupsPageInfoResult `json:"page_info,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListServerGroupsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListServerGroupsResponse struct{}" + } + + return strings.Join([]string{"ListServerGroupsResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_groups_result.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_groups_result.go new file mode 100644 index 0000000000000000000000000000000000000000..25619f6ceecea943dd9527368a66db30a30bc28f --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_groups_result.go @@ -0,0 +1,35 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type ListServerGroupsResult struct { + // 云服务器组UUID。 + + Id string `json:"id"` + // 云服务器组中包含的云服务器列表。 + + Members []string `json:"members"` + // 云服务器组元数据。 + + Metadata map[string]string `json:"metadata"` + // 云服务器组名称。 + + Name string `json:"name"` + // 与服务器组关联的策略名称列表。当前有效的策略名称为: anti-affinity -此组中的服务器必须安排到不同的主机; affinity -此组中的服务器必须安排在同一主机上; soft-anti-affinity –如果可能, 应将此组中的服务器安排到不同的主机, 但如果无法实现, 则仍应安排它们, 而不是导致生成失败; soft-affinity -如果可能, 应将此组中的服务器安排在同一主机上, 但如果无法实现, 则仍应安排它们, 而不是导致生成失败。 + + Policies []string `json:"policies"` +} + +func (o ListServerGroupsResult) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListServerGroupsResult struct{}" + } + + return strings.Join([]string{"ListServerGroupsResult", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_interfaces_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_interfaces_request.go index 33ab12ac303baeefb6a7a982fdfc9d06a87d3417..093f16bb6b4c0aea1900184145005548d173229c 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_interfaces_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_interfaces_request.go @@ -1,24 +1,23 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type ListServerInterfacesRequest struct { + // 云服务器ID。 + ServerId string `json:"server_id"` } func (o ListServerInterfacesRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListServerInterfacesRequest struct{}" + } + return strings.Join([]string{"ListServerInterfacesRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_interfaces_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_interfaces_response.go index 875d06486cdec26b23de802c205049ce0fff95a8..45e357507ac30602d5fcc3a173d61b63a53c7ec4 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_interfaces_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_interfaces_response.go @@ -1,25 +1,25 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type ListServerInterfacesResponse struct { + AttachableQuantity *InterfaceAttachableQuantity `json:"attachableQuantity,omitempty"` // 云服务器网卡信息列表 + InterfaceAttachments *[]InterfaceAttachment `json:"interfaceAttachments,omitempty"` + HttpStatusCode int `json:"-"` } func (o ListServerInterfacesResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListServerInterfacesResponse struct{}" + } + return strings.Join([]string{"ListServerInterfacesResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_tags_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_tags_request.go new file mode 100644 index 0000000000000000000000000000000000000000..7469c124c531d75a128308e176e2c1cf30db4380 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_tags_request.go @@ -0,0 +1,20 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ListServerTagsRequest struct { +} + +func (o ListServerTagsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListServerTagsRequest struct{}" + } + + return strings.Join([]string{"ListServerTagsRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_tags_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_tags_response.go new file mode 100644 index 0000000000000000000000000000000000000000..023259cd4a53a07cc59d6cc71b9795855b5b2a47 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_server_tags_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ListServerTagsResponse struct { + // 标签列表 + + Tags *[]ProjectTag `json:"tags,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListServerTagsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListServerTagsResponse struct{}" + } + + return strings.Join([]string{"ListServerTagsResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_servers_details_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_servers_details_request.go index f445db82f949ee790fa99094e78498358080fa9a..ea773a8568b03932bb0e62e7d80bd3ba90e8c4b7 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_servers_details_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_servers_details_request.go @@ -1,33 +1,50 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type ListServersDetailsRequest struct { + // 查询绑定某个企业项目的弹性云服务器。 若需要查询当前用户所有企业项目绑定的弹性云服务,请传参all_granted_eps。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` - Flavor *string `json:"flavor,omitempty"` - Ip *string `json:"ip,omitempty"` - Limit *int32 `json:"limit,omitempty"` - Name *string `json:"name,omitempty"` - NotTags *string `json:"not-tags,omitempty"` - Offset *int32 `json:"offset,omitempty"` - ReservationId *string `json:"reservation_id,omitempty"` - Status *string `json:"status,omitempty"` - Tags *string `json:"tags,omitempty"` + // 云服务器规格ID,已上线的规格请参见《弹性云服务器用户指南》的“实例和应用场景”章节。 + + Flavor *string `json:"flavor,omitempty"` + // IPv4地址过滤结果,匹配规则为模糊匹配。 + + Ip *string `json:"ip,omitempty"` + // 查询返回云服务器当前页面的大小。每页最多返回1000台云服务器的信息。 + + Limit *int32 `json:"limit,omitempty"` + // 云服务器名称,匹配规则为模糊匹配。 + + Name *string `json:"name,omitempty"` + // 查询tag字段中不包含该值的云服务器。 + + NotTags *string `json:"not-tags,omitempty"` + // 页码。 当前页面数,默认为1。 取值大于等于0,取值为0时返回第1页。 + + Offset *int32 `json:"offset,omitempty"` + // 批量创建弹性云服务器时,指定返回的ID,用于查询本次批量创建的弹性云服务器。 + + ReservationId *string `json:"reservation_id,omitempty"` + // 云服务器状态。 取值范围: ACTIVE, BUILD,DELETED,ERROR,HARD_REBOOT,MIGRATING,REBOOT,RESIZE,REVERT_RESIZE,SHELVED,SHELVED_OFFLOADED,SHUTOFF,UNKNOWN,VERIFY_RESIZE 只有管理员可以使用“deleted”状态过滤查询已经删除的弹性云服务器。 弹性云服务器状态说明请参考[云服务器状态](https://support.huaweicloud.com/api-ecs/ecs_08_0002.html) + + Status *string `json:"status,omitempty"` + // 查询tag字段中包含该值的云服务器。 + + Tags *string `json:"tags,omitempty"` } func (o ListServersDetailsRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListServersDetailsRequest struct{}" + } + return strings.Join([]string{"ListServersDetailsRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_servers_details_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_servers_details_response.go index ae51ac7f423ce002b2549725596bc8499cd16d48..fb173991591decd82e4115796a451c770a447455 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_servers_details_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_list_servers_details_response.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,12 +9,19 @@ import ( // Response Object type ListServersDetailsResponse struct { // 弹性云服务器的列表总数。 + Count *int32 `json:"count,omitempty"` // 弹性云服务器详情列表,具体参照-查询云服务器详情接口。查询级别不同,返回的详情不同。 - Servers *[]ServerDetail `json:"servers,omitempty"` + + Servers *[]ServerDetail `json:"servers,omitempty"` + HttpStatusCode int `json:"-"` } func (o ListServersDetailsResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ListServersDetailsResponse struct{}" + } + return strings.Join([]string{"ListServersDetailsResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_migrate_server_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_migrate_server_option.go new file mode 100644 index 0000000000000000000000000000000000000000..6804e66f6f6e8cae507da337605824294af111c2 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_migrate_server_option.go @@ -0,0 +1,23 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// 冷迁移云服务器请求结构 +type MigrateServerOption struct { + // 专属主机ID。 当弹性云服务器从公共资源池迁移至专属主机上,或者弹性云服务器在专属主机之间迁移时,该字段生效。 + + DedicatedHostId *string `json:"dedicated_host_id,omitempty"` +} + +func (o MigrateServerOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "MigrateServerOption struct{}" + } + + return strings.Join([]string{"MigrateServerOption", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_migrate_server_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_migrate_server_request.go new file mode 100644 index 0000000000000000000000000000000000000000..b7afb2643a74cd96fbb9df26db8ec62c1c7918fa --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_migrate_server_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type MigrateServerRequest struct { + // 云服务器ID。 + + ServerId string `json:"server_id"` + + Body *MigrateServerRequestBody `json:"body,omitempty"` +} + +func (o MigrateServerRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "MigrateServerRequest struct{}" + } + + return strings.Join([]string{"MigrateServerRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_migrate_server_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_migrate_server_request_body.go new file mode 100644 index 0000000000000000000000000000000000000000..d4120148ce5fe1de1b1443c4cf99b217d8b4a2d0 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_migrate_server_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// This is a auto create Body Object +type MigrateServerRequestBody struct { + Migrate *MigrateServerOption `json:"migrate"` +} + +func (o MigrateServerRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "MigrateServerRequestBody struct{}" + } + + return strings.Join([]string{"MigrateServerRequestBody", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_migrate_server_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_migrate_server_response.go new file mode 100644 index 0000000000000000000000000000000000000000..8857e9d461c4cf24f162a7b98f21c13b6b8119c0 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_migrate_server_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type MigrateServerResponse struct { + // 提交任务成功后返回的任务ID,用户可以使用该ID对任务执行情况进行查询。 + + JobId *string `json:"job_id,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o MigrateServerResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "MigrateServerResponse struct{}" + } + + return strings.Join([]string{"MigrateServerResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_add_security_group_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_add_security_group_option.go index dce1607a7af8616ed19ccea5e441ef0055b8a120..08de5b2d0fd077f3540d83302e7d9db844d384c7 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_add_security_group_option.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_add_security_group_option.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,15 @@ import ( // type NovaAddSecurityGroupOption struct { // 弹性云服务器添加的安全组名称,会对云服务器中配置的网卡生效。 + Name string `json:"name"` } func (o NovaAddSecurityGroupOption) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaAddSecurityGroupOption struct{}" + } + return strings.Join([]string{"NovaAddSecurityGroupOption", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_associate_security_group_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_associate_security_group_request.go index 30cf31ce15672b8df1cd27f0328f2c131b7106ac..20f421f64035d5fdd1f7426cbc331c26c14b2d20 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_associate_security_group_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_associate_security_group_request.go @@ -1,25 +1,25 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type NovaAssociateSecurityGroupRequest struct { - ServerId string `json:"server_id"` - Body *NovaAssociateSecurityGroupRequestBody `json:"body,omitempty"` + // 弹性云服务器ID。 + + ServerId string `json:"server_id"` + + Body *NovaAssociateSecurityGroupRequestBody `json:"body,omitempty"` } func (o NovaAssociateSecurityGroupRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaAssociateSecurityGroupRequest struct{}" + } + return strings.Join([]string{"NovaAssociateSecurityGroupRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_associate_security_group_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_associate_security_group_request_body.go index 9f5d9854701e2fed02c4534e5ab367d4be124cca..ceb02411ca9ace50bacbb8cf7482844b13dc4827 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_associate_security_group_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_associate_security_group_request_body.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -19,6 +12,10 @@ type NovaAssociateSecurityGroupRequestBody struct { } func (o NovaAssociateSecurityGroupRequestBody) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaAssociateSecurityGroupRequestBody struct{}" + } + return strings.Join([]string{"NovaAssociateSecurityGroupRequestBody", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_associate_security_group_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_associate_security_group_response.go index edde840dc0ccdf595b9c79c17388069c25eac651..50eca0861dc3217dcfd322cd6949923d8a821f03 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_associate_security_group_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_associate_security_group_response.go @@ -1,23 +1,21 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type NovaAssociateSecurityGroupResponse struct { + HttpStatusCode int `json:"-"` } func (o NovaAssociateSecurityGroupResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaAssociateSecurityGroupResponse struct{}" + } + return strings.Join([]string{"NovaAssociateSecurityGroupResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_availability_zone.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_availability_zone.go index 787a77b2ac1e37079ee0d702aec5d71b40d2e075..202aa265f28d440d6dda43dc0b4e0302cb7eca9d 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_availability_zone.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_availability_zone.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,13 +9,20 @@ import ( // 可用域信息 type NovaAvailabilityZone struct { // 该字段的值为null。 + Hosts []string `json:"hosts"` // 可用域的名称。 - ZoneName string `json:"zoneName"` + + ZoneName string `json:"zoneName"` + ZoneState *NovaAvailabilityZoneState `json:"zoneState"` } func (o NovaAvailabilityZone) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaAvailabilityZone struct{}" + } + return strings.Join([]string{"NovaAvailabilityZone", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_availability_zone_state.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_availability_zone_state.go index b27379b7f7a3cae6d98faa348765f1d4b5a62b2e..7ae20727fd3dd3aea8a50f352bca61b08198b498 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_availability_zone_state.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_availability_zone_state.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,15 @@ import ( // 可用域的状态 type NovaAvailabilityZoneState struct { // 可用域状态。 + Available bool `json:"available"` } func (o NovaAvailabilityZoneState) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaAvailabilityZoneState struct{}" + } + return strings.Join([]string{"NovaAvailabilityZoneState", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_keypair_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_keypair_option.go index f8bf6a81ee4907c6e697a3fcf5327282f694ef06..2525d3e835f7f164eab50e6f510275df7a11cb06 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_keypair_option.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_keypair_option.go @@ -1,33 +1,37 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // type NovaCreateKeypairOption struct { // 导入的公钥信息。 建议导入的公钥长度不大于1024字节。 说明: - 长度超过1024字节会导致云服务器注入该密钥失败。 + PublicKey *string `json:"public_key,omitempty"` // 密钥类型,值为“ssh”或“x509”。 说明: - 微版本2.2支持。 + Type *NovaCreateKeypairOptionType `json:"type,omitempty"` // 密钥名称。 新创建的密钥名称不能和已有密钥名称相同。 + Name string `json:"name"` // 密钥的用户ID。 说明: - 微版本2.10支持。 + UserId *string `json:"user_id,omitempty"` } func (o NovaCreateKeypairOption) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaCreateKeypairOption struct{}" + } + return strings.Join([]string{"NovaCreateKeypairOption", string(data)}, " ") } @@ -52,7 +56,7 @@ func GetNovaCreateKeypairOptionTypeEnum() NovaCreateKeypairOptionTypeEnum { } func (c NovaCreateKeypairOptionType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *NovaCreateKeypairOptionType) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_keypair_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_keypair_request.go index c2a007b0ea273766a15f5969093aebb3bf959855..9ddc44c49907dd2f020752099682d838a2f1df1c 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_keypair_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_keypair_request.go @@ -1,25 +1,25 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type NovaCreateKeypairRequest struct { - OpenStackAPIVersion *string `json:"OpenStack-API-Version,omitempty"` - Body *NovaCreateKeypairRequestBody `json:"body,omitempty"` + // 微版本头 + + OpenStackAPIVersion *string `json:"OpenStack-API-Version,omitempty"` + + Body *NovaCreateKeypairRequestBody `json:"body,omitempty"` } func (o NovaCreateKeypairRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaCreateKeypairRequest struct{}" + } + return strings.Join([]string{"NovaCreateKeypairRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_keypair_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_keypair_request_body.go index 91d2760e3b7d34b4adfd4bfe1bbaf57d5f2cd7e2..e0ead22cfdb1896fb078ba69062a169a62bf0f25 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_keypair_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_keypair_request_body.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -19,6 +12,10 @@ type NovaCreateKeypairRequestBody struct { } func (o NovaCreateKeypairRequestBody) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaCreateKeypairRequestBody struct{}" + } + return strings.Join([]string{"NovaCreateKeypairRequestBody", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_keypair_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_keypair_response.go index a3cd920122f75b570b715bc4ba24873c0f7d9263..08cc8b4f904b83de39f58470fdde96b3309223fd 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_keypair_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_keypair_response.go @@ -1,24 +1,22 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type NovaCreateKeypairResponse struct { - Keypair *NovaKeypair `json:"keypair,omitempty"` + Keypair *NovaKeypair `json:"keypair,omitempty"` + HttpStatusCode int `json:"-"` } func (o NovaCreateKeypairResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaCreateKeypairResponse struct{}" + } + return strings.Join([]string{"NovaCreateKeypairResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_servers_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_servers_option.go index 7242f20d9b8f357e266d3acb7cdb572211ad6875..3da08de13b92608f0949cfcca952869792150eb1 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_servers_option.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_servers_option.go @@ -1,59 +1,79 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // 弹性云服务器信息 type NovaCreateServersOption struct { + // 弹性云服务器自动释放时间。 时间格式例如:2020-01-19T03:30:52Z + + AutoTerminateTime *string `json:"auto_terminate_time,omitempty"` // 镜像ID或者镜像资源的URL。 - 镜像ID示例:3b8d6fef-af77-42ab-b8b7-5a7f0f0af8f2 - 镜像URL示例:http://glance.openstack.example.com/images/3b8d6fef-af77-42ab-b8b7-5a7f0f0af8f2 - 指定卷作为系统卷创弹性云服务器时,不需填写该参数;非卷创建弹性云服务器时需填写有效的UUID参数,否则API将返回400错误。 > 说明: > - 对于部分规格的弹性云服务器,不能支持公有云平台提供的所有公共镜像。具体规格的镜像支持列表,请登录管理控制台,以“创建弹性云服务器”页面系统自动过滤的镜像信息为准,并在镜像服务页面查询镜像ID。 > - 如果创建失败,请尝试修改参数配置。 + ImageRef *string `json:"imageRef,omitempty"` // 规格ID或URL。 + FlavorRef string `json:"flavorRef"` // 弹性云服务器名称,长度大于0小于256字节。 > 说明: > > 云服务器内部主机名(hostname)命名规则遵循 [RFC 952](https://tools.ietf.org/html/rfc952)和[RFC 1123](https://tools.ietf.org/html/rfc1123)命名规范,建议使用a-zA-z或0-9以及中划线\"-\"组成的名称命名,\"_\"将在弹性云服务器内部默认转化为\"-\"。 + Name string `json:"name"` // 用户自定义字段键值对。 > - key的长度大于0小于256字节 > - value的长度大于等于0小于256字节 系统预留字段 1. admin_pass:弹性云服务器密码 Windows弹性云服务器Administrator用户的密码。 > 说明: > 创建密码方式鉴权的Windows弹性云服务器时为必选字段。 + Metadata map[string]string `json:"metadata,omitempty"` // 如果需要使用密码方式登录云服务器,可使用adminPass字段指定云服务器管理员帐户初始登录密码。其中,Linux管理员帐户为root,Windows管理员帐户为Administrator。 + AdminPass *string `json:"adminPass,omitempty"` // 扩展属性,指定弹性云服务器存储设备的v2接口。是存储资源的新版本接口,指定卷场景不能批创弹性云服务器。 裸金属服务器场景不支持。 + BlockDeviceMappingV2 *[]NovaServerBlockDeviceMapping `json:"block_device_mapping_v2,omitempty"` // 扩展属性,开启后在弹性云服务器创建时挂载config_drive向弹性云服务器内部传递信息。 当前不支持该功能。 + ConfigDrive *string `json:"config_drive,omitempty"` // 扩展属性,指定弹性云服务器的安全组,默认为default。 指定network创建弹性云服务器时该字段有效。对于已存在端口,安全组请求无效。 + SecurityGroups *[]NovaServerSecurityGroup `json:"security_groups,omitempty"` // 扩展属性,指定弹性云服务器的网卡信息。有多个租户网络时必须指定。 + Networks []NovaServerNetwork `json:"networks"` // 扩展属性,指定keypair的名称。 + KeyName *string `json:"key_name,omitempty"` // 扩展属性,字符串长度小于65535,且必须是base64加密的。 + UserData *string `json:"user_data,omitempty"` // 扩展属性,指定弹性云服务器所在的AZ。 创建弹性云服务器时需要填入该参数。 + AvailabilityZone *string `json:"availability_zone,omitempty"` // 扩展属性,是否支持返回批量创建弹性云服务器的reservation_id。通过返回的reservation_id,可以过滤查询到本次创建的弹性云服务器。 - true,返回reservation_id。 - false,返回弹性云服务器信息。 > 说明: > > 批量创建弹性云服务器时,支持使用该字段。 + ReturnReservationId *bool `json:"return_reservation_id,omitempty"` // 扩展属性,表示创建弹性云服务器最小数量。 默认值为1。 > 说明: > > 指定镜像创建弹性云服务器时,支持使用该字段。 + MinCount *int32 `json:"min_count,omitempty"` // 表示创建弹性云服务器最大数量。 默认值与min_count的取值一致。 约束: 参数max_count的取值必须大于参数min_count的取值。 当min_count、max_count同时设置时,创弹性云服务器的数量取决于服务器的资源情况。根据资源情况,在min_count至max_count的取值范围内创建最大数量的弹性云服务器。 - 说明: - - 指定镜像创建弹性云服务器时,支持使用该字段。 + MaxCount *int32 `json:"max_count,omitempty"` // diskConfig的方式,取值为AUTO、MANUAL。 - MANUAL,镜像空间不会扩展。 - AUTO,系统盘镜像空间会自动扩展为与flavor大小一致。 当前不支持该功能。 + OSDCFdiskConfig *NovaCreateServersOptionOSDCFdiskConfig `json:"OS-DCF:diskConfig,omitempty"` // 扩展属性,表示弹性云服务器描述信息,默认为空字符串。 - 长度最多允许85个字符。 - 不能包含“<” 和 “>”等特殊符号。 > 说明: > > - V2接口不支持该字段。 > - V2.1接口支持该字段,此时,需在请求Header中增加一组Key-Value值。其中,Key固定为“X-OpenStack-Nova-API-Version” ,Value为微版本号,当Value的值为2.19时,支持使用该字段。 + Description *string `json:"description,omitempty"` } func (o NovaCreateServersOption) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaCreateServersOption struct{}" + } + return strings.Join([]string{"NovaCreateServersOption", string(data)}, " ") } @@ -78,7 +98,7 @@ func GetNovaCreateServersOptionOSDCFdiskConfigEnum() NovaCreateServersOptionOSDC } func (c NovaCreateServersOptionOSDCFdiskConfig) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *NovaCreateServersOptionOSDCFdiskConfig) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_servers_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_servers_request.go index 863011934557b8a86ad950b40f60f93b19474649..d971591cb9d7cb555a9e1ddc2477fc41d26a9739 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_servers_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_servers_request.go @@ -1,25 +1,25 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type NovaCreateServersRequest struct { - OpenStackAPIVersion *string `json:"OpenStack-API-Version,omitempty"` - Body *NovaCreateServersRequestBody `json:"body,omitempty"` + // 微版本头 + + OpenStackAPIVersion *string `json:"OpenStack-API-Version,omitempty"` + + Body *NovaCreateServersRequestBody `json:"body,omitempty"` } func (o NovaCreateServersRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaCreateServersRequest struct{}" + } + return strings.Join([]string{"NovaCreateServersRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_servers_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_servers_request_body.go index 541b1802e316a97e847732c16889e55b56409d9b..77264946e0052911587252b290489dda2026a714 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_servers_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_servers_request_body.go @@ -1,25 +1,23 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // This is a auto create Body Object type NovaCreateServersRequestBody struct { - Server *NovaCreateServersOption `json:"server"` + Server *NovaCreateServersOption `json:"server"` + OsschedulerHints *NovaCreateServersSchedulerHint `json:"os:scheduler_hints,omitempty"` } func (o NovaCreateServersRequestBody) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaCreateServersRequestBody struct{}" + } + return strings.Join([]string{"NovaCreateServersRequestBody", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_servers_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_servers_response.go index f5394953c22427412bd9018e324bd397a60247ad..eb309280abfab8d9539c53e81b9ac1a2847eff85 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_servers_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_servers_response.go @@ -1,24 +1,22 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type NovaCreateServersResponse struct { - Server *NovaCreateServersResult `json:"server,omitempty"` + Server *NovaCreateServersResult `json:"server,omitempty"` + HttpStatusCode int `json:"-"` } func (o NovaCreateServersResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaCreateServersResponse struct{}" + } + return strings.Join([]string{"NovaCreateServersResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_servers_result.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_servers_result.go index c0184c8282449651c57984e1f1c9e08c29883e2b..eaf26b93cd22596c2020b82e021d3b4bb36e3d31 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_servers_result.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_servers_result.go @@ -1,37 +1,43 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // type NovaCreateServersResult struct { // 弹性云服务器uuid。 + Id string `json:"id"` // 弹性云服务器URI自描述信息。 + Links []NovaLink `json:"links"` // 弹性云服务器所在安全组。 + SecurityGroups []NovaServerSecurityGroup `json:"security_groups"` // diskConfig方式。 - MANUAL,镜像空间不会扩展。 - AUTO,系统盘镜像空间会自动扩展为与flavor大小一致。 + OSDCFdiskConfig NovaCreateServersResultOSDCFdiskConfig `json:"OS-DCF:diskConfig"` // 通过返回的reservation_id,可以过滤查询到本次创建的弹性云服务器。 > 说明: > > 批量创建弹性云服务器时,支持使用该字段。 + ReservationId *string `json:"reservation_id,omitempty"` // Windows弹性云服务器Administrator用户的密码。 + AdminPass string `json:"adminPass"` } func (o NovaCreateServersResult) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaCreateServersResult struct{}" + } + return strings.Join([]string{"NovaCreateServersResult", string(data)}, " ") } @@ -56,7 +62,7 @@ func GetNovaCreateServersResultOSDCFdiskConfigEnum() NovaCreateServersResultOSDC } func (c NovaCreateServersResultOSDCFdiskConfig) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *NovaCreateServersResultOSDCFdiskConfig) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_servers_scheduler_hint.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_servers_scheduler_hint.go index 98313b7484372ee04da36c67c8f669c76ea92eb6..bedf7cec65753058f4caa1be055d5444775c3028 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_servers_scheduler_hint.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_create_servers_scheduler_hint.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,18 +9,33 @@ import ( // 弹性云服务器调度信息。 裸金属服务器场景不支持。 type NovaCreateServersSchedulerHint struct { // 反亲和性组信息。 UUID格式。 + Group *string `json:"group,omitempty"` // 与指定弹性云服务器满足反亲和性。 当前不支持该功能。 + DifferentHost *[]string `json:"different_host,omitempty"` // 与指定的弹性云服务器满足亲和性。 当前不支持该功能。 + SameHost *[]string `json:"same_host,omitempty"` // 将弹性云服务器scheduler到指定网段的host上,host网段的cidr。 当前不支持该功能。 + Cidr *string `json:"cidr,omitempty"` // 将弹性云服务器scheduler到指定网段的host上,host IP地址。 当前不支持该功能。 + BuildNearHostIp *string `json:"build_near_host_ip,omitempty"` + // 在专属主机或共享池中创建弹性云服务器。默认为在共享池创建。 值为: shared 或dedicated。 shared:表示共享池。 dedicated:表示专属主机。 创建与查询此值均有效。 + + Tenancy *string `json:"tenancy,omitempty"` + // 专属主机ID。 此属性仅在tenancy值为dedicated时有效。 不指定此属性,系统将自动分配租户可自动放置弹性云服务器的专属主机。 创建与查询此值均有效。 + + DedicatedHostId *string `json:"dedicated_host_id,omitempty"` } func (o NovaCreateServersSchedulerHint) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaCreateServersSchedulerHint struct{}" + } + return strings.Join([]string{"NovaCreateServersSchedulerHint", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_delete_keypair_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_delete_keypair_request.go index 15e82f812db6d0295960803af3dcd746e029b06c..4435436c15d4c2b6fdd5e67c2a0feda7639d1f72 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_delete_keypair_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_delete_keypair_request.go @@ -1,24 +1,23 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type NovaDeleteKeypairRequest struct { + // 密钥名称。 + KeypairName string `json:"keypair_name"` } func (o NovaDeleteKeypairRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaDeleteKeypairRequest struct{}" + } + return strings.Join([]string{"NovaDeleteKeypairRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_delete_keypair_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_delete_keypair_response.go index b0fb8a586dbdb9e45ec42d89906f8192a070786e..1cf68195442eb267abcf2f002de14158d31c346d 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_delete_keypair_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_delete_keypair_response.go @@ -1,23 +1,21 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type NovaDeleteKeypairResponse struct { + HttpStatusCode int `json:"-"` } func (o NovaDeleteKeypairResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaDeleteKeypairResponse struct{}" + } + return strings.Join([]string{"NovaDeleteKeypairResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_delete_server_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_delete_server_request.go index 97c5206bf6fcaffc34a83630baf4f4a9b11db937..d2d9de840632e8f158cc523b61df06c7f5b4047a 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_delete_server_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_delete_server_request.go @@ -1,24 +1,23 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type NovaDeleteServerRequest struct { + // 云服务器ID。 + ServerId string `json:"server_id"` } func (o NovaDeleteServerRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaDeleteServerRequest struct{}" + } + return strings.Join([]string{"NovaDeleteServerRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_delete_server_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_delete_server_response.go index 1da1a72913212013bbf73ab01942827a9a0c4223..f1c7f6a4611276cf764517b001ab78442ce36423 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_delete_server_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_delete_server_response.go @@ -1,23 +1,21 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type NovaDeleteServerResponse struct { + HttpStatusCode int `json:"-"` } func (o NovaDeleteServerResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaDeleteServerResponse struct{}" + } + return strings.Join([]string{"NovaDeleteServerResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_disassociate_security_group_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_disassociate_security_group_request.go index be7d4619aed0f8e859283c93e4934525fcfda302..e43787fd93071d27f857dc4626c252786a741163 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_disassociate_security_group_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_disassociate_security_group_request.go @@ -1,25 +1,25 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type NovaDisassociateSecurityGroupRequest struct { - ServerId string `json:"server_id"` - Body *NovaDisassociateSecurityGroupRequestBody `json:"body,omitempty"` + // 云服务器ID。 + + ServerId string `json:"server_id"` + + Body *NovaDisassociateSecurityGroupRequestBody `json:"body,omitempty"` } func (o NovaDisassociateSecurityGroupRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaDisassociateSecurityGroupRequest struct{}" + } + return strings.Join([]string{"NovaDisassociateSecurityGroupRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_disassociate_security_group_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_disassociate_security_group_request_body.go index cbcbf21c8cb104fdadde19085680764a446251f6..6c236495c6374af76434990c5198ee09a1e6c034 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_disassociate_security_group_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_disassociate_security_group_request_body.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -19,6 +12,10 @@ type NovaDisassociateSecurityGroupRequestBody struct { } func (o NovaDisassociateSecurityGroupRequestBody) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaDisassociateSecurityGroupRequestBody struct{}" + } + return strings.Join([]string{"NovaDisassociateSecurityGroupRequestBody", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_disassociate_security_group_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_disassociate_security_group_response.go index 1ef5e34997e96b6b95f1c3b6b927df3e66cc0829..4aa339a542534db00de46c04cbd78b04ea13ebea 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_disassociate_security_group_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_disassociate_security_group_response.go @@ -1,23 +1,21 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type NovaDisassociateSecurityGroupResponse struct { + HttpStatusCode int `json:"-"` } func (o NovaDisassociateSecurityGroupResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaDisassociateSecurityGroupResponse struct{}" + } + return strings.Join([]string{"NovaDisassociateSecurityGroupResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_keypair.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_keypair.go index 2d2caec27b403c54fa9756de3c44e18d4e8fd2e3..194d7b3299373d06f412a40ddc0322fee93d3afa 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_keypair.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_keypair.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,20 +9,30 @@ import ( // type NovaKeypair struct { // 密钥对应指纹信息。 + Fingerprint string `json:"fingerprint"` // 密钥名称。 + Name string `json:"name"` // 密钥对应publicKey信息。 + PublicKey string `json:"public_key"` // 密钥对应privateKey信息。 - 创建SSH密钥时,响应中包括private_key的信息。 - 导入SSH密钥时,响应中不包括private_key的信息。 + PrivateKey string `json:"private_key"` // 密钥所属用户ID。 + UserId string `json:"user_id"` // 密钥类型,默认“ssh” 微版本2.2以上支持 + Type *string `json:"type,omitempty"` } func (o NovaKeypair) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaKeypair struct{}" + } + return strings.Join([]string{"NovaKeypair", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_keypair_detail.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_keypair_detail.go new file mode 100644 index 0000000000000000000000000000000000000000..ee198d708e25845b30ee7781e4af6b02daf1581a --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_keypair_detail.go @@ -0,0 +1,51 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type NovaKeypairDetail struct { + // 密钥对应publicKey信息。 + + PublicKey string `json:"public_key"` + // 密钥名称。 + + Name string `json:"name"` + // 密钥对应指纹信息。 + + Fingerprint string `json:"fingerprint"` + // 密钥创建时间。 + + CreatedAt *sdktime.SdkTime `json:"created_at"` + // 密钥删除标记。 - true,表示密钥已被删除。 - false,表示密钥未被删除。 + + Deleted bool `json:"deleted"` + // 密钥删除时间。 + + DeletedAt *sdktime.SdkTime `json:"deleted_at"` + // 密钥ID。 + + Id int32 `json:"id"` + // 密钥更新时间。 + + UpdatedAt *sdktime.SdkTime `json:"updated_at"` + // 密钥所属用户信息。 + + UserId string `json:"user_id"` + // 密钥类型,默认“ssh” 微版本2.2以上支持 + + Type *string `json:"type,omitempty"` +} + +func (o NovaKeypairDetail) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NovaKeypairDetail struct{}" + } + + return strings.Join([]string{"NovaKeypairDetail", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_link.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_link.go index 0a1a6bd54f1212cdb24512f0c68be3a93e3584c6..49254c3595fe1f9b1535b2f60884877b7f05e0f9 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_link.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_link.go @@ -1,29 +1,31 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // type NovaLink struct { // 相应资源的链接。 + Href string `json:"href"` // 有三种取值。self:自助链接包含版本链接的资源。立即链接后使用这些链接。bookmark:书签链接提供了一个永久资源的永久链接,该链接适合于长期存储。alternate:备用链接可以包含资源的替换表示形式。例如,OpenStack计算映像可能在OpenStack映像服务中有一个替代表示。 + Rel NovaLinkRel `json:"rel"` } func (o NovaLink) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaLink struct{}" + } + return strings.Join([]string{"NovaLink", string(data)}, " ") } @@ -56,7 +58,7 @@ func GetNovaLinkRelEnum() NovaLinkRelEnum { } func (c NovaLinkRel) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *NovaLinkRel) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_availability_zones_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_availability_zones_request.go index 14d7f030b89ab595babd18e7224b647813035986..3cc58ac3547eed9169c793602d39cce47f243511 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_availability_zones_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_availability_zones_request.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -18,6 +11,10 @@ type NovaListAvailabilityZonesRequest struct { } func (o NovaListAvailabilityZonesRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaListAvailabilityZonesRequest struct{}" + } + return strings.Join([]string{"NovaListAvailabilityZonesRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_availability_zones_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_availability_zones_response.go index 9b1e444ff73982b5cafd7abf38320c23fc80be1e..e8c76c481a78de24dc8414a220363a7c0d576040 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_availability_zones_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_availability_zones_response.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type NovaListAvailabilityZonesResponse struct { // 可用域信息。 + AvailabilityZoneInfo *[]NovaAvailabilityZone `json:"availabilityZoneInfo,omitempty"` + HttpStatusCode int `json:"-"` } func (o NovaListAvailabilityZonesResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaListAvailabilityZonesResponse struct{}" + } + return strings.Join([]string{"NovaListAvailabilityZonesResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_keypairs_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_keypairs_request.go index 462b626a1590e521a24da4151a63256bf7c682f2..66956fe7da2bab97ba708541cd4df1628143d1e0 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_keypairs_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_keypairs_request.go @@ -1,26 +1,29 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type NovaListKeypairsRequest struct { - Limit *int32 `json:"limit,omitempty"` - Marker *string `json:"marker,omitempty"` + // 查询返回秘钥数量限制。 在微版本2.35后支持 + + Limit *int32 `json:"limit,omitempty"` + // 从marker指定的keypair的名称的下一条数据开始查询。 在微版本2.35后支持。 + + Marker *string `json:"marker,omitempty"` + // 微版本头 + OpenStackAPIVersion *string `json:"OpenStack-API-Version,omitempty"` } func (o NovaListKeypairsRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaListKeypairsRequest struct{}" + } + return strings.Join([]string{"NovaListKeypairsRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_keypairs_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_keypairs_response.go index 33eef5fd15b2b7fc9c2a3ca142b31cd16868afc7..9bdd93df8176071bfb90c1888725eafdceb66dc9 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_keypairs_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_keypairs_response.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type NovaListKeypairsResponse struct { // 密钥信息列表。 - Keypairs *[]NovaListKeypairsResult `json:"keypairs,omitempty"` + + Keypairs *[]NovaListKeypairsResult `json:"keypairs,omitempty"` + HttpStatusCode int `json:"-"` } func (o NovaListKeypairsResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaListKeypairsResponse struct{}" + } + return strings.Join([]string{"NovaListKeypairsResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_keypairs_result.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_keypairs_result.go index 5e7ed8ffbcd5bd331ce4c12d5525f6180d69484d..442a9961a46cb9ed81d0be56467e245ca0edd07b 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_keypairs_result.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_keypairs_result.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -19,6 +12,10 @@ type NovaListKeypairsResult struct { } func (o NovaListKeypairsResult) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaListKeypairsResult struct{}" + } + return strings.Join([]string{"NovaListKeypairsResult", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_server_security_groups_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_server_security_groups_request.go index a2ceeeeb48a17a195e5e7f4334ab8d9c664e7ea2..6d1c9f2b452446cf2e88831b4f14530cd0686c05 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_server_security_groups_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_server_security_groups_request.go @@ -1,24 +1,23 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type NovaListServerSecurityGroupsRequest struct { + // 云服务器ID。 + ServerId string `json:"server_id"` } func (o NovaListServerSecurityGroupsRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaListServerSecurityGroupsRequest struct{}" + } + return strings.Join([]string{"NovaListServerSecurityGroupsRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_server_security_groups_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_server_security_groups_response.go index c0369d7f98264b43842561f3122c61accf0d32e5..e5918fb2a1e185944c3f69f066b044dfed7e675a 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_server_security_groups_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_server_security_groups_response.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type NovaListServerSecurityGroupsResponse struct { // security_group列表 + SecurityGroups *[]NovaSecurityGroup `json:"security_groups,omitempty"` + HttpStatusCode int `json:"-"` } func (o NovaListServerSecurityGroupsResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaListServerSecurityGroupsResponse struct{}" + } + return strings.Join([]string{"NovaListServerSecurityGroupsResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_servers_details_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_servers_details_request.go index 55aa3e5dcb806c5c4300d41d45faac4b1e2b5594..01d07c261a18c434941a50b154ef7da4b934e6a8 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_servers_details_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_servers_details_request.go @@ -1,38 +1,64 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // Request Object type NovaListServersDetailsRequest struct { - ChangesSince *string `json:"changes-since,omitempty"` - Flavor *string `json:"flavor,omitempty"` - Image *string `json:"image,omitempty"` - Ip *string `json:"ip,omitempty"` - Limit *int32 `json:"limit,omitempty"` - Marker *string `json:"marker,omitempty"` - Name *string `json:"name,omitempty"` - NotTags *string `json:"not-tags,omitempty"` - ReservationId *string `json:"reservation_id,omitempty"` - SortKey *NovaListServersDetailsRequestSortKey `json:"sort_key,omitempty"` - Status *NovaListServersDetailsRequestStatus `json:"status,omitempty"` - Tags *string `json:"tags,omitempty"` - OpenStackAPIVersion *string `json:"OpenStack-API-Version,omitempty"` + // 云服务器上次更新状态的时间戳信息。时间戳为UTC格式。 + + ChangesSince *string `json:"changes-since,omitempty"` + // 云服务器规格ID。 + + Flavor *string `json:"flavor,omitempty"` + // 镜像ID 在使用image作为条件过滤时,不能同时支持其他过滤条件和分页条件。如果同时指定image及其他条件,则以image条件为准;当条件不含image时,接口功能不受限制。 + + Image *string `json:"image,omitempty"` + // IPv4地址过滤结果,匹配规则为模糊匹配。 + + Ip *string `json:"ip,omitempty"` + // 查询返回云服务器数量限制。 + + Limit *int32 `json:"limit,omitempty"` + // 从marker指定的云服务器ID的下一条数据开始查询。 + + Marker *string `json:"marker,omitempty"` + // 云服务器名称。 + + Name *string `json:"name,omitempty"` + // 查询tag字段中不包含该值的云服务器,值为标签的Key。 > 说明: > > 系统近期对标签功能进行了升级。如果之前添加的Tag为“Key.Value”的形式,则查询的时候需要使用“Key”来查询。 > > 例如:之前添加的tag为“a.b”,则升级后,查询时需使用“not-tags=a”。 + + NotTags *string `json:"not-tags,omitempty"` + // 批量创建弹性云服务器时,指定返回的ID,用于查询本次批量创建的弹性云服务器。 + + ReservationId *string `json:"reservation_id,omitempty"` + // 查询结果按弹性云服务器属性排序,默认排序顺序为created_at逆序。 + + SortKey *NovaListServersDetailsRequestSortKey `json:"sort_key,omitempty"` + // 云服务器状态。 取值范围: ACTIVE, BUILD,DELETED,ERROR,HARD_REBOOT,MIGRATING,REBOOT,RESIZE,REVERT_RESIZE,SHELVED,SHELVED_OFFLOADED,SHUTOFF,UNKNOWN,VERIFY_RESIZE 直到2.37微版本,非上面范围的status字段将返回空列表,2.38之后的微版本,将返回400错误。 云服务器状态说明请参考[云服务器状态](https://support.huaweicloud.com/api-ecs/ecs_08_0002.html)。 + + Status *NovaListServersDetailsRequestStatus `json:"status,omitempty"` + // 查询tag字段中包含该值的云服务器。 + + Tags *string `json:"tags,omitempty"` + // 微版本头 + + OpenStackAPIVersion *string `json:"OpenStack-API-Version,omitempty"` } func (o NovaListServersDetailsRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaListServersDetailsRequest struct{}" + } + return strings.Join([]string{"NovaListServersDetailsRequest", string(data)}, " ") } @@ -93,7 +119,7 @@ func GetNovaListServersDetailsRequestSortKeyEnum() NovaListServersDetailsRequest } func (c NovaListServersDetailsRequestSortKey) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *NovaListServersDetailsRequestSortKey) UnmarshalJSON(b []byte) error { @@ -179,7 +205,7 @@ func GetNovaListServersDetailsRequestStatusEnum() NovaListServersDetailsRequestS } func (c NovaListServersDetailsRequestStatus) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *NovaListServersDetailsRequestStatus) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_servers_details_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_servers_details_response.go index ac25aa64c8686cee93f39fecdbeab9b506581375..7ff10c2579b9b7ed5bf2a468cf4376372665a46a 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_servers_details_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_list_servers_details_response.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,12 +9,19 @@ import ( // Response Object type NovaListServersDetailsResponse struct { // 查询云服务器信息列表。 + Servers *[]NovaServer `json:"servers,omitempty"` // 分页查询时,查询下一页数据链接。 - ServersLinks *[]PageLink `json:"servers_links,omitempty"` + + ServersLinks *[]PageLink `json:"servers_links,omitempty"` + HttpStatusCode int `json:"-"` } func (o NovaListServersDetailsResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaListServersDetailsResponse struct{}" + } + return strings.Join([]string{"NovaListServersDetailsResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_network.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_network.go index 6d571c305940a80e96f33735253b5161cce19db5..a42d412be088656a22c0aa756a4b6b513e49e83f 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_network.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_network.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,16 +9,24 @@ import ( // type NovaNetwork struct { // IP地址。 + Addr string `json:"addr"` // IP地址类型,值为4或6。 4:IP地址类型是IPv4 6:IP地址类型是IPv6 + Version int32 `json:"version"` // 扩展属性,MAC地址。 + OSEXTIPSMACmacAddr string `json:"OS-EXT-IPS-MAC:mac_addr"` // 扩展属性,分配IP地址方式。 + OSEXTIPStype string `json:"OS-EXT-IPS:type"` } func (o NovaNetwork) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaNetwork struct{}" + } + return strings.Join([]string{"NovaNetwork", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_remove_security_group_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_remove_security_group_option.go index 1be9edc1bac36f1b73305cf1918b78eee705c7ba..821b0ac9947a4cc5c0cb5b379d66a01cb200f7f2 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_remove_security_group_option.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_remove_security_group_option.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,15 @@ import ( // type NovaRemoveSecurityGroupOption struct { // 弹性云服务器移除的安全组名称,会对云服务器中配置的网卡生效。 + Name string `json:"name"` } func (o NovaRemoveSecurityGroupOption) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaRemoveSecurityGroupOption struct{}" + } + return strings.Join([]string{"NovaRemoveSecurityGroupOption", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_security_group.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_security_group.go index b1b053d8061f8bb6624806530662537f29383e29..4e81ce4aa6064bc0d60355297fdb0965110a9ac2 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_security_group.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_security_group.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,18 +9,27 @@ import ( // type NovaSecurityGroup struct { // 安全组描述信息,长度0-255 + Description string `json:"description"` // 安全组ID,UUID格式 + Id string `json:"id"` // 安全组名字,长度0-255 + Name string `json:"name"` // 租户ID或项目ID + TenantId string `json:"tenant_id"` // 安全组规则列表 + Rules []NovaSecurityGroupCommonRule `json:"rules"` } func (o NovaSecurityGroup) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaSecurityGroup struct{}" + } + return strings.Join([]string{"NovaSecurityGroup", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_security_group_common_group.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_security_group_common_group.go index 3c162abadec24e6dba6b870951c19407d1b4f6b0..2b0708b5d83c532b4bbb9d55e9f6c869edd6a3e8 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_security_group_common_group.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_security_group_common_group.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,12 +9,18 @@ import ( // type NovaSecurityGroupCommonGroup struct { // 对端安全组的名称 - Name string `json:"name"` + + Name *string `json:"name,omitempty"` // 对端安全组所属租户的租户ID - TenantId string `json:"tenant_id"` + + TenantId *string `json:"tenant_id,omitempty"` } func (o NovaSecurityGroupCommonGroup) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaSecurityGroupCommonGroup struct{}" + } + return strings.Join([]string{"NovaSecurityGroupCommonGroup", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_security_group_common_ip_range.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_security_group_common_ip_range.go index 18f0ea92fcab47f3e984ee23e523f4bf3816f78b..d98eeff628433b972fbb422743ff0bfe9a2b6f37 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_security_group_common_ip_range.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_security_group_common_ip_range.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,15 @@ import ( // type NovaSecurityGroupCommonIpRange struct { // 对端IP网段,cidr格式。 - Cidr string `json:"cidr"` + + Cidr *string `json:"cidr,omitempty"` } func (o NovaSecurityGroupCommonIpRange) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaSecurityGroupCommonIpRange struct{}" + } + return strings.Join([]string{"NovaSecurityGroupCommonIpRange", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_security_group_common_rule.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_security_group_common_rule.go index 5e90e952e1b115759c6ac01119d57190e5cb92c5..407a024a39ad7448f1557afb68aabe89647a6158 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_security_group_common_rule.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_security_group_common_rule.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,20 +9,31 @@ import ( // type NovaSecurityGroupCommonRule struct { // 起始端口,范围1-65535,且不大于to_port。 ip_protocol设置为icmp时,from_port表示type,范围是0-255。 - FromPort int32 `json:"from_port"` - Group *NovaSecurityGroupCommonGroup `json:"group"` + + FromPort int32 `json:"from_port"` + + Group *NovaSecurityGroupCommonGroup `json:"group"` // 安全组规则ID,UUID格式。 + Id string `json:"id"` // 协议类型或直接指定IP协议号,取值可为icmp,tcp,udp或IP协议号。 - IpProtocol string `json:"ip_protocol"` - IpRange *NovaSecurityGroupCommonIpRange `json:"ip_range"` + + IpProtocol string `json:"ip_protocol"` + + IpRange *NovaSecurityGroupCommonIpRange `json:"ip_range"` // 相关联的安全组ID,UUID格式。 + ParentGroupId string `json:"parent_group_id"` // 终止端口,范围1-65535,且不小于from_port。 ip_protocol设置为icmp时,to_port表示code,范围是0-255,且如果from_port为-1,to_port为-1表示任意ICMP报文。 + ToPort int32 `json:"to_port"` } func (o NovaSecurityGroupCommonRule) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaSecurityGroupCommonRule struct{}" + } + return strings.Join([]string{"NovaSecurityGroupCommonRule", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server.go index f1f6171298f4e81576e7317719a459923f50531e..30460773e68fae8759eb9b4dd7b874d1a600d638 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server.go @@ -1,106 +1,150 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // type NovaServer struct { // 云服务器名称。 + Name string `json:"name"` // 云服务器唯一标识。 + Id string `json:"id"` - // 云服务器当前状态信息。 取值范围: ACTIVE, BUILD,DELETED,ERROR,HARD_REBOOT,MIGRATING,REBOOT,RESIZE,REVERT_RESIZE,SHELVED,SHELVED_OFFLOADED,SHUTOFF,UNKNOWN,VERIFY_RESIZE + // 云服务器当前状态信息。 取值范围: ACTIVE, BUILD,DELETED,ERROR,HARD_REBOOT,MIGRATING,REBOOT,RESIZE,REVERT_RESIZE,SHELVED,SHELVED_OFFLOADED,SHUTOFF,UNKNOWN,VERIFY_RESIZE 云服务器状态说明请参考[云服务器状态](https://support.huaweicloud.com/api-ecs/ecs_08_0002.html)。 + Status NovaServerStatus `json:"status"` // 云服务器创建时间。 时间格式例如:2019-05-22T07:48:53Z + Created string `json:"created"` // 云服务器上一次更新时间。时间格式例如:2019-05-22T07:48:53Z - Updated string `json:"updated"` - Flavor *NovaServerFlavor `json:"flavor"` - Image *NovaServerImage `json:"image"` + + Updated string `json:"updated"` + + Flavor *NovaServerFlavor `json:"flavor"` + + Image *NovaServerImage `json:"image"` // 云服务器所属租户ID。即项目id,与project_id表示相同的概念。 + TenantId string `json:"tenant_id"` // SSH密钥名称。 + KeyName string `json:"key_name"` // 云服务器所属用户ID。 + UserId string `json:"user_id"` // 云服务器元数据。 + Metadata map[string]string `json:"metadata"` // 云服务器对应的主机ID。 + HostId string `json:"hostId"` // 云服务器对应的网络地址信息。 + Addresses map[string][]NovaNetwork `json:"addresses"` // 云服务器所属安全组列表。 + SecurityGroups []NovaServerSecurityGroup `json:"security_groups"` // 云服务器相关标记快捷链接信息。 + Links []NovaLink `json:"links"` // 扩展属性,磁盘配置方式。对镜像启动云服务器生效。 取值范围: - AUTO: API使用单个分区构建目标磁盘大小的云服务器。 API会自动调整文件系统以适应整个分区。 - MANUAL:API使用源映像中的分区方案和文件系统构建服务器。如果目标磁盘较大,则API不分区剩余的磁盘空间。 + OSDCFdiskConfig NovaServerOSDCFdiskConfig `json:"OS-DCF:diskConfig"` // 扩展属性,可用分区编码。 + OSEXTAZavailabilityZone string `json:"OS-EXT-AZ:availability_zone"` // 扩展属性,与主机宿主名称。 + OSEXTSRVATTRhost string `json:"OS-EXT-SRV-ATTR:host"` // 扩展属性,hypervisor主机名。 + OSEXTSRVATTRhypervisorHostname string `json:"OS-EXT-SRV-ATTR:hypervisor_hostname"` // 扩展属性,云服务器实例ID。 + OSEXTSRVATTRinstanceName string `json:"OS-EXT-SRV-ATTR:instance_name"` // 扩展属性,云服务器电源状态。 取值范围:0,1,2,3,4 - 0 : pending - 1 : running - 2 : paused - 3 : shutdown - 4 : crashed + OSEXTSTSpowerState int32 `json:"OS-EXT-STS:power_state"` - // 扩展属性,云服务器任务状态。 取值范围: SHOUTOFF, RESIZE, REBUILD, VERIFY_RESIZE, REVERT_RESIZE, PAUSED, MIGRATING, SUSPENDED, RESCUE, ERROR, DELETED,SOFT_DELETED,SHELVED,SHELVED_OFFLOADED + // 扩展属性,云服务器任务状态。 取值范围: SHOUTOFF, RESIZE, REBUILD, VERIFY_RESIZE, REVERT_RESIZE, PAUSED, MIGRATING, SUSPENDED, RESCUE, ERROR, DELETED,SOFT_DELETED,SHELVED,SHELVED_OFFLOADED 取值范围请参考[云服务器状态](https://support.huaweicloud.com/api-ecs/ecs_08_0002.html)表3。 + OSEXTSTStaskState NovaServerOSEXTSTStaskState `json:"OS-EXT-STS:task_state"` - // 扩展属性,云服务器状态。 取值范围: ACTIVE,BUILDING,STOPPED,RESIZED,PAUSED,SUSPENDED,RESCUED,ERROR,DELETED,SOFT_DELETED,SHELVED,SHELVED_OFFLOADED + // 扩展属性,云服务器状态。 取值范围: ACTIVE,BUILDING,STOPPED,RESIZED,PAUSED,SUSPENDED,RESCUED,ERROR,DELETED,SOFT_DELETED,SHELVED,SHELVED_OFFLOADED 云服务器状态说明请参考[云服务器状态](https://support.huaweicloud.com/api-ecs/ecs_08_0002.html)。 + OSEXTSTSvmState NovaServerOSEXTSTSvmState `json:"OS-EXT-STS:vm_state"` // 扩展属性,云服务器启动时间。时间格式例如:2019-05-22T07:48:19.000000 + OSSRVUSGlaunchedAt string `json:"OS-SRV-USG:launched_at"` // 扩展属性,云服务器关闭时间。 时间格式例如:2019-05-22T07:48:19.000000 + OSSRVUSGterminatedAt string `json:"OS-SRV-USG:terminated_at"` // 云服务器挂载的云磁盘信息。 + OsExtendedVolumesvolumesAttached []NovaServerVolume `json:"os-extended-volumes:volumes_attached"` - Fault *NovaServerFault `json:"fault,omitempty"` + + Fault *NovaServerFault `json:"fault,omitempty"` // 弹性云服务器的描述信息。 微版本2.19后支持 + Description *string `json:"description,omitempty"` // nova-compute状态。 - UP:服务正常 - UNKNOWN:状态未知 - DOWN:服务异常 - MAINTENANCE:维护状态 - 空字符串:弹性云服务器无主机信息 + HostStatus NovaServerHostStatus `json:"host_status"` // 弹性云服务器的主机名。 微版本2.3后支持 + OSEXTSRVATTRhostname *string `json:"OS-EXT-SRV-ATTR:hostname,omitempty"` // 批量创建场景,弹性云服务器的预留ID。 微版本2.3后支持 + OSEXTSRVATTRreservationId *string `json:"OS-EXT-SRV-ATTR:reservation_id,omitempty"` // 批量创建场景,弹性云服务器的启动顺序。 微版本2.3后支持 + OSEXTSRVATTRlaunchIndex *int32 `json:"OS-EXT-SRV-ATTR:launch_index,omitempty"` // 若使用AMI格式的镜像,则表示kernel image的UUID;否则,留空。 微版本2.3后支持 + OSEXTSRVATTRkernelId *string `json:"OS-EXT-SRV-ATTR:kernel_id,omitempty"` // 若使用AMI格式镜像,则表示ramdisk image的UUID;否则,留空。 微版本2.3后支持 + OSEXTSRVATTRramdiskId *string `json:"OS-EXT-SRV-ATTR:ramdisk_id,omitempty"` // 弹性云服务器系统盘的设备名称。 微版本2.3后支持 + OSEXTSRVATTRrootDeviceName *string `json:"OS-EXT-SRV-ATTR:root_device_name,omitempty"` // 创建弹性云服务器时指定的user_data。 微版本2.3后支持 + OSEXTSRVATTRuserData *string `json:"OS-EXT-SRV-ATTR:user_data,omitempty"` // 云服务器的标签列表。 系统近期对标签功能进行了升级,升级后,返回的tag值遵循如下规则: - key与value使用“=”连接,如“key=value”。 - 如果value为空字符串,则仅返回key。 + Tags []string `json:"tags"` // 当云服务器被锁时为True,否则为False。 微版本2.9后支持 + Locked *bool `json:"locked,omitempty"` // 预留属性。 + AccessIPv4 string `json:"accessIPv4"` // 预留属性。 + AccessIPv6 string `json:"accessIPv6"` // 预留属性。 + ConfigDrive string `json:"config_drive"` // 预留属性 + Progress int32 `json:"progress"` + + OsschedulerHints *NovaServerSchedulerHints `json:"os:scheduler_hints,omitempty"` } func (o NovaServer) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaServer struct{}" + } + return strings.Join([]string{"NovaServer", string(data)}, " ") } @@ -173,7 +217,7 @@ func GetNovaServerStatusEnum() NovaServerStatusEnum { } func (c NovaServerStatus) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *NovaServerStatus) UnmarshalJSON(b []byte) error { @@ -211,7 +255,7 @@ func GetNovaServerOSDCFdiskConfigEnum() NovaServerOSDCFdiskConfigEnum { } func (c NovaServerOSDCFdiskConfig) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *NovaServerOSDCFdiskConfig) UnmarshalJSON(b []byte) error { @@ -297,7 +341,7 @@ func GetNovaServerOSEXTSTStaskStateEnum() NovaServerOSEXTSTStaskStateEnum { } func (c NovaServerOSEXTSTStaskState) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *NovaServerOSEXTSTStaskState) UnmarshalJSON(b []byte) error { @@ -375,7 +419,7 @@ func GetNovaServerOSEXTSTSvmStateEnum() NovaServerOSEXTSTSvmStateEnum { } func (c NovaServerOSEXTSTSvmState) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *NovaServerOSEXTSTSvmState) UnmarshalJSON(b []byte) error { @@ -421,7 +465,7 @@ func GetNovaServerHostStatusEnum() NovaServerHostStatusEnum { } func (c NovaServerHostStatus) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *NovaServerHostStatus) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_block_device_mapping.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_block_device_mapping.go index 7fc959e8601826b3e5b750d76d4b598b83bef235..6b853f532e6998818965c723bdd8f9ebf5f2ef42 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_block_device_mapping.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_block_device_mapping.go @@ -1,43 +1,52 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // 扩展属性,指定弹性云服务器存储设备的v2接口。是存储资源的新版本接口,指定卷场景不能批创弹性云服务器。 裸金属服务器场景不支持。 type NovaServerBlockDeviceMapping struct { // 卷设备的源头类型,当前只支持volume、image、snapshot、blank类型。 当使用卷创建云服务器时,source_type设置为volume;当使用镜像创建云服务器时,source_type设置为image;当使用快照创建云服务器时,source_type设置为snapshot;当创建空数据卷时,source_type设置为blank。 - 说明: - - 当卷设备的源头类型为snapshot时,且boot_index为0,则该快照对应的云硬盘必须为系统盘。 + SourceType NovaServerBlockDeviceMappingSourceType `json:"source_type"` // 卷设备的目标类型,当前仅支持volume类型。 - volume:卷。 - local:本地文件,当前不支持该类型。 + DestinationType *NovaServerBlockDeviceMappingDestinationType `json:"destination_type,omitempty"` // local文件系统格式,例如:swap, ext4。 当前不支持该功能。 + GuestFormat *string `json:"guest_format,omitempty"` // 卷设备名称。 > 说明: > > 该字段已经废弃。 > > 用户指定的device_name不会生效,系统会默认生成一个device_name。 + DeviceName *string `json:"device_name,omitempty"` // 删除弹性云服务器时,是否删除卷,默认值false。 true:删除弹性云服务器时,删除卷 false:删除弹性云服务器时,不删除卷 + DeleteOnTermination *bool `json:"delete_on_termination,omitempty"` // 启动标识,“0”代表启动盘,“-1“代表非启动盘。 > 说明: > > 当卷设备的源头类型全为volume时,boot_index的值有一个为0。 + BootIndex *string `json:"boot_index,omitempty"` // 当source_type值是volume时,uuid为卷的uuid; 当source_type值是snapshot时,uuid为快照的uuid; 当source_type值是image时,uuid为镜像的uuid; + Uuid *string `json:"uuid,omitempty"` // 卷大小,整数,在source_type是image或blank,destination_type是volume的时候必选。 单位为GB。 + VolumeSize *int32 `json:"volume_size,omitempty"` - // 卷类型,在source_type是image,destination_type是volume时建议填写。 卷类型取值范围请参考 EVS 服务 磁盘类型介绍。 + // 卷类型,在source_type是image,destination_type是volume时建议填写。 卷类型取值范围请参考 EVS 服务 [磁盘类型介绍](https://support.huaweicloud.com/productdesc-evs/zh-cn_topic_0044524691.html)。 + VolumeType *string `json:"volume_type,omitempty"` } func (o NovaServerBlockDeviceMapping) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaServerBlockDeviceMapping struct{}" + } + return strings.Join([]string{"NovaServerBlockDeviceMapping", string(data)}, " ") } @@ -70,7 +79,7 @@ func GetNovaServerBlockDeviceMappingSourceTypeEnum() NovaServerBlockDeviceMappin } func (c NovaServerBlockDeviceMappingSourceType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *NovaServerBlockDeviceMappingSourceType) UnmarshalJSON(b []byte) error { @@ -104,7 +113,7 @@ func GetNovaServerBlockDeviceMappingDestinationTypeEnum() NovaServerBlockDeviceM } func (c NovaServerBlockDeviceMappingDestinationType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *NovaServerBlockDeviceMappingDestinationType) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_fault.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_fault.go index f452d7458b691651031ecc5308db3697cbd2e2ba..f8c49c9c852cb8a759f0f99776fae9d5f988dced 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_fault.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_fault.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,16 +9,24 @@ import ( // type NovaServerFault struct { // 错误码。 + Code *int32 `json:"code,omitempty"` // 异常出现的时间。 + Created *string `json:"created,omitempty"` // 异常描述信息。 + Message *string `json:"message,omitempty"` // 异常详情信息。 + Details *string `json:"details,omitempty"` } func (o NovaServerFault) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaServerFault struct{}" + } + return strings.Join([]string{"NovaServerFault", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_flavor.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_flavor.go index c766832fda915f42079ce4c2606bede2f17baa5d..9c7f0834c3ecd8926e407ef79ad405110fcef72f 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_flavor.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_flavor.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,26 +9,39 @@ import ( // type NovaServerFlavor struct { // 云服务器类型ID。 微版本2.47后不支持。 + Id *string `json:"id,omitempty"` // 云服务器类型相关标记快捷链接信息。 微版本2.47后不支持。 + Links *[]NovaLink `json:"links,omitempty"` // 该云服务器规格对应的CPU核数。 在微版本2.47后支持。 + Vcpus *int32 `json:"vcpus,omitempty"` // 该云服务器规格对应的内存大小,单位为MB。 在微版本2.47后支持。 + Ram *int32 `json:"ram,omitempty"` // 该云服务器规格对应要求系统盘大小,0为不限制。 在微版本2.47后支持。 + Disk *int32 `json:"disk,omitempty"` // 未使用。 在微版本2.47后支持。 + Ephemeral *int32 `json:"ephemeral,omitempty"` // 未使用。 在微版本2.47后支持。 + Swap *int32 `json:"swap,omitempty"` // 云服务器规格名称。 在微版本2.47后支持。 + OriginalName *string `json:"original_name,omitempty"` // flavor扩展字段。 在微版本2.47后支持。 + ExtraSpecs map[string]string `json:"extra_specs,omitempty"` } func (o NovaServerFlavor) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaServerFlavor struct{}" + } + return strings.Join([]string{"NovaServerFlavor", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_image.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_image.go index b4578c5c73dc7b37aecf051fd65d42639b03c79c..50d668a7f539f93533c0b1a69ca1c775dc620590 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_image.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_image.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,12 +9,18 @@ import ( // type NovaServerImage struct { // 镜像ID。 + Id string `json:"id"` // 云服务器类型相关标记快捷链接信息。 + Links []NovaLink `json:"links"` } func (o NovaServerImage) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaServerImage struct{}" + } + return strings.Join([]string{"NovaServerImage", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_network.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_network.go index cbe6c80bd2425fd65b8492c3fdfa12a50877e085..9ad6befe8c5d8ad64e921dde59d3614f059278d5 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_network.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_network.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,14 +9,21 @@ import ( // type NovaServerNetwork struct { // 网络port uuid。 没有指定网络uuid时必须指定。 + Port *string `json:"port,omitempty"` // 网络uuid。 没有指定网络port时必须指定。 + Uuid *string `json:"uuid,omitempty"` // 指定的IP地址。网络的三个参数(port、uuid和fixed_ip)中,port优先级最高;指定fixed_ip时必须指明uuid。 + FixedIp *string `json:"fixed_ip,omitempty"` } func (o NovaServerNetwork) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaServerNetwork struct{}" + } + return strings.Join([]string{"NovaServerNetwork", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_scheduler_hints.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_scheduler_hints.go new file mode 100644 index 0000000000000000000000000000000000000000..53642f0d9b4654c20be2b385d80b7837b293c687 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_scheduler_hints.go @@ -0,0 +1,68 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// +type NovaServerSchedulerHints struct { + // 在指定的专属主机或者共享主机上创建弹性云服务器。 参数值为shared或者dedicated。 + + Tenancy *[]NovaServerSchedulerHintsTenancy `json:"tenancy,omitempty"` + // 专属主机ID。 此属性仅在tenancy值为dedicated时有效。 + + DedicatedHostId *[]string `json:"dedicated_host_id,omitempty"` +} + +func (o NovaServerSchedulerHints) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NovaServerSchedulerHints struct{}" + } + + return strings.Join([]string{"NovaServerSchedulerHints", string(data)}, " ") +} + +type NovaServerSchedulerHintsTenancy struct { + value string +} + +type NovaServerSchedulerHintsTenancyEnum struct { + SHARED NovaServerSchedulerHintsTenancy + DEDICATED NovaServerSchedulerHintsTenancy +} + +func GetNovaServerSchedulerHintsTenancyEnum() NovaServerSchedulerHintsTenancyEnum { + return NovaServerSchedulerHintsTenancyEnum{ + SHARED: NovaServerSchedulerHintsTenancy{ + value: "shared", + }, + DEDICATED: NovaServerSchedulerHintsTenancy{ + value: "dedicated", + }, + } +} + +func (c NovaServerSchedulerHintsTenancy) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *NovaServerSchedulerHintsTenancy) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(string) + return nil + } + return err + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_security_group.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_security_group.go index d7aed6e91992ee9fd0b90c2e7efa6afb26a1a71e..f3c71162d3a673fe3527faf723832d52abdfd64a 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_security_group.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_security_group.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,15 @@ import ( // type NovaServerSecurityGroup struct { // 安全组名称或者uuid。 + Name *string `json:"name,omitempty"` } func (o NovaServerSecurityGroup) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaServerSecurityGroup struct{}" + } + return strings.Join([]string{"NovaServerSecurityGroup", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_volume.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_volume.go index 6e0b060ccb20dad3c02027e18ba130e09773e770..5116434085c361ae0a112dbdb42f4cc8ad0a1607 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_volume.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_server_volume.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,12 +9,18 @@ import ( // type NovaServerVolume struct { // 云磁盘ID。 + Id string `json:"id"` // 一个标志,指示在删除服务器时是否删除附加的卷。、 默认情况下,这是False 微版本2.3后支持 + DeleteOnTermination *bool `json:"delete_on_termination,omitempty"` } func (o NovaServerVolume) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaServerVolume struct{}" + } + return strings.Join([]string{"NovaServerVolume", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_show_keypair_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_show_keypair_request.go new file mode 100644 index 0000000000000000000000000000000000000000..d4b00b08a7d25faf7fed6827daa67c25690a60c5 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_show_keypair_request.go @@ -0,0 +1,26 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type NovaShowKeypairRequest struct { + // 密钥名称信息。 + + KeypairName string `json:"keypair_name"` + // 微版本头 + + OpenStackAPIVersion *string `json:"OpenStack-API-Version,omitempty"` +} + +func (o NovaShowKeypairRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NovaShowKeypairRequest struct{}" + } + + return strings.Join([]string{"NovaShowKeypairRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_show_keypair_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_show_keypair_response.go new file mode 100644 index 0000000000000000000000000000000000000000..3329fe5c4172fbb9b1133f4cffa65b0635970351 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_show_keypair_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type NovaShowKeypairResponse struct { + Keypair *NovaKeypairDetail `json:"keypair,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o NovaShowKeypairResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "NovaShowKeypairResponse struct{}" + } + + return strings.Join([]string{"NovaShowKeypairResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_show_server_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_show_server_request.go index 8ee5cb6ef3b5b908db232b8d260bcfddbb0a86dd..e905d021f87aa01a899199980fe7d63476cba17b 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_show_server_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_show_server_request.go @@ -1,25 +1,26 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type NovaShowServerRequest struct { - ServerId string `json:"server_id"` + // 云服务器ID。 + + ServerId string `json:"server_id"` + // 微版本头 + OpenStackAPIVersion *string `json:"OpenStack-API-Version,omitempty"` } func (o NovaShowServerRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaShowServerRequest struct{}" + } + return strings.Join([]string{"NovaShowServerRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_show_server_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_show_server_response.go index 4ed90f2f20cf0e49ff0d4f9d09f538a5b36449ab..9133b1cd1bc3165ebf4f91587869eacd56d3acff 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_show_server_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_show_server_response.go @@ -1,24 +1,22 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type NovaShowServerResponse struct { - Server *NovaServer `json:"server,omitempty"` + Server *NovaServer `json:"server,omitempty"` + HttpStatusCode int `json:"-"` } func (o NovaShowServerResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaShowServerResponse struct{}" + } + return strings.Join([]string{"NovaShowServerResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_simple_keypair.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_simple_keypair.go index 5dea8076cbfcd6e96a90c57d620711918f395a14..2950a4af50715cc5187070158aa4a3a73653d8e5 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_simple_keypair.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_nova_simple_keypair.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,16 +9,24 @@ import ( // type NovaSimpleKeypair struct { // 密钥对应指纹信息。 + Fingerprint string `json:"fingerprint"` // 密钥名称。 + Name string `json:"name"` // 密钥对应publicKey信息。 + PublicKey string `json:"public_key"` // 密钥类型,默认“ssh” 微版本2.2以上支持 + Type *string `json:"type,omitempty"` } func (o NovaSimpleKeypair) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "NovaSimpleKeypair struct{}" + } + return strings.Join([]string{"NovaSimpleKeypair", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_page_link.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_page_link.go index 07b66297b3b7f6860017c3b1090e9c2fc9acf6f9..78e52e7416342aff4f980d57bbafc2feeba95ae4 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_page_link.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_page_link.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,12 +9,18 @@ import ( // type PageLink struct { // 相应资源的链接。 + Href string `json:"href"` // 对应快捷链接。 + Rel string `json:"rel"` } func (o PageLink) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PageLink struct{}" + } + return strings.Join([]string{"PageLink", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server.go index f0649e4136d8584a7ac57bc1d2826ffe122f5456..465e2b29924f11b5ec8a70b0c3c4017fa840968d 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server.go @@ -1,61 +1,82 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // 创建弹性云服务器(按需)接口Body体。 type PostPaidServer struct { + // 弹性云服务器自动释放时间。 时间格式例如:2020-01-19T03:30:52Z + + AutoTerminateTime *string `json:"auto_terminate_time,omitempty"` // 如果需要使用密码方式登录云服务器,可使用adminPass字段指定云服务器管理员帐户初始登录密码。其中,Linux管理员帐户为root,Windows管理员帐户为Administrator。具体使用方法请参见接口描述信息(设置登录鉴权方式)。 密码复杂度要求: - 长度为8-26位。 - 密码至少必须包含大写字母、小写字母、数字和特殊字符(!@$%^-_=+[{}]:,./?)中的三种。 - 密码不能包含用户名或用户名的逆序。 - Windows系统密码不能包含用户名或用户名的逆序,不能包含用户名中超过两个连续字符的部分。 + AdminPass *string `json:"adminPass,omitempty"` - // 待创建云服务器所在的可用分区,需要指定可用分区(AZ)的名称。 请参考[地区和终端节点](https://developer.huaweicloud.com/endpoint)获取。 - AvailabilityZone string `json:"availability_zone"` + // 待创建云服务器所在的可用分区,需要指定可用分区(AZ)的名称。 可通过接口 [查询可用区列表接口](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=ECS&api=NovaListAvailabilityZones) 获取,也可参考[地区和终端节点](https://developer.huaweicloud.com/endpoint)获取。 + + AvailabilityZone *string `json:"availability_zone,omitempty"` // 创建云服务器数量。 约束: - 不传该字段时默认取值为1。 - 租户的配额足够时,最大值为500。 + Count *int32 `json:"count,omitempty"` // 云服务器对应数据盘相关配置。每一个数据结构代表一块待创建的数据盘。 约束:目前新创建的弹性云服务器最多可挂载23块数据盘。 + DataVolumes *[]PostPaidServerDataVolume `json:"data_volumes,omitempty"` - Extendparam *PostPaidServerExtendParam `json:"extendparam,omitempty"` - // 待创建云服务器的系统规格的ID。 已上线的规格请参见《[弹性云服务器产品介绍](https://support.huaweicloud.com/ecs/index.html)》的“实例类型与规格”章节。 + + Extendparam *PostPaidServerExtendParam `json:"extendparam,omitempty"` + // 待创建云服务器的系统规格的ID。 可通过 [规格列表接口](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=ECS&api=ListFlavors) 查询,该接口支持通过 availability_zone 参数过滤出待创建云服务器可用区下可用的规格。 已上线的各规格详情介绍请参见《[弹性云服务器产品介绍](https://support.huaweicloud.com/ecs/index.html)》的“实例类型与规格”章节。 + FlavorRef string `json:"flavorRef"` - // 待创建云服务器的系统镜像,需要指定已创建镜像的ID,ID格式为通用唯一识别码(Universally Unique Identifier,简称UUID)。 + // 待创建云服务器的系统镜像,需要指定已创建镜像的ID,ID格式为通用唯一识别码(Universally Unique Identifier,简称UUID)。 镜像的ID可以从镜像服务的 [查询镜像列表](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=IMS&api=ListImages) 接口获取,该接口可根据 __imagetype、__os_type 等参数过滤选择合适镜像。 + ImageRef string `json:"imageRef"` // 当批量创建弹性云服务器时,云服务器名称是否允许重名,当count大于1的时候该参数生效。默认为True。 - True,表示允许重名。 - False,表示不允许重名。 + IsAutoRename *bool `json:"isAutoRename,omitempty"` - // 如果需要使用SSH密钥方式登录云服务器,请指定已创建密钥的名称。 密钥可以通过密钥创建接口进行创建 [创建和导入SSH密钥](https://support.huaweicloud.com/api-ecs/zh-cn_topic_0020212678.html)(请参见),或使用SSH密钥查询接口查询已有的密钥(请参见[查询SSH密钥列表](https://support.huaweicloud.com/api-ecs/zh-cn_topic_0020212676.html) )。 + // 如果需要使用SSH密钥方式登录云服务器,请指定已创建密钥的名称。 密钥可以通过密钥创建接口进行创建(请参见[创建和导入SSH密钥](https://support.huaweicloud.com/api-ecs/zh-cn_topic_0020212678.html)),或使用SSH密钥查询接口查询已有的密钥(请参见[查询SSH密钥列表](https://support.huaweicloud.com/api-ecs/ecs_03_1201.html))。 + KeyName *string `json:"key_name,omitempty"` // 用户自定义字段键值对。 > 说明: > > - 最多可注入10对键值(Key/Value)。 > - 主键(Key)只能由大写字母(A-Z)、小写字母(a-z)、数字(0-9)、中划线(-)、下划线(_)、冒号(:)和小数点(.)组成,长度为[1-255]个字符。 > - 值(value)最大长度为255个字符。 系统预留字段 1. op_svc_userid : 用户ID 2. agency_name : 委托的名称 委托是由租户管理员在统一身份认证服务(Identity and Access Management,IAM)上创建的,可以为弹性云服务器提供访问云服务的临时凭证。 > 说明: > > 委托获取、更新请参考如下步骤: > > 1. 使用IAM服务提供的[查询委托列表](https://support.huaweicloud.com/api-iam/zh-cn_topic_0079467614.html)接口,获取有效可用的委托名称。 > 2. 使用[更新云服务器元数](https://support.huaweicloud.com/api-ecs/zh-cn_topic_0025560298.html)据接口,更新metadata中agency_name字段为新的委托名称。 3. __support_agent_list: 云服务器是否支持企业主机安全、主机监控。 - \"hss\":企业主机安全 - \"ces\":主机监控 取值样例: __support_agent_list: \"hss,ces\" 可以通过查询[镜像详情](https://support.huaweicloud.com/api-ims/ims_03_0702.html)判断创建云服务器使用的镜像是否支持企业主机安全或主机监控。 + Metadata map[string]string `json:"metadata,omitempty"` // 云服务器名称。 取值范围: - 只能由中文字符、英文字母、数字及“_”、“-”、“.”组成,且长度为[1-64]个字符。 - 创建的云服务器器数量(count字段对应的值)大于1时,为区分不同云服务器,创建过程中系统会自动在名称后加“-0000”的类似标记。故此时名称的长度为[1-59]个字符。 > 说明: > > 云服务器虚拟机内部(hostname)命名规则遵循 RFC 952和RFC 1123命名规范,建议使用a-zA-z或0-9以及中划线\"-\"组成的名称命名,\"_\"将在弹性云服务器内部默认转化为\"-\"。 + Name string `json:"name"` - // 待创建云服务器的网卡信息。 约束: - 网卡对应的子网(subnet)必须属于vpcid对应的VPC。 - 当前单个云服务器支持最多挂载12张网卡。 - Nics []PostPaidServerNic `json:"nics"` + // 待创建云服务器的网卡信息。 约束: - 网卡对应的子网(subnet)必须属于vpcid对应的VPC。 - 当前单个云服务器支持最多挂载12张网卡。 - 不同的规格对网卡上限有一定的区别,参考[规格清单](https://support.huaweicloud.com/productdesc-ecs/zh-cn_topic_0159822360.html)。 + + Nics []PostPaidServerNic `json:"nics"` + OsschedulerHints *PostPaidServerSchedulerHints `json:"os:scheduler_hints,omitempty"` - Publicip *PostPaidServerPublicip `json:"publicip,omitempty"` - RootVolume *PostPaidServerRootVolume `json:"root_volume"` + + Publicip *PostPaidServerPublicip `json:"publicip,omitempty"` + + RootVolume *PostPaidServerRootVolume `json:"root_volume"` // 云服务器对应安全组信息。 约束:当该值指定为空时,默认给云服务器绑定default安全组。 + SecurityGroups *[]PostPaidServerSecurityGroup `json:"security_groups,omitempty"` // 弹性云服务器的标签。 > 说明: > > 创建弹性云服务器时,一台弹性云服务器最多可以添加10个标签。 > 公有云新增server_tags字段,该字段与tags字段功能相同,支持的key、value取值范围更广,建议使用server_tags字段。 + ServerTags *[]PostPaidServerTag `json:"server_tags,omitempty"` // 弹性云服务器的标签。 标签的格式为“key.value”。其中,key的长度不超过36个字符,value的长度不超过43个字符。 标签命名时,需满足如下要求: - 标签的key值只能包含大写字母(A~Z)、小写字母(a~z)、数字(0-9)、下划线(_)、中划线(-)以及中文字符。 - 标签的value值只能包含大写字母(A~Z)、小写字母(a~z)、数字(0-9)、下划线(_)、中划线(-)、小数点(.)以及中文字符。 > 说明: > > 创建弹性云服务器时,一台弹性云服务器最多可以添加10个标签。 > 公有云新增server_tags字段,该字段与tags字段功能相同,支持的key、value取值范围更广,建议使用server_tags字段。 + Tags *[]string `json:"tags,omitempty"` - // 创建云服务器过程中待注入用户数据。支持注入文本、文本文件或gzip文件。 更多关于待注入用户数据的信息,请参见《弹性云服务器用户指南 》的“用户数据注入”章节。 约束: - 注入内容,需要进行base64格式编码。注入内容(编码之前的内容)最大长度32KB。 - 创建密码方式鉴权的Linux弹性云服务器时,该字段可为root用户注入自定义初始化密码,具体注入密码的使用方法请参见接口描述(设置登录鉴权方式)。 示例(base64编码前): - Linux弹性云服务器 ``` #! /bin/bash echo user_test >> /home/user.txt ``` - Windows弹性云服务器 ``` rem cmd echo 111 > c:\\aaa.tx ``` + // 创建云服务器过程中待注入用户数据。支持注入文本、文本文件或gzip文件。 更多关于待注入用户数据的信息,请参见《弹性云服务器用户指南 》的“[用户数据注入](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0032380449.html)”章节。 约束: - 注入内容,需要进行base64格式编码。注入内容(编码之前的内容)最大长度32KB。 - 创建密码方式鉴权的Linux弹性云服务器时,该字段可为root用户注入自定义初始化密码,具体注入密码的使用方法请参见接口描述(设置登录鉴权方式)。 示例(base64编码前): - Linux弹性云服务器 ``` #! /bin/bash echo user_test >> /home/user.txt ``` - Windows弹性云服务器 ``` rem cmd echo 111 > c:\\\\aaa.tx ``` + UserData *string `json:"user_data,omitempty"` - // 待创建云服务器所属虚拟私有云(简称VPC),需要指定已创建VPC的ID,UUID格式。 + // 待创建云服务器所属虚拟私有云(简称VPC),需要指定已创建VPC的ID,UUID格式。 可通过 [查询VPC列表](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=VPC&api=ListVpcs) 接口查询。 + Vpcid string `json:"vpcid"` // 云服务器描述信息,默认为空字符串。 - 长度最多允许85个字符。 - 不能包含“<” 和 “>”。 + Description *string `json:"description,omitempty"` } func (o PostPaidServer) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PostPaidServer struct{}" + } + return strings.Join([]string{"PostPaidServer", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_data_volume.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_data_volume.go index 5670cbd0b7a7049ea50b0428f4e8bfd5f379b679..9ab671dd4f2e7ba191fc91b0b6c8a281d630a1ff 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_data_volume.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_data_volume.go @@ -1,43 +1,53 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // 云服务器对应数据盘相关配置。 type PostPaidServerDataVolume struct { // 云服务器数据盘对应的磁盘类型,需要与系统所提供的磁盘类型相匹配。 磁盘类型枚举值: - SATA:普通IO磁盘类型。 - SAS:高IO磁盘类型。 - SSD:超高IO磁盘类型。 - co-p1:高IO (性能优化Ⅰ型) - uh-l1:超高IO (时延优化)磁盘类型。 > 说明: > > 对于HANA云服务器、HL1型云服务器、HL2型云服务器,需使用co-p1和uh-l1两种磁盘类型。对于其他类型的云服务器,不能使用co-p1和uh-l1两种磁盘类型。 + Volumetype PostPaidServerDataVolumeVolumetype `json:"volumetype"` // 数据盘大小,容量单位为GB,输入大小范围为[10,32768]。 + Size int32 `json:"size"` // 是否为共享磁盘。true为共享盘,false为普通云硬盘。 > 说明: > > 该字段已废弃,请使用multiattach。 + Shareable *bool `json:"shareable,omitempty"` // 创建共享磁盘的信息。 - true:创建的磁盘为共享盘。 - false:创建的磁盘为普通云硬盘。 > 说明: > > shareable当前为废弃字段,如果确实需要同时使用shareable字段和multiattach字段,此时,请确保两个字段的参数值相同。当不指定该字段时,系统默认创建普通云硬盘。 + Multiattach *bool `json:"multiattach,omitempty"` // 数据卷是否使用SCSI锁。 - true表示云硬盘的设备类型为SCSI类型,即允许ECS操作系统直接访问底层存储介质。支持SCSI锁命令。 - false表示云硬盘的设备类型为VBD (虚拟块存储设备 , Virtual Block Device)类型,即为默认类型,VBD只能支持简单的SCSI读写命令。 - 该字段不存在时,云硬盘默认为VBD类型。 > 说明: > > 此参数为boolean类型,若传入非boolean类型字符,程序将按照【false】方式处理。 - Hwpassthrough *bool `json:"hw:passthrough,omitempty"` - Extendparam *PostPaidServerDataVolumeExtendParam `json:"extendparam,omitempty"` + + Hwpassthrough *bool `json:"hw:passthrough,omitempty"` + + Extendparam *PostPaidServerDataVolumeExtendParam `json:"extendparam,omitempty"` // 云服务器数据盘对应的磁盘存储类型。 磁盘存储类型枚举值: DSS:专属存储类型 + ClusterType *PostPaidServerDataVolumeClusterType `json:"cluster_type,omitempty"` // 云服务器数据盘对应的存储池的ID。 - ClusterId *string `json:"cluster_id,omitempty"` - Metadata *PostPaidServerDataVolumeMetadata `json:"metadata,omitempty"` + + ClusterId *string `json:"cluster_id,omitempty"` + + Metadata *PostPaidServerDataVolumeMetadata `json:"metadata,omitempty"` // 数据镜像的ID,UUID格式。 如果使用数据盘镜像创建数据盘,则data_image_id为必选参数,且不支持使用metadata。 + DataImageId *string `json:"data_image_id,omitempty"` } func (o PostPaidServerDataVolume) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PostPaidServerDataVolume struct{}" + } + return strings.Join([]string{"PostPaidServerDataVolume", string(data)}, " ") } @@ -78,7 +88,7 @@ func GetPostPaidServerDataVolumeVolumetypeEnum() PostPaidServerDataVolumeVolumet } func (c PostPaidServerDataVolumeVolumetype) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *PostPaidServerDataVolumeVolumetype) UnmarshalJSON(b []byte) error { @@ -112,7 +122,7 @@ func GetPostPaidServerDataVolumeClusterTypeEnum() PostPaidServerDataVolumeCluste } func (c PostPaidServerDataVolumeClusterType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *PostPaidServerDataVolumeClusterType) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_data_volume_extend_param.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_data_volume_extend_param.go index e8f1f321fd008475f284c6e4fc84178aac422c08..1b9e0c1c8c5b813a78e4066b214845c2abda02cc 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_data_volume_extend_param.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_data_volume_extend_param.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,14 +9,21 @@ import ( // 创建磁盘的extendparam字段 type PostPaidServerDataVolumeExtendParam struct { // 磁盘产品资源规格编码,如SATA,SAS和SSD。 > 说明: > > 废弃字段。 + ResourceSpecCode *string `json:"resourceSpecCode,omitempty"` // 磁盘产品资源类型。 > 说明: > > 废弃字段。 + ResourceType *string `json:"resourceType,omitempty"` // 整机镜像中自带的原始数据盘(简称“原数据盘”)所对应的快照ID或原始数据盘ID。 使用场景: 使用整机镜像创建云服务器,并且选择的整机镜像自带1个或者多个数据盘。 用途: 使用整机镜像创建云服务器时,系统会自动恢复整机镜像中自带数据盘(如果有)的数据,但是磁盘类型将被恢复为默认属性:普通I/O、VBD、非共享盘。此时,您可以通过snapshotID,修改指定原数据盘恢复后的磁盘类型。 > 说明: > > 建议对每块原数据盘都指定snapshotID,否则,未指定的原数据盘将按默认属性进行创建。 > 如需修改磁盘大小,修改后的磁盘大小需大于等于原数据盘大小。否则,会影响原数据盘的数据恢复。 实现原理: snapshotId是整机镜像自带原始数据盘的唯一标识,通过snapshotId可以获取原数据盘的磁盘信息,从而恢复数据盘数据。 快照ID的获取方法: 登录管理控制台,打开\"云硬盘 > 快照\"页面,根据原始数据盘的磁盘名称找到对应的快照ID。 + SnapshotId *string `json:"snapshotId,omitempty"` } func (o PostPaidServerDataVolumeExtendParam) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PostPaidServerDataVolumeExtendParam struct{}" + } + return strings.Join([]string{"PostPaidServerDataVolumeExtendParam", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_data_volume_metadata.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_data_volume_metadata.go index dccddb68b0b9bc8b76f49ea70f07772d909ef32c..8a23ccd2cfecdc4f7855bb3312239d3df3d2edbc 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_data_volume_metadata.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_data_volume_metadata.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,12 +9,18 @@ import ( // > 说明: > > 如果是从镜像创建云硬盘,则不支持传入“__system__encrypted”和“__system__cmkid”字段,创建出来的云硬盘与镜像的加密属性一致。 type PostPaidServerDataVolumeMetadata struct { // metadata中的表示加密功能的字段,0代表不加密,1代表加密。 该字段不存在时,云硬盘默认为不加密。 + SystemEncrypted *string `json:"__system__encrypted,omitempty"` - // metadata中的加密cmkid字段,与__system__encrypted配合表示需要加密,cmkid长度固定为36个字节。 + // metadata中的加密cmkid字段,与__system__encrypted配合表示需要加密,cmkid长度固定为36个字节。 > 说明: - 请参考[查询密钥列表](https://support.huaweicloud.com/api-dew/ListKeys.html),通过HTTPS请求获取密钥ID。 + SystemCmkid *string `json:"__system__cmkid,omitempty"` } func (o PostPaidServerDataVolumeMetadata) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PostPaidServerDataVolumeMetadata struct{}" + } + return strings.Join([]string{"PostPaidServerDataVolumeMetadata", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_eip.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_eip.go index 543fc2f9737b947526be06994916539fd0697d52..cc6d2e641f8fad17306408b48133e84d6b12c05d 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_eip.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_eip.go @@ -1,27 +1,27 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // type PostPaidServerEip struct { - // 弹性IP地址类型。 - Iptype string `json:"iptype"` - Bandwidth *PostPaidServerEipBandwidth `json:"bandwidth"` + // 弹性IP地址类型。 详情请参见“[申请弹性公网IP](https://support.huaweicloud.com/api-eip/eip_api_0001.html)”章节的“publicip”字段说明。 + + Iptype string `json:"iptype"` + + Bandwidth *PostPaidServerEipBandwidth `json:"bandwidth"` + Extendparam *PostPaidServerEipExtendParam `json:"extendparam,omitempty"` } func (o PostPaidServerEip) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PostPaidServerEip struct{}" + } + return strings.Join([]string{"PostPaidServerEip", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_eip_bandwidth.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_eip_bandwidth.go index f8289b692c0e6db9333f7bcf8dd5b7e40579bbbf..d67d352f765824ca76f20a4c9263f4ed8bc3beca 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_eip_bandwidth.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_eip_bandwidth.go @@ -1,33 +1,37 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // type PostPaidServerEipBandwidth struct { // 功能说明:带宽大小 带宽(Mbit/s),取值范围为[1,2000]。 调整带宽时的最小单位会根据带宽范围不同存在差异。 - 小于等于300Mbit/s:默认最小单位为1Mbit/s。 - 300Mbit/s~1000Mbit/s:默认最小单位为50Mbit/s。 - 大于1000Mbit/s:默认最小单位为500Mbit/s。 > 说明: > > 如果share_type是PER,该参数必选项;如果share_type是WHOLE并且id有值,该参数会忽略。 + Size *int32 `json:"size,omitempty"` // 带宽的共享类型。 共享类型枚举:PER,表示独享。WHOLE,表示共享。 + Sharetype PostPaidServerEipBandwidthSharetype `json:"sharetype"` // 带宽的计费类型。 - 未传该字段,表示按带宽计费。 - 字段值为空,表示按带宽计费。 - 字段值为“traffic”,表示按流量计费。 - 字段为其它值,会导致创建云服务器失败。 > 说明: > > 如果share_type是WHOLE并且id有值,该参数会忽略。 + Chargemode *string `json:"chargemode,omitempty"` // 带宽ID,创建WHOLE类型带宽的弹性IP时可以指定之前的共享带宽创建。 取值范围:WHOLE类型的带宽ID。 > 说明: > > 当创建WHOLE类型的带宽时,该字段必选。 + Id *string `json:"id,omitempty"` } func (o PostPaidServerEipBandwidth) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PostPaidServerEipBandwidth struct{}" + } + return strings.Join([]string{"PostPaidServerEipBandwidth", string(data)}, " ") } @@ -52,7 +56,7 @@ func GetPostPaidServerEipBandwidthSharetypeEnum() PostPaidServerEipBandwidthShar } func (c PostPaidServerEipBandwidthSharetype) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *PostPaidServerEipBandwidthSharetype) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_eip_extend_param.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_eip_extend_param.go index 5f8e1590695acd55973e2d97c40838b952c3a5d4..709eec11a5296fee404401b1209c033a2dffb7cf 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_eip_extend_param.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_eip_extend_param.go @@ -1,27 +1,28 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // type PostPaidServerEipExtendParam struct { // 公网IP的计费模式。 取值范围: - prePaid-预付费,即包年包月; - postPaid-后付费,即按需付费; > 说明: > > 如果bandwidth对象中share_type是WHOLE且id有值,弹性IP只能创建为按需付费的,故该参数传参“prePaid”无效。 + ChargingMode *PostPaidServerEipExtendParamChargingMode `json:"chargingMode,omitempty"` } func (o PostPaidServerEipExtendParam) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PostPaidServerEipExtendParam struct{}" + } + return strings.Join([]string{"PostPaidServerEipExtendParam", string(data)}, " ") } @@ -46,7 +47,7 @@ func GetPostPaidServerEipExtendParamChargingModeEnum() PostPaidServerEipExtendPa } func (c PostPaidServerEipExtendParamChargingMode) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *PostPaidServerEipExtendParamChargingMode) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_extend_param.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_extend_param.go index e2c910f40f97b96f78cc6b61dfd74951e653b920..bf62e99f1fa898ce0d4d4972a9aac6e87f4654d4 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_extend_param.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_extend_param.go @@ -1,45 +1,58 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // type PostPaidServerExtendParam struct { // 计费模式: - 0:按需计费。 + ChargingMode *int32 `json:"chargingMode,omitempty"` // 云服务器所在区域ID。 请参考[地区和终端节点](https://developer.huaweicloud.com/endpoint)获取。 + RegionID *string `json:"regionID,omitempty"` // 是否配置弹性云服务器自动恢复的功能。 - “true”:配置该功能 - “false”:不配置该功能 > 说明: > > 此参数为boolean类型,若传入非boolean类型字符,程序将按照【“false”:不配置该功能】方式处理。 > > 当marketType为spot时,不支持该功能。 + SupportAutoRecovery *bool `json:"support_auto_recovery,omitempty"` // 企业项目ID。 > 说明: > > 关于企业项目ID的获取及企业项目特性的详细信息,请参见《[企业管理服务用户指南](https://support.huaweicloud.com/usermanual-em/zh-cn_topic_0126101490.html)》。 > > 该字段不传(或传为字符串“0”),则将资源绑定给默认企业项目。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` // 创建竞价实例时,需指定该参数的值为“spot”。 > 说明: > > 当chargingMode=0时且marketType=spot时此参数生效。 + MarketType *string `json:"marketType,omitempty"` // 用户愿意为竞价实例每小时支付的最高价格。 > 说明: > > 仅chargingMode=0且marketType=spot时,该参数设置后生效。 > > 当chargingMode=0且marketType=spot时,如果不传递spotPrice,默认使用按需购买的价格作为竞价。 + SpotPrice *string `json:"spotPrice,omitempty"` // 是否支持先创建卷,再创建虚拟机。 “true”:配置该功能 “false”:不配置该功能 + DiskPrior *string `json:"diskPrior,omitempty"` // 购买的竞价实例时长。 - 仅interruption_policy=immediate 时该字段有效 。 - pot_duration_hours大于0。最大值由预测系统给出可以从flavor的extra_specs的cond:spot_block:operation:longest_duration_hours字段中查询。 + SpotDurationHours *int32 `json:"spot_duration_hours,omitempty"` // 竞价实例中断策略,当前支持immediate。 - 当interruption_policy=immediate时表示释放策略为立即释放。 + InterruptionPolicy *PostPaidServerExtendParamInterruptionPolicy `json:"interruption_policy,omitempty"` // 表示购买的“竞价实例时长”的个数。 - 仅spot_duration_hours>0 时该字段有效。 - spot_duration_hours小于6时,spot_duration_count值必须为1。 - spot_duration_hours等于6时,spot_duration_count大于等于1。 spot_duration_count的最大值由预测系统给出可以从flavor的extra_specs的cond:spot_block:operation:longest_duration_count字段中查询。 + SpotDurationCount *int32 `json:"spot_duration_count,omitempty"` + // 云备份策略和云备份存储库详情,取值包含备份策略ID和云备份存储库ID。 + + CbCsbsBackup *string `json:"CB_CSBS_BACKUP,omitempty"` } func (o PostPaidServerExtendParam) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PostPaidServerExtendParam struct{}" + } + return strings.Join([]string{"PostPaidServerExtendParam", string(data)}, " ") } @@ -60,7 +73,7 @@ func GetPostPaidServerExtendParamInterruptionPolicyEnum() PostPaidServerExtendPa } func (c PostPaidServerExtendParamInterruptionPolicy) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *PostPaidServerExtendParamInterruptionPolicy) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_ipv6_bandwidth.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_ipv6_bandwidth.go index 99878ad29355a807364eadf7b7bd97bc3b4a89e1..530d4d9becb29c1fdc1f99e22571bf492856ce04 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_ipv6_bandwidth.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_ipv6_bandwidth.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,15 @@ import ( // IPV6共享带宽。 type PostPaidServerIpv6Bandwidth struct { // 绑定的共享带宽ID。 + Id *string `json:"id,omitempty"` } func (o PostPaidServerIpv6Bandwidth) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PostPaidServerIpv6Bandwidth struct{}" + } + return strings.Join([]string{"PostPaidServerIpv6Bandwidth", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_nic.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_nic.go index 428a0509b7758741592212261d8fff3205687bb5..d0f065c0e7770b4f4a46f8e5231448f595224965 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_nic.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_nic.go @@ -1,30 +1,31 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // 待创建云服务器的网卡信息。 type PostPaidServerNic struct { - // 待创建云服务器的网卡信息。 需要指定vpcid对应VPC下已创建的网络(network)的ID,UUID格式。 + // 待创建云服务器所在的子网信息,需要指定vpcid对应VPC下的子网ID,UUID格式。 可以通过VPC服务 [查询子网](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=VPC&api=ListSubnets) 接口查询,该接口支持通过创建云服务器填写的vpcid进行过滤查询。 + SubnetId string `json:"subnet_id"` // 待创建云服务器网卡的IP地址,IPv4格式。 约束: - 不填或空字符串,默认在子网(subnet)中自动分配一个未使用的IP作网卡的IP地址。 - 若指定IP地址,该IP地址必须在子网(subnet)对应的网段内,且未被使用。 + IpAddress *string `json:"ip_address,omitempty"` // 是否支持ipv6。 取值为true时,标识此网卡支持ipv6。 - Ipv6Enable *bool `json:"ipv6_enable,omitempty"` + + Ipv6Enable *bool `json:"ipv6_enable,omitempty"` + Ipv6Bandwidth *PostPaidServerIpv6Bandwidth `json:"ipv6_bandwidth,omitempty"` } func (o PostPaidServerNic) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PostPaidServerNic struct{}" + } + return strings.Join([]string{"PostPaidServerNic", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_publicip.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_publicip.go index 96ffdec6d1aadbd37bb3e26a685671ce06421c9d..56f20b546df9b3d93ba03110eca762ca1f8e2357 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_publicip.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_publicip.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,11 +9,17 @@ import ( // type PostPaidServerPublicip struct { // 为待创建云服务器分配已有弹性IP时,分配的弹性IP的ID,UUID格式。 约束:只能分配状态(status)为DOWN的弹性IP。 - Id *string `json:"id,omitempty"` + + Id *string `json:"id,omitempty"` + Eip *PostPaidServerEip `json:"eip,omitempty"` } func (o PostPaidServerPublicip) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PostPaidServerPublicip struct{}" + } + return strings.Join([]string{"PostPaidServerPublicip", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_root_volume.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_root_volume.go index a679eadf69b90962f992dcb53f6375ea07351b3f..63df9b0d8f7ea387ccb2862296dac77bdbd5f854 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_root_volume.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_root_volume.go @@ -1,36 +1,42 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // type PostPaidServerRootVolume struct { // 云服务器系统盘对应的磁盘类型,需要与系统所提供的磁盘类型相匹配。 - SATA:普通IO磁盘类型。 - SAS:高IO磁盘类型。 - SSD:超高IO磁盘类型。 - co-p1:高IO (性能优化Ⅰ型) - uh-l1:超高IO (时延优化) > 说明: > > 对于HANA云服务器、HL1型云服务器、HL2型云服务器,需使用co-p1和uh-l1两种磁盘类型。对于其他类型的云服务器,不能使用co-p1和uh-l1两种磁盘类型。 + Volumetype PostPaidServerRootVolumeVolumetype `json:"volumetype"` - // 系统盘大小,容量单位为GB, 输入大小范围为[1,1024]。 约束: - 系统盘大小取值应不小于镜像支持的系统盘的最小值(镜像的min_disk属性)。 - 若该参数没有指定或者指定为0时,系统盘大小默认取值为镜像中系统盘的最小值(镜像的min_disk属性)。 > 说明: > > 镜像系统盘的最小值(镜像的min_disk属性)可在控制台中点击镜像详情查看。或通过调用“查询镜像详情(OpenStack原生)”API获取,详细操作请参考《镜像服务API参考》中“查询镜像详情(OpenStack原生)”章节。 + // 系统盘大小,容量单位为GB, 输入大小范围为[1,1024]。 约束: - 系统盘大小取值应不小于镜像支持的系统盘的最小值(镜像的min_disk属性)。 - 若该参数没有指定或者指定为0时,系统盘大小默认取值为镜像中系统盘的最小值(镜像的min_disk属性)。 > 说明: > > 镜像系统盘的最小值(镜像的min_disk属性)可在控制台中点击镜像详情查看。或通过调用“查询镜像详情(OpenStack原生)”API获取,详细操作请参考[《镜像服务API参考》](https://support.huaweicloud.com/api-ims/ims_03_0702.html)中“查询镜像详情(OpenStack原生)”章节。 + Size *int32 `json:"size,omitempty"` // 使用SDI规格创建虚拟机时请关注该参数,如果该参数值为true,说明创建的为scsi类型的卷 > 说明: > > 此参数为boolean类型,若传入非boolean类型字符,程序将按照false方式处理。 + Hwpassthrough *bool `json:"hw:passthrough,omitempty"` // 云服务器系统盘对应的磁盘存储类型。 磁盘存储类型枚举值: DSS:专属存储类型 + ClusterType *PostPaidServerRootVolumeClusterType `json:"cluster_type,omitempty"` // 使用SDI规格创建虚拟机时请关注该参数,如果该参数值为true,说明创建的为scsi类型的卷 - ClusterId *string `json:"cluster_id,omitempty"` + + ClusterId *string `json:"cluster_id,omitempty"` + Extendparam *PostPaidServerRootVolumeExtendParam `json:"extendparam,omitempty"` } func (o PostPaidServerRootVolume) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PostPaidServerRootVolume struct{}" + } + return strings.Join([]string{"PostPaidServerRootVolume", string(data)}, " ") } @@ -71,7 +77,7 @@ func GetPostPaidServerRootVolumeVolumetypeEnum() PostPaidServerRootVolumeVolumet } func (c PostPaidServerRootVolumeVolumetype) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *PostPaidServerRootVolumeVolumetype) UnmarshalJSON(b []byte) error { @@ -105,7 +111,7 @@ func GetPostPaidServerRootVolumeClusterTypeEnum() PostPaidServerRootVolumeCluste } func (c PostPaidServerRootVolumeClusterType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *PostPaidServerRootVolumeClusterType) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_root_volume_extend_param.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_root_volume_extend_param.go index 00303a9c3290ad0f04808fd9c29d1895af50939d..a0b5b03e1db0505d88a5832dc65ae78f8aeb914c 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_root_volume_extend_param.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_root_volume_extend_param.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,14 +9,21 @@ import ( // type PostPaidServerRootVolumeExtendParam struct { // 磁盘产品资源规格编码,如SATA,SAS和SSD。 > 说明: > > 废弃字段。 + ResourceSpecCode *string `json:"resourceSpecCode,omitempty"` // 磁盘产品资源类型。 > 说明: > > 废弃字段。 + ResourceType *string `json:"resourceType,omitempty"` // 整机镜像中自带的原始数据盘(简称“原数据盘”)所对应的快照ID或原始数据盘ID。 使用场景: 使用整机镜像创建云服务器,并且选择的整机镜像自带1个或者多个数据盘。 用途: 使用整机镜像创建云服务器时,系统会自动恢复整机镜像中自带数据盘(如果有)的数据,但是磁盘类型将被恢复为默认属性:普通I/O、VBD、非共享盘。此时,您可以通过snapshotID,修改指定原数据盘恢复后的磁盘类型。 > 说明: > > - 建议对每块原数据盘都指定snapshotID,否则,未指定的原数据盘将按默认属性进行创建。 > - 如需修改磁盘大小,修改后的磁盘大小需大于等于原数据盘大小。否则,会影响原数据盘的数据恢复。 实现原理: snapshotId是整机镜像自带原始数据盘的唯一标识,通过snapshotId可以获取原数据盘的磁盘信息,从而恢复数据盘数据。 快照ID的获取方法: 登录管理控制台,打开\"云硬盘 > 快照\"页面,根据原始数据盘的磁盘名称找到对应的快照ID。 + SnapshotId *string `json:"snapshotId,omitempty"` } func (o PostPaidServerRootVolumeExtendParam) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PostPaidServerRootVolumeExtendParam struct{}" + } + return strings.Join([]string{"PostPaidServerRootVolumeExtendParam", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_scheduler_hints.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_scheduler_hints.go index 06efb432913a47f6a56c555311869302e9c85f0b..ad30441068ab93e38a332d52c22f4402c6053e49 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_scheduler_hints.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_scheduler_hints.go @@ -1,29 +1,29 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // type PostPaidServerSchedulerHints struct { - // 云服务器组ID,UUID格式。 + // 云服务器组ID,UUID格式。 云服务器组的ID可以从控制台或者参考[查询云服务器组列表](https://support.huaweicloud.com/api-ecs/ecs_03_1402.html)获取。 + Group *string `json:"group,omitempty"` // 专属主机的ID。专属主机的ID仅在tenancy为dedicated时生效。 + DedicatedHostId *string `json:"dedicated_host_id,omitempty"` // 在指定的专属主机或者共享主机上创建弹性云服务器云主机。参数值为shared或者dedicated。 + Tenancy *string `json:"tenancy,omitempty"` } func (o PostPaidServerSchedulerHints) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PostPaidServerSchedulerHints struct{}" + } + return strings.Join([]string{"PostPaidServerSchedulerHints", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_security_group.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_security_group.go index b0fa54afb0f56599acf6e54d79f5b8e93ff2e18c..ec6f2d3c0aa273bd6f8bbf29990da9b77c78e4f7 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_security_group.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_security_group.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,15 @@ import ( // type PostPaidServerSecurityGroup struct { // 可以为空,待创建云服务器的安全组,会对创建云服务器中配置的网卡生效。需要指定已有安全组的ID,UUID格式;若不传值,底层会按照空处理,不会创建安全组。 + Id *string `json:"id,omitempty"` } func (o PostPaidServerSecurityGroup) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PostPaidServerSecurityGroup struct{}" + } + return strings.Join([]string{"PostPaidServerSecurityGroup", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_tag.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_tag.go index ca0f95a37fe68f6cc5319e3efc089e9bc8de29dc..bfefcb686d3dbe14cb989f0319096967d3060499 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_tag.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_post_paid_server_tag.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,12 +9,18 @@ import ( // 弹性云服务器的标签。 type PostPaidServerTag struct { // 键。 最大长度36个unicode字符。key不能为空。不能包含非打印字符ASCII(0-31),\"=\", \"*\",“<”,“>”,“\\”,“,”,“|”,“/”。 同一资源的key值不能重复。 + Key string `json:"key"` // 值。 每个值最大长度43个unicode字符,可以为空字符串。 不能包含非打印字符ASCII(0-31),“=”,“*”,“<”,“>”,“\\”,“,”,“|”,“/”。 + Value string `json:"value"` } func (o PostPaidServerTag) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PostPaidServerTag struct{}" + } + return strings.Join([]string{"PostPaidServerTag", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server.go index 311a29a77a9e23e233fb15f517f2ada987c212ce..85bd46929249a1ec6bff7c4dd5e09e86f2f19078 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server.go @@ -1,61 +1,82 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // 创建弹性云服务器(包周期)接口Body体。 type PrePaidServer struct { - // 待创建云服务器的系统镜像,需要指定已创建镜像的ID,ID格式为通用唯一识别码(Universally Unique Identifier,简称UUID)。 + // 弹性云服务器自动释放时间。 时间格式例如:2020-01-19T03:30:52Z + + AutoTerminateTime *string `json:"auto_terminate_time,omitempty"` + // 待创建云服务器的系统镜像,需要指定已创建镜像的ID,ID格式为通用唯一识别码(Universally Unique Identifier,简称UUID)。 镜像的ID可以从镜像服务的 [查询镜像列表](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=IMS&api=ListImages) 接口获取,该接口可根据 __imagetype、__os_type 等参数过滤选择合适镜像。 + ImageRef string `json:"imageRef"` - // 待创建云服务器的系统规格的ID。 已上线的规格请参见《[弹性云服务器产品介绍](https://support.huaweicloud.com/ecs/index.html)》的“实例类型与规格”章节。 + // 待创建云服务器的系统规格的ID。 可通过 [规格列表接口](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=ECS&api=ListFlavors) 查询,该接口支持通过 availability_zone 参数过滤出待创建云服务器可用区下可用的规格。 已上线的规格请参见《[弹性云服务器产品介绍](https://support.huaweicloud.com/ecs/index.html)》的“实例类型与规格”章节。 + FlavorRef string `json:"flavorRef"` // 云服务器名称。 取值范围: - 只能由中文字符、英文字母、数字及“_”、“-”、“.”组成,且长度为[1-64]个字符。 - 创建的云服务器器数量(count字段对应的值)大于1时,为区分不同云服务器,创建过程中系统会自动在名称后加“-0000”的类似标记。故此时名称的长度为[1-59]个字符。 > 说明: > > 云服务器虚拟机内部(hostname)命名规则遵循 RFC 952和RFC 1123命名规范,建议使用a-zA-z或0-9以及中划线\"-\"组成的名称命名,\"_\"将在弹性云服务器内部默认转化为\"-\"。 + Name string `json:"name"` - // 创建云服务器过程中待注入用户数据。支持注入文本、文本文件或gzip文件。 更多关于待注入用户数据的信息,请参见《弹性云服务器用户指南 》的“用户数据注入”章节。 约束: - 注入内容,需要进行base64格式编码。注入内容(编码之前的内容)最大长度32KB。 - 创建密码方式鉴权的Linux弹性云服务器时,该字段可为root用户注入自定义初始化密码,具体注入密码的使用方法请参见背景信息(设置登录鉴权方式)。 示例(base64编码前): - Linux弹性云服务器 ``` #! /bin/bash echo user_test >> /home/user.txt ``` - Windows弹性云服务器 ``` rem cmd echo 111 > c:\\aaa.tx ``` + // 创建云服务器过程中待注入用户数据。支持注入文本、文本文件或gzip文件。 更多关于待注入用户数据的信息,请参见《弹性云服务器用户指南 》的“[用户数据注入](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0032380449.html)”章节。 约束: - 注入内容,需要进行base64格式编码。注入内容(编码之前的内容)最大长度32KB。 - 创建密码方式鉴权的Linux弹性云服务器时,该字段可为root用户注入自定义初始化密码,具体注入密码的使用方法请参见背景信息(设置登录鉴权方式)。 示例(base64编码前): - Linux弹性云服务器 ``` #! /bin/bash echo user_test >> /home/user.txt ``` - Windows弹性云服务器 ``` rem cmd echo 111 > c:\\\\aaa.tx ``` + UserData *string `json:"user_data,omitempty"` // 如果需要使用密码方式登录云服务器,可使用adminPass字段指定云服务器管理员帐户初始登录密码。其中,Linux管理员帐户为root,Windows管理员帐户为Administrator。具体使用方法请参见背景信息(设置登录鉴权方式)。 密码复杂度要求: - 长度为8-26位。 - 密码至少必须包含大写字母、小写字母、数字和特殊字符(!@$%^-_=+[{}]:,./?)中的三种。 - 密码不能包含用户名或用户名的逆序。 - Windows系统密码不能包含用户名或用户名的逆序,不能包含用户名中超过两个连续字符的部分。 + AdminPass *string `json:"adminPass,omitempty"` - // 如果需要使用SSH密钥方式登录云服务器,请指定已创建密钥的名称。 密钥可以通过密钥创建接口进行创建 [创建和导入SSH密钥](https://support.huaweicloud.com/api-ecs/zh-cn_topic_0020212678.html)(请参见),或使用SSH密钥查询接口查询已有的密钥(请参见[查询SSH密钥列表](https://support.huaweicloud.com/api-ecs/zh-cn_topic_0020212676.html) )。 + // 如果需要使用SSH密钥方式登录云服务器,请指定已创建密钥的名称。 密钥可以通过密钥创建接口进行创建(请参见[创建和导入SSH密钥](https://support.huaweicloud.com/api-ecs/zh-cn_topic_0020212678.html)),或使用SSH密钥查询接口查询已有的密钥(请参见[查询SSH密钥列表](https://support.huaweicloud.com/api-ecs/ecs_03_1201.html) )。 + KeyName *string `json:"key_name,omitempty"` - // 待创建云服务器所属虚拟私有云(简称VPC),需要指定已创建VPC的ID,UUID格式。 + // 待创建云服务器所属虚拟私有云(简称VPC),需要指定已创建VPC的ID,UUID格式。 可通过 [查询VPC列表](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=VPC&api=ListVpcs) 接口查询。 + Vpcid string `json:"vpcid"` - // 待创建云服务器的网卡信息。 约束: - 网卡对应的子网(subnet)必须属于vpcid对应的VPC。 - 当前单个云服务器支持最多挂载12张网卡。 - Nics []PrePaidServerNic `json:"nics"` + // 待创建云服务器的网卡信息。 约束: - 网卡对应的子网(subnet)必须属于vpcid对应的VPC。 - 当前单个云服务器支持最多挂载12张网卡。 - 不同的规格对网卡上限有一定的区别,参考[规格清单](https://support.huaweicloud.com/productdesc-ecs/zh-cn_topic_0159822360.html)。 + + Nics []PrePaidServerNic `json:"nics"` + Publicip *PrePaidServerPublicip `json:"publicip,omitempty"` // 创建云服务器数量。 约束: - 不传该字段时默认取值为1。 - 租户的配额足够时,最大值为500。 + Count *int32 `json:"count,omitempty"` // 当批量创建弹性云服务器时,云服务器名称是否允许重名,当count大于1的时候该参数生效。默认为True。 - True,表示允许重名。 - False,表示不允许重名。 - IsAutoRename *bool `json:"isAutoRename,omitempty"` - RootVolume *PrePaidServerRootVolume `json:"root_volume"` + + IsAutoRename *bool `json:"isAutoRename,omitempty"` + + RootVolume *PrePaidServerRootVolume `json:"root_volume"` // 云服务器对应数据盘相关配置。每一个数据结构代表一块待创建的数据盘。 约束:目前新创建的弹性云服务器最多可挂载23块数据盘。 + DataVolumes *[]PrePaidServerDataVolume `json:"data_volumes,omitempty"` // 云服务器对应安全组信息。 约束:当该值指定为空时,默认给云服务器绑定default安全组。 + SecurityGroups *[]PrePaidServerSecurityGroup `json:"security_groups,omitempty"` - // 待创建云服务器所在的可用分区,需要指定可用分区(AZ)的名称。 请参考[地区和终端节点](https://developer.huaweicloud.com/endpoint)获取。 - AvailabilityZone string `json:"availability_zone"` - Extendparam *PrePaidServerExtendParam `json:"extendparam,omitempty"` + // 待创建云服务器所在的可用分区,需要指定可用分区(AZ)的名称。 可通过接口 [查询可用区列表接口](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=ECS&api=NovaListAvailabilityZones) 获取,也可参考[地区和终端节点](https://developer.huaweicloud.com/endpoint)获取。 + + AvailabilityZone *string `json:"availability_zone,omitempty"` + + Extendparam *PrePaidServerExtendParam `json:"extendparam,omitempty"` // 用户自定义字段键值对。 > 说明: > > - 最多可注入10对键值(Key/Value)。 > - 主键(Key)只能由大写字母(A-Z)、小写字母(a-z)、数字(0-9)、中划线(-)、下划线(_)、冒号(:)和小数点(.)组成,长度为[1-255]个字符。 > - 值(value)最大长度为255个字符。 系统预留字段 1. op_svc_userid : 用户ID 当extendparam结构中的chargingMode为prePaid(即创建包年包月付费的云服务器),且使用SSH秘钥方式登录云服务器时,该字段为必选字段。 2. agency_name : 委托的名称 委托是由租户管理员在统一身份认证服务(Identity and Access Management,IAM)上创建的,可以为弹性云服务器提供访问云服务的临时凭证。 > 说明: > > 委托获取、更新请参考如下步骤: > > 1. 使用IAM服务提供的[查询委托列表](https://support.huaweicloud.com/api-iam/zh-cn_topic_0079467614.html)接口,获取有效可用的委托名称。 > 2. 使用[更新云服务器元数](https://support.huaweicloud.com/api-ecs/zh-cn_topic_0025560298.html)据接口,更新metadata中agency_name字段为新的委托名称。 - Metadata map[string]string `json:"metadata,omitempty"` + + Metadata map[string]string `json:"metadata,omitempty"` + OsschedulerHints *PrePaidServerSchedulerHints `json:"os:scheduler_hints,omitempty"` // 弹性云服务器的标签。 标签的格式为“key.value”。其中,key的长度不超过36个字符,value的长度不超过43个字符。 标签命名时,需满足如下要求: - 标签的key值只能包含大写字母(A~Z)、小写字母(a~z)、数字(0-9)、下划线(_)、中划线(-)以及中文字符。 - 标签的value值只能包含大写字母(A~Z)、小写字母(a~z)、数字(0-9)、下划线(_)、中划线(-)、小数点(.)以及中文字符。 > 说明: > > 创建弹性云服务器时,一台弹性云服务器最多可以添加10个标签。 > 公有云新增server_tags字段,该字段与tags字段功能相同,支持的key、value取值范围更广,建议使用server_tags字段。 + Tags *[]string `json:"tags,omitempty"` // 弹性云服务器的标签。 > 说明: > > 创建弹性云服务器时,一台弹性云服务器最多可以添加10个标签。 > 公有云新增server_tags字段,该字段与tags字段功能相同,支持的key、value取值范围更广,建议使用server_tags字段。 + ServerTags *[]PrePaidServerTag `json:"server_tags,omitempty"` // 云服务器描述信息,默认为空字符串。 - 长度最多允许85个字符。 - 不能包含“<” 和 “>”。 + Description *string `json:"description,omitempty"` } func (o PrePaidServer) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PrePaidServer struct{}" + } + return strings.Join([]string{"PrePaidServer", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_data_volume.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_data_volume.go index bb5a99ea8501ceebe9f0aea04fea8ac769cd2217..56b2f8ee35291799ee72320a1d9ddf82f8aeafa9 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_data_volume.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_data_volume.go @@ -1,43 +1,53 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // 云服务器对应数据盘相关配置。 type PrePaidServerDataVolume struct { // 云服务器数据盘对应的磁盘类型,需要与系统所提供的磁盘类型相匹配。 磁盘类型枚举值: - SATA:普通IO磁盘类型。 - SAS:高IO磁盘类型。 - SSD:超高IO磁盘类型。 - co-p1:高IO (性能优化Ⅰ型) - uh-l1:超高IO (时延优化)磁盘类型。 > 说明: > > 对于HANA云服务器、HL1型云服务器、HL2型云服务器,需使用co-p1和uh-l1两种磁盘类型。对于其他类型的云服务器,不能使用co-p1和uh-l1两种磁盘类型。 + Volumetype PrePaidServerDataVolumeVolumetype `json:"volumetype"` // 数据盘大小,容量单位为GB,输入大小范围为[10,32768]。 + Size int32 `json:"size"` // 是否为共享磁盘。true为共享盘,false为普通云硬盘。 > 说明: > > 该字段已废弃,请使用multiattach。 + Shareable *bool `json:"shareable,omitempty"` // 创建共享磁盘的信息。 - true:创建的磁盘为共享盘。 - false:创建的磁盘为普通云硬盘。 > 说明: > > shareable当前为废弃字段,如果确实需要同时使用shareable字段和multiattach字段,此时,请确保两个字段的参数值相同。当不指定该字段时,系统默认创建普通云硬盘。 + Multiattach *bool `json:"multiattach,omitempty"` // 数据卷是否使用SCSI锁。 - true表示云硬盘的设备类型为SCSI类型,即允许ECS操作系统直接访问底层存储介质。支持SCSI锁命令。 - false表示云硬盘的设备类型为VBD (虚拟块存储设备 , Virtual Block Device)类型,即为默认类型,VBD只能支持简单的SCSI读写命令。 - 该字段不存在时,云硬盘默认为VBD类型。 > 说明: > > 此参数为boolean类型,若传入非boolean类型字符,程序将按照【false】方式处理。 - Hwpassthrough *bool `json:"hw:passthrough,omitempty"` - Extendparam *PrePaidServerDataVolumeExtendParam `json:"extendparam,omitempty"` + + Hwpassthrough *bool `json:"hw:passthrough,omitempty"` + + Extendparam *PrePaidServerDataVolumeExtendParam `json:"extendparam,omitempty"` // 云服务器数据盘对应的磁盘存储类型。 磁盘存储类型枚举值: DSS:专属存储类型 + ClusterType *PrePaidServerDataVolumeClusterType `json:"cluster_type,omitempty"` // 数据镜像的ID,UUID格式。 - ClusterId *string `json:"cluster_id,omitempty"` - Metadata *PrePaidServerDataVolumeMetadata `json:"metadata,omitempty"` + + ClusterId *string `json:"cluster_id,omitempty"` + + Metadata *PrePaidServerDataVolumeMetadata `json:"metadata,omitempty"` // 数据镜像的ID,UUID格式。 如果使用数据盘镜像创建数据盘,则data_image_id为必选参数,且不支持使用metadata。 + DataImageId *string `json:"data_image_id,omitempty"` } func (o PrePaidServerDataVolume) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PrePaidServerDataVolume struct{}" + } + return strings.Join([]string{"PrePaidServerDataVolume", string(data)}, " ") } @@ -78,7 +88,7 @@ func GetPrePaidServerDataVolumeVolumetypeEnum() PrePaidServerDataVolumeVolumetyp } func (c PrePaidServerDataVolumeVolumetype) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *PrePaidServerDataVolumeVolumetype) UnmarshalJSON(b []byte) error { @@ -112,7 +122,7 @@ func GetPrePaidServerDataVolumeClusterTypeEnum() PrePaidServerDataVolumeClusterT } func (c PrePaidServerDataVolumeClusterType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *PrePaidServerDataVolumeClusterType) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_data_volume_extend_param.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_data_volume_extend_param.go index 799ee39d52135366e5f73065e00ad5d46e2c63bd..c7a4c296a0991a2369d5ae6ad7f05b5a764be951 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_data_volume_extend_param.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_data_volume_extend_param.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,14 +9,21 @@ import ( // 创建磁盘的extendparam字段 type PrePaidServerDataVolumeExtendParam struct { // 磁盘产品资源规格编码,如SATA,SAS和SSD。 > 说明: > > 废弃字段。 + ResourceSpecCode *string `json:"resourceSpecCode,omitempty"` // 磁盘产品资源类型。 > 说明: > > 废弃字段。 + ResourceType *string `json:"resourceType,omitempty"` // 整机镜像中自带的原始数据盘(简称“原数据盘”)所对应的快照ID或原始数据盘ID。 使用场景: 使用整机镜像创建云服务器,并且选择的整机镜像自带1个或者多个数据盘。 用途: 使用整机镜像创建云服务器时,系统会自动恢复整机镜像中自带数据盘(如果有)的数据,但是磁盘类型将被恢复为默认属性:普通I/O、VBD、非共享盘。此时,您可以通过snapshotID,修改指定原数据盘恢复后的磁盘类型。 > 说明: > > 建议对每块原数据盘都指定snapshotID,否则,未指定的原数据盘将按默认属性进行创建。 > 如需修改磁盘大小,修改后的磁盘大小需大于等于原数据盘大小。否则,会影响原数据盘的数据恢复。 实现原理: snapshotId是整机镜像自带原始数据盘的唯一标识,通过snapshotId可以获取原数据盘的磁盘信息,从而恢复数据盘数据。 快照ID的获取方法: 登录管理控制台,打开\"云硬盘 > 快照\"页面,根据原始数据盘的磁盘名称找到对应的快照ID。 + SnapshotId *string `json:"snapshotId,omitempty"` } func (o PrePaidServerDataVolumeExtendParam) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PrePaidServerDataVolumeExtendParam struct{}" + } + return strings.Join([]string{"PrePaidServerDataVolumeExtendParam", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_data_volume_metadata.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_data_volume_metadata.go index ed16465a8b8b9f72d5eba260df92e7a4899e3bf7..c3407bab00f23a9b8386be437efbc7fb524366ba 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_data_volume_metadata.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_data_volume_metadata.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,12 +9,18 @@ import ( // > 说明: > > 如果是从镜像创建云硬盘,则不支持传入“__system__encrypted”和“__system__cmkid”字段,创建出来的云硬盘与镜像的加密属性一致。 type PrePaidServerDataVolumeMetadata struct { // metadata中的表示加密功能的字段,0代表不加密,1代表加密。 该字段不存在时,云硬盘默认为不加密。 + SystemEncrypted *string `json:"__system__encrypted,omitempty"` - // metadata中的加密cmkid字段,与__system__encrypted配合表示需要加密,cmkid长度固定为36个字节。 + // metadata中的加密cmkid字段,与__system__encrypted配合表示需要加密,cmkid长度固定为36个字节。 > 说明: - 请参考[查询密钥列表](https://support.huaweicloud.com/api-dew/ListKeys.html),通过HTTPS请求获取密钥ID。 + SystemCmkid *string `json:"__system__cmkid,omitempty"` } func (o PrePaidServerDataVolumeMetadata) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PrePaidServerDataVolumeMetadata struct{}" + } + return strings.Join([]string{"PrePaidServerDataVolumeMetadata", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_eip.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_eip.go index fc7086c7b247d3df39795c1a34fe37882af49da4..8e0311865cc005a0f51fdfa48fd7f1ed8beecdd9 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_eip.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_eip.go @@ -1,27 +1,27 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // type PrePaidServerEip struct { - // 弹性IP地址类型。 - Iptype string `json:"iptype"` - Bandwidth *PrePaidServerEipBandwidth `json:"bandwidth"` + // 弹性IP地址类型。 详情请参见“[申请弹性公网IP](https://support.huaweicloud.com/api-eip/eip_api_0001.html)”章节的“publicip”字段说明。 + + Iptype string `json:"iptype"` + + Bandwidth *PrePaidServerEipBandwidth `json:"bandwidth"` + Extendparam *PrePaidServerEipExtendParam `json:"extendparam,omitempty"` } func (o PrePaidServerEip) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PrePaidServerEip struct{}" + } + return strings.Join([]string{"PrePaidServerEip", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_eip_bandwidth.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_eip_bandwidth.go index f2d520c068f050460baa9fb2621e95da3e2a0dcf..91d2468e6e23c65f5e273799f108f4b8c4bade87 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_eip_bandwidth.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_eip_bandwidth.go @@ -1,33 +1,37 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // type PrePaidServerEipBandwidth struct { // 功能说明:带宽大小 带宽(Mbit/s),取值范围为[1,2000]。 调整带宽时的最小单位会根据带宽范围不同存在差异。 - 小于等于300Mbit/s:默认最小单位为1Mbit/s。 - 300Mbit/s~1000Mbit/s:默认最小单位为50Mbit/s。 - 大于1000Mbit/s:默认最小单位为500Mbit/s。 > 说明: > > 如果share_type是PER,该参数必选项;如果share_type是WHOLE并且id有值,该参数会忽略。 + Size *int32 `json:"size,omitempty"` // 带宽的共享类型。 共享类型枚举:PER,表示独享。WHOLE,表示共享。 + Sharetype PrePaidServerEipBandwidthSharetype `json:"sharetype"` // 带宽的计费类型。 - 未传该字段,表示按带宽计费。 - 字段值为空,表示按带宽计费。 - 字段值为“traffic”,表示按流量计费。 - 字段为其它值,会导致创建云服务器失败。 > 说明: > > 如果share_type是WHOLE并且id有值,该参数会忽略。 + Chargemode *string `json:"chargemode,omitempty"` // 带宽ID,创建WHOLE类型带宽的弹性IP时可以指定之前的共享带宽创建。 取值范围:WHOLE类型的带宽ID。 > 说明: > > 当创建WHOLE类型的带宽时,该字段必选。 + Id *string `json:"id,omitempty"` } func (o PrePaidServerEipBandwidth) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PrePaidServerEipBandwidth struct{}" + } + return strings.Join([]string{"PrePaidServerEipBandwidth", string(data)}, " ") } @@ -52,7 +56,7 @@ func GetPrePaidServerEipBandwidthSharetypeEnum() PrePaidServerEipBandwidthSharet } func (c PrePaidServerEipBandwidthSharetype) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *PrePaidServerEipBandwidthSharetype) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_eip_extend_param.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_eip_extend_param.go index 65f1274f1b91638c08b74bb30d0197bb2da6a219..50e21a9567475c995017a064f5f51419e90c916d 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_eip_extend_param.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_eip_extend_param.go @@ -1,27 +1,28 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // type PrePaidServerEipExtendParam struct { // 公网IP的计费模式。 取值范围: - prePaid-预付费,即包年包月; - postPaid-后付费,即按需付费; > 说明: > > 如果bandwidth对象中share_type是WHOLE且id有值,弹性IP只能创建为按需付费的,故该参数传参“prePaid”无效。 + ChargingMode *PrePaidServerEipExtendParamChargingMode `json:"chargingMode,omitempty"` } func (o PrePaidServerEipExtendParam) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PrePaidServerEipExtendParam struct{}" + } + return strings.Join([]string{"PrePaidServerEipExtendParam", string(data)}, " ") } @@ -46,7 +47,7 @@ func GetPrePaidServerEipExtendParamChargingModeEnum() PrePaidServerEipExtendPara } func (c PrePaidServerEipExtendParamChargingMode) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *PrePaidServerEipExtendParamChargingMode) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_extend_param.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_extend_param.go index aa448b775083a85ff80bad91c48268846cec8fdf..a38632655885bf0ee8352ea7b8441efb9a07db8d 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_extend_param.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_extend_param.go @@ -1,53 +1,67 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // type PrePaidServerExtendParam struct { // 计费模式。 功能说明:付费方式 取值范围: - prePaid-预付费,即包年包月; - postPaid-后付费,即按需付费; - 默认值是postPaid > 说明: > > 当chargingMode为prePaid(即创建包年包月付费的云服务器),且使用SSH秘钥方式登录云服务器时,metadata 中的 op_svc_userid 字段为必选字段。 + ChargingMode *PrePaidServerExtendParamChargingMode `json:"chargingMode,omitempty"` // 云服务器所在区域ID。 请参考[地区和终端节点](https://developer.huaweicloud.com/endpoint)获取。 + RegionID *string `json:"regionID,omitempty"` // 订购周期类型。 取值范围: - month-月 - year-年 > 说明: > > chargingMode为prePaid时生效且为必选值。 + PeriodType *PrePaidServerExtendParamPeriodType `json:"periodType,omitempty"` // 订购周期数。 取值范围: - periodType=month(周期类型为月)时,取值为[1,9]; - periodType=year(周期类型为年)时,取值为[1,3]; > 说明: > > chargingMode为prePaid时生效且为必选值。 > > periodNum为正整数。 + PeriodNum *int32 `json:"periodNum,omitempty"` // 是否自动续订。 - “true”:自动续订 - “false”:不自动续订 > 说明: > > chargingMode为prePaid时生效,不传该字段时默认为不自动续订。 + IsAutoRenew *PrePaidServerExtendParamIsAutoRenew `json:"isAutoRenew,omitempty"` // 下单订购后,是否自动从客户的账户中支付,而不需要客户手动去进行支付。 - “true”:是(自动支付) - “false”:否(需要客户手动支付) > 说明: > > chargingMode为prePaid时生效,不传该字段时默认为客户手动支付。 + IsAutoPay *PrePaidServerExtendParamIsAutoPay `json:"isAutoPay,omitempty"` // 企业项目ID。 > 说明: > > 关于企业项目ID的获取及企业项目特性的详细信息,请参见《[企业管理服务用户指南](https://support.huaweicloud.com/usermanual-em/zh-cn_topic_0126101490.html)》。 > > 该字段不传(或传为字符串“0”),则将资源绑定给默认企业项目。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` // 是否配置弹性云服务器自动恢复的功能。 - “true”:配置该功能 - “false”:不配置该功能 > 说明: > > 此参数为boolean类型,若传入非boolean类型字符,程序将按照【“false”:不配置该功能】方式处理。 > > 当marketType为spot时,不支持该功能。 + SupportAutoRecovery *bool `json:"support_auto_recovery,omitempty"` // 创建竞价实例时,需指定该参数的值为“spot”。 > 说明: > > 当chargingMode=postPaid且marketType=spot时,此参数生效。 + MarketType *string `json:"marketType,omitempty"` // 用户愿意为竞价实例每小时支付的最高价格。 > 说明: > > 仅chargingMode=postPaid且marketType=spot时,该参数设置后生效。 > > 当chargingMode=postPaid且marketType=spot时,如果不传递spotPrice或者传递一个空字符串,默认使用按需购买的价格作为竞价。 + SpotPrice *string `json:"spotPrice,omitempty"` // 是否支持先创建卷,再创建虚拟机。 “true”:配置该功能 “false”:不配置该功能 + DiskPrior *string `json:"diskPrior,omitempty"` // 购买的竞价实例时长。 - 仅interruption_policy=immediate 时该字段有效 。 - spot_duration_hours大于0。最大值由预测系统给出可以从flavor的extra_specs的cond:spot_block:operation:longest_duration_hours字段中查询。 + SpotDurationHours *int32 `json:"spot_duration_hours,omitempty"` // 竞价实例中断策略,当前支持immediate。 - 当interruption_policy=immediate时表示释放策略为立即释放。 + InterruptionPolicy *PrePaidServerExtendParamInterruptionPolicy `json:"interruption_policy,omitempty"` // 表示购买的“竞价实例时长”的个数。 - 仅spot_duration_hours>0 时该字段有效。 - spot_duration_hours小于6时,spot_duration_count值必须为1。 - spot_duration_hours等于6时,spot_duration_count大于等于1。 spot_duration_count的最大值由预测系统给出可以从flavor的extra_specs的cond:spot_block:operation:longest_duration_count字段中查询。 + SpotDurationCount *int32 `json:"spot_duration_count,omitempty"` } func (o PrePaidServerExtendParam) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PrePaidServerExtendParam struct{}" + } + return strings.Join([]string{"PrePaidServerExtendParam", string(data)}, " ") } @@ -72,7 +86,7 @@ func GetPrePaidServerExtendParamChargingModeEnum() PrePaidServerExtendParamCharg } func (c PrePaidServerExtendParamChargingMode) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *PrePaidServerExtendParamChargingMode) UnmarshalJSON(b []byte) error { @@ -110,7 +124,7 @@ func GetPrePaidServerExtendParamPeriodTypeEnum() PrePaidServerExtendParamPeriodT } func (c PrePaidServerExtendParamPeriodType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *PrePaidServerExtendParamPeriodType) UnmarshalJSON(b []byte) error { @@ -148,7 +162,7 @@ func GetPrePaidServerExtendParamIsAutoRenewEnum() PrePaidServerExtendParamIsAuto } func (c PrePaidServerExtendParamIsAutoRenew) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *PrePaidServerExtendParamIsAutoRenew) UnmarshalJSON(b []byte) error { @@ -186,7 +200,7 @@ func GetPrePaidServerExtendParamIsAutoPayEnum() PrePaidServerExtendParamIsAutoPa } func (c PrePaidServerExtendParamIsAutoPay) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *PrePaidServerExtendParamIsAutoPay) UnmarshalJSON(b []byte) error { @@ -220,7 +234,7 @@ func GetPrePaidServerExtendParamInterruptionPolicyEnum() PrePaidServerExtendPara } func (c PrePaidServerExtendParamInterruptionPolicy) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *PrePaidServerExtendParamInterruptionPolicy) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_ipv6_bandwidth.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_ipv6_bandwidth.go index c4aea7e727188329c30b1535cb066f1c3eed6ba4..6ba098890cfcb5aeccfbcd453ef42ab862f6ff75 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_ipv6_bandwidth.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_ipv6_bandwidth.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,15 @@ import ( // IPV6共享带宽。 type PrePaidServerIpv6Bandwidth struct { // 绑定的共享带宽ID。 + Id *string `json:"id,omitempty"` } func (o PrePaidServerIpv6Bandwidth) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PrePaidServerIpv6Bandwidth struct{}" + } + return strings.Join([]string{"PrePaidServerIpv6Bandwidth", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_nic.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_nic.go index 2e89eb9f2d8b1f94ad1f8eb0baaebb52bfb4a9dd..8c0210169d9729d4bb661a7855d10b91aa85dc11 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_nic.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_nic.go @@ -1,30 +1,31 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // 待创建云服务器的网卡信息。 type PrePaidServerNic struct { - // 待创建云服务器的网卡信息。 需要指定vpcid对应VPC下已创建的网络(network)的ID,UUID格式。 + // 待创建云服务器所在的子网信息,需要指定vpcid对应VPC下的子网ID,UUID格式。 可以通过VPC服务 [查询子网](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=VPC&api=ListSubnets) 接口查询,该接口支持通过创建云服务器填写的vpcid进行过滤查询。 + SubnetId string `json:"subnet_id"` // 待创建云服务器网卡的IP地址,IPv4格式。 约束: - 不填或空字符串,默认在子网(subnet)中自动分配一个未使用的IP作网卡的IP地址。 - 若指定IP地址,该IP地址必须在子网(subnet)对应的网段内,且未被使用。 + IpAddress *string `json:"ip_address,omitempty"` // 是否支持ipv6。 取值为true时,标识此网卡支持ipv6。 - Ipv6Enable *bool `json:"ipv6_enable,omitempty"` + + Ipv6Enable *bool `json:"ipv6_enable,omitempty"` + Ipv6Bandwidth *PrePaidServerIpv6Bandwidth `json:"ipv6_bandwidth,omitempty"` } func (o PrePaidServerNic) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PrePaidServerNic struct{}" + } + return strings.Join([]string{"PrePaidServerNic", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_publicip.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_publicip.go index df935589effb1b2734d9d4510d4a7b89d47c6cf6..649040a3941404375cdca03f2b79deddf0a641da 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_publicip.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_publicip.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,11 +9,20 @@ import ( // type PrePaidServerPublicip struct { // 为待创建云服务器分配已有弹性IP时,分配的弹性IP的ID,UUID格式。 约束:只能分配状态(status)为DOWN的弹性IP。 - Id *string `json:"id,omitempty"` + + Id *string `json:"id,omitempty"` + Eip *PrePaidServerEip `json:"eip,omitempty"` + // 弹性公网IP随实例释放策略。 true:弹性公网IP随实例释放。 false:弹性公网IP不随实例释放。 默认值:false。 + + DeleteOnTermination *bool `json:"delete_on_termination,omitempty"` } func (o PrePaidServerPublicip) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PrePaidServerPublicip struct{}" + } + return strings.Join([]string{"PrePaidServerPublicip", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_root_volume.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_root_volume.go index 676dab79a77875d70353e21db713e1662046aaf7..7ba4ee1c3c810e0cac0a9c57fed17d744d91a2b4 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_root_volume.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_root_volume.go @@ -1,36 +1,42 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // type PrePaidServerRootVolume struct { // 云服务器系统盘对应的磁盘类型,需要与系统所提供的磁盘类型相匹配。 - SATA:普通IO磁盘类型。 - SAS:高IO磁盘类型。 - SSD:超高IO磁盘类型。 - co-p1:高IO (性能优化Ⅰ型) - uh-l1:超高IO (时延优化) > 说明: > > 对于HANA云服务器、HL1型云服务器、HL2型云服务器,需使用co-p1和uh-l1两种磁盘类型。对于其他类型的云服务器,不能使用co-p1和uh-l1两种磁盘类型。 + Volumetype PrePaidServerRootVolumeVolumetype `json:"volumetype"` - // 系统盘大小,容量单位为GB, 输入大小范围为[1,1024]。 约束: - 系统盘大小取值应不小于镜像支持的系统盘的最小值(镜像的min_disk属性)。 - 若该参数没有指定或者指定为0时,系统盘大小默认取值为镜像中系统盘的最小值(镜像的min_disk属性)。 > 说明: > > 镜像系统盘的最小值(镜像的min_disk属性)可在控制台中点击镜像详情查看。或通过调用“查询镜像详情(OpenStack原生)”API获取,详细操作请参考《镜像服务API参考》中“查询镜像详情(OpenStack原生)”章节。 - Size *int32 `json:"size,omitempty"` + // 系统盘大小,容量单位为GB, 输入大小范围为[1,1024]。 约束: - 系统盘大小取值应不小于镜像支持的系统盘的最小值(镜像的min_disk属性)。 - 若该参数没有指定或者指定为0时,系统盘大小默认取值为镜像中系统盘的最小值(镜像的min_disk属性)。 > 说明: > 镜像系统盘的最小值(镜像的min_disk属性)可在控制台中点击镜像详情查看。或通过调用“查询镜像详情(OpenStack原生)”API获取,详细操作请参考[《镜像服务API参考》](https://support.huaweicloud.com/api-ims/ims_03_0702.html)中“查询镜像详情(OpenStack原生)”章节。 + + Size *int32 `json:"size,omitempty"` + Extendparam *PrePaidServerRootVolumeExtendParam `json:"extendparam,omitempty"` // 云服务器系统盘对应的磁盘存储类型。 磁盘存储类型枚举值: DSS:专属存储类型 + ClusterType *PrePaidServerRootVolumeClusterType `json:"cluster_type,omitempty"` // 使用SDI规格创建虚拟机时请关注该参数,如果该参数值为true,说明创建的为scsi类型的卷 + ClusterId *string `json:"cluster_id,omitempty"` // 使用SDI规格创建虚拟机时请关注该参数,如果该参数值为true,说明创建的为scsi类型的卷 > 说明: > > 此参数为boolean类型,若传入非boolean类型字符,程序将按照false方式处理。 + Hwpassthrough *bool `json:"hw:passthrough,omitempty"` } func (o PrePaidServerRootVolume) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PrePaidServerRootVolume struct{}" + } + return strings.Join([]string{"PrePaidServerRootVolume", string(data)}, " ") } @@ -71,7 +77,7 @@ func GetPrePaidServerRootVolumeVolumetypeEnum() PrePaidServerRootVolumeVolumetyp } func (c PrePaidServerRootVolumeVolumetype) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *PrePaidServerRootVolumeVolumetype) UnmarshalJSON(b []byte) error { @@ -105,7 +111,7 @@ func GetPrePaidServerRootVolumeClusterTypeEnum() PrePaidServerRootVolumeClusterT } func (c PrePaidServerRootVolumeClusterType) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *PrePaidServerRootVolumeClusterType) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_root_volume_extend_param.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_root_volume_extend_param.go index 728efcfc4f2b0bf64898b93ca5effbb9fec02389..6d942479934328b460d4a6617ee62f7b98c78696 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_root_volume_extend_param.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_root_volume_extend_param.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,14 +9,21 @@ import ( // type PrePaidServerRootVolumeExtendParam struct { // 磁盘产品资源规格编码,如SATA,SAS和SSD。 > 说明: > > 废弃字段。 + ResourceSpecCode *string `json:"resourceSpecCode,omitempty"` // 磁盘产品资源类型。 > 说明: > > 废弃字段。 + ResourceType *string `json:"resourceType,omitempty"` // 整机镜像中自带的原始数据盘(简称“原数据盘”)所对应的快照ID或原始数据盘ID。 使用场景: 使用整机镜像创建云服务器,并且选择的整机镜像自带1个或者多个数据盘。 用途: 使用整机镜像创建云服务器时,系统会自动恢复整机镜像中自带数据盘(如果有)的数据,但是磁盘类型将被恢复为默认属性:普通I/O、VBD、非共享盘。此时,您可以通过snapshotID,修改指定原数据盘恢复后的磁盘类型。 > 说明: > > - 建议对每块原数据盘都指定snapshotID,否则,未指定的原数据盘将按默认属性进行创建。 > - 如需修改磁盘大小,修改后的磁盘大小需大于等于原数据盘大小。否则,会影响原数据盘的数据恢复。 实现原理: snapshotId是整机镜像自带原始数据盘的唯一标识,通过snapshotId可以获取原数据盘的磁盘信息,从而恢复数据盘数据。 快照ID的获取方法: 登录管理控制台,打开\"云硬盘 > 快照\"页面,根据原始数据盘的磁盘名称找到对应的快照ID。 + SnapshotId *string `json:"snapshotId,omitempty"` } func (o PrePaidServerRootVolumeExtendParam) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PrePaidServerRootVolumeExtendParam struct{}" + } + return strings.Join([]string{"PrePaidServerRootVolumeExtendParam", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_scheduler_hints.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_scheduler_hints.go index 7bb9622e77f0a4ea76ae3e5939d75e305b44fd0e..4bdd790466bc945c7874c79faaf27e1d7571addd 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_scheduler_hints.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_scheduler_hints.go @@ -1,31 +1,34 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // type PrePaidServerSchedulerHints struct { - // 云服务器组ID,UUID格式。 + // 云服务器组ID,UUID格式。 云服务器组的ID可以从控制台或者参考[查询云服务器组列表](https://support.huaweicloud.com/api-ecs/ecs_03_1402.html)获取。 + Group *string `json:"group,omitempty"` // 在指定的专属主机或者共享主机上创建弹性云服务器。参数值为shared或者dedicated。 + Tenancy *PrePaidServerSchedulerHintsTenancy `json:"tenancy,omitempty"` // 专属主机的ID。 + DedicatedHostId *string `json:"dedicated_host_id,omitempty"` } func (o PrePaidServerSchedulerHints) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PrePaidServerSchedulerHints struct{}" + } + return strings.Join([]string{"PrePaidServerSchedulerHints", string(data)}, " ") } @@ -50,7 +53,7 @@ func GetPrePaidServerSchedulerHintsTenancyEnum() PrePaidServerSchedulerHintsTena } func (c PrePaidServerSchedulerHintsTenancy) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *PrePaidServerSchedulerHintsTenancy) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_security_group.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_security_group.go index c247d9b0646da01fca3aff36bafbffefd248c9e9..771f3451787217b1428b6c0fb7d233aa55aabf5a 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_security_group.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_security_group.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,15 @@ import ( // type PrePaidServerSecurityGroup struct { // 可以为空,待创建云服务器的安全组,会对创建云服务器中配置的网卡生效。需要指定已有安全组的ID,UUID格式;若不传值,底层会按照空处理,不会创建安全组。 + Id *string `json:"id,omitempty"` } func (o PrePaidServerSecurityGroup) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PrePaidServerSecurityGroup struct{}" + } + return strings.Join([]string{"PrePaidServerSecurityGroup", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_tag.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_tag.go index 5542b806dd5aed9272537113fdc17447bca690cf..7f9666b19995931c690cc8af0a1d9f7c682871aa 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_tag.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_pre_paid_server_tag.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,12 +9,18 @@ import ( // 弹性云服务器的标签。 type PrePaidServerTag struct { // 键。 最大长度36个unicode字符。key不能为空。不能包含非打印字符ASCII(0-31),\"=\", \"*\",“<”,“>”,“\\”,“,”,“|”,“/”。 同一资源的key值不能重复。 + Key string `json:"key"` // 值。 每个值最大长度43个unicode字符,可以为空字符串。 不能包含非打印字符ASCII(0-31),“=”,“*”,“<”,“>”,“\\”,“,”,“|”,“/”。 + Value string `json:"value"` } func (o PrePaidServerTag) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "PrePaidServerTag struct{}" + } + return strings.Join([]string{"PrePaidServerTag", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_project_flavor_limit.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_project_flavor_limit.go index 059a209314019b3d62ebaeb3354704b9a84aa1aa..d7f86bc040f4b0ad5a25cee7c1d5d3e1cdbe1065 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_project_flavor_limit.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_project_flavor_limit.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -18,6 +11,10 @@ type ProjectFlavorLimit struct { } func (o ProjectFlavorLimit) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ProjectFlavorLimit struct{}" + } + return strings.Join([]string{"ProjectFlavorLimit", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_project_tag.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_project_tag.go new file mode 100644 index 0000000000000000000000000000000000000000..03e28d5a514206697541bc6f2fa6360364265653 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_project_tag.go @@ -0,0 +1,26 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// 项目标签列表。 +type ProjectTag struct { + // 键。 - 最大长度36个unicode字符。 - 只能包含数字、字母、中划线“-”、下划线“_”。 - 字符集:A-Z,a-z , 0-9,‘-’,‘_’,UNICODE字符(\\u4E00-\\u9FFF)。 - 不能包含以下ASCII非打印字符:“=”,“*”,“<”,“>”,“\\”,“|”,“/”,“,”。 - 标签的键必须唯一且输入不能为空。 + + Key string `json:"key"` + // 值。 - 每个值最大长度43个unicode字符。 - 可以为空字符串。 - 只能包含数字、字母、中划线“-”、下划线“_”。 - 字符集:A-Z,a-z , 0-9,‘.’,‘-’,‘_’,UNICODE字符(\\u4E00-\\u9FFF)。 - 不能包含以下ASCII非打印字符:“=”,“*”,“<”,“>”,“\\”,“|”,“/”,“,”。 + + Values *[]string `json:"values,omitempty"` +} + +func (o ProjectTag) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ProjectTag struct{}" + } + + return strings.Join([]string{"ProjectTag", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_register_server_auto_recovery_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_register_server_auto_recovery_request.go new file mode 100644 index 0000000000000000000000000000000000000000..9e1c0d646c09c1908367a7972c41e5c330ce7f2e --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_register_server_auto_recovery_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type RegisterServerAutoRecoveryRequest struct { + // 云服务器ID。 + + ServerId string `json:"server_id"` + + Body *RegisterServerAutoRecoveryRequestBody `json:"body,omitempty"` +} + +func (o RegisterServerAutoRecoveryRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "RegisterServerAutoRecoveryRequest struct{}" + } + + return strings.Join([]string{"RegisterServerAutoRecoveryRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_register_server_auto_recovery_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_register_server_auto_recovery_request_body.go new file mode 100644 index 0000000000000000000000000000000000000000..5b01b85b042a377bfab10685c3b76bb43e477151 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_register_server_auto_recovery_request_body.go @@ -0,0 +1,23 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// This is a auto create Body Object +type RegisterServerAutoRecoveryRequestBody struct { + // 云服务器是否配置了自动恢复动作。 - true:表示配置自动恢复。 - false:表示删除自动恢复。 + + SupportAutoRecovery string `json:"support_auto_recovery"` +} + +func (o RegisterServerAutoRecoveryRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "RegisterServerAutoRecoveryRequestBody struct{}" + } + + return strings.Join([]string{"RegisterServerAutoRecoveryRequestBody", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_register_server_auto_recovery_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_register_server_auto_recovery_response.go new file mode 100644 index 0000000000000000000000000000000000000000..e334bf9702b7940e14f5aefd8a065c3074a26ee3 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_register_server_auto_recovery_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type RegisterServerAutoRecoveryResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o RegisterServerAutoRecoveryResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "RegisterServerAutoRecoveryResponse struct{}" + } + + return strings.Join([]string{"RegisterServerAutoRecoveryResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_with_cloud_init_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_with_cloud_init_option.go index 2c6c25e18064c3fed32c14820c100c90b39dc37b..7add14ef8dda02f812fa25747c0966a1bb0ee993 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_with_cloud_init_option.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_with_cloud_init_option.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,17 +9,26 @@ import ( // 重装操作系统body。 type ReinstallServerWithCloudInitOption struct { // 云服务器管理员帐户的初始登录密码。 其中,Windows管理员帐户的用户名为Administrator。 建议密码复杂度如下: - 长度为8-26位。 - 密码至少必须包含大写字母、小写字母、数字和特殊字符(!@$%^-_=+[{}]:,./?)中的三种。 > 说明: - 对于Windows弹性云服务器,密码不能包含用户名或用户名的逆序,不能包含用户名中超过两个连续字符的部分。 - 对于Linux弹性云服务器也可使用user_data字段实现密码注入,此时adminpass字段无效。 - adminpass和keyname不能同时有值。 - adminpass和keyname如果同时为空,此时,metadata中的user_data属性必须有值。 + Adminpass *string `json:"adminpass,omitempty"` - // 密钥名称。 + // 密钥名称。 密钥可以通过密钥创建接口进行创建(请参见[创建和导入SSH密钥](https://support.huaweicloud.com/api-ecs/zh-cn_topic_0020212678.html)),或使用SSH密钥查询接口查询已有的密钥(请参见[查询SSH密钥列表](https://support.huaweicloud.com/api-ecs/ecs_03_1201.html) )。 + Keyname *string `json:"keyname,omitempty"` // 用户ID。当传入keyname参数时,此参数为必选。 - Userid *string `json:"userid,omitempty"` + + Userid *string `json:"userid,omitempty"` + Metadata *ReinstallSeverMetadata `json:"metadata,omitempty"` // 取值为withStopServer ,支持开机状态下重装弹性云服务器。 mode取值为withStopServer时,对开机状态的弹性云服务器执行重装操作,系统自动对云服务器先执行关机,再重装操作系统。 + Mode *string `json:"mode,omitempty"` } func (o ReinstallServerWithCloudInitOption) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ReinstallServerWithCloudInitOption struct{}" + } + return strings.Join([]string{"ReinstallServerWithCloudInitOption", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_with_cloud_init_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_with_cloud_init_request.go index 21df5091b2cf2ddd05b04e156a14f405781317d6..ec3b56efbbcd54aabb00c71b68744f9abc5a1ba5 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_with_cloud_init_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_with_cloud_init_request.go @@ -1,25 +1,25 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type ReinstallServerWithCloudInitRequest struct { - ServerId string `json:"server_id"` - Body *ReinstallServerWithCloudInitRequestBody `json:"body,omitempty"` + // 云服务器ID。 + + ServerId string `json:"server_id"` + + Body *ReinstallServerWithCloudInitRequestBody `json:"body,omitempty"` } func (o ReinstallServerWithCloudInitRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ReinstallServerWithCloudInitRequest struct{}" + } + return strings.Join([]string{"ReinstallServerWithCloudInitRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_with_cloud_init_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_with_cloud_init_request_body.go index 965c7fe33056d1569c8bd880655bca539815af3b..c9dc2881480c99552150820810b4a54ea10597f0 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_with_cloud_init_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_with_cloud_init_request_body.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -19,6 +12,10 @@ type ReinstallServerWithCloudInitRequestBody struct { } func (o ReinstallServerWithCloudInitRequestBody) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ReinstallServerWithCloudInitRequestBody struct{}" + } + return strings.Join([]string{"ReinstallServerWithCloudInitRequestBody", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_with_cloud_init_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_with_cloud_init_response.go index 525c8a327e6b44da6ffba9ad07b65400739b7eae..e78d3b24c9c3430a13008fd1d987ffae7a924cba 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_with_cloud_init_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_with_cloud_init_response.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type ReinstallServerWithCloudInitResponse struct { // 提交任务成功后返回的任务ID,用户可以使用该ID对任务执行情况进行查询。 - JobId *string `json:"job_id,omitempty"` + + JobId *string `json:"job_id,omitempty"` + HttpStatusCode int `json:"-"` } func (o ReinstallServerWithCloudInitResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ReinstallServerWithCloudInitResponse struct{}" + } + return strings.Join([]string{"ReinstallServerWithCloudInitResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_without_cloud_init_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_without_cloud_init_option.go new file mode 100644 index 0000000000000000000000000000000000000000..f1db6c7e993d5529300572360bb0b70fa396cdeb --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_without_cloud_init_option.go @@ -0,0 +1,32 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// 重装操作系统body。 +type ReinstallServerWithoutCloudInitOption struct { + // 云服务器管理员帐户的初始登录密码。 其中,Windows管理员帐户的用户名为Administrator。 建议密码复杂度如下: - 长度为8-26位。 - 密码至少必须包含大写字母、小写字母、数字和特殊字符(!@$%^-_=+[{}]:,./?)中的三种。 > 说明: > - 对于Windows弹性云服务器,密码不能包含用户名或用户名的逆序,不能包含用户名中超过两个连续字符的部分。 - adminpass和keyname不能同时为空。 + + Adminpass *string `json:"adminpass,omitempty"` + // 密钥名称。 密钥可以通过密钥创建接口进行创建(请参见[创建和导入SSH密钥](https://support.huaweicloud.com/api-ecs/zh-cn_topic_0020212678.html)),或使用SSH密钥查询接口查询已有的密钥(请参见[查询SSH密钥列表](https://support.huaweicloud.com/api-ecs/ecs_03_1201.html) )。 + + Keyname *string `json:"keyname,omitempty"` + // 用户ID。当传入keyname参数时,此参数为必选。 + + Userid *string `json:"userid,omitempty"` + // 取值为withStopServer ,支持开机状态下切换弹性云服务器操作系统。 mode取值为withStopServer时,对开机状态的弹性云服务器执行切换操作系统操作,系统自动对云服务器先执行关机,再切换操作系统。 + + Mode *string `json:"mode,omitempty"` +} + +func (o ReinstallServerWithoutCloudInitOption) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ReinstallServerWithoutCloudInitOption struct{}" + } + + return strings.Join([]string{"ReinstallServerWithoutCloudInitOption", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_without_cloud_init_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_without_cloud_init_request.go new file mode 100644 index 0000000000000000000000000000000000000000..89c7be681441329e9a20259452df93c5c7cfaee5 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_without_cloud_init_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ReinstallServerWithoutCloudInitRequest struct { + // 云服务器ID。 + + ServerId string `json:"server_id"` + + Body *ReinstallServerWithoutCloudInitRequestBody `json:"body,omitempty"` +} + +func (o ReinstallServerWithoutCloudInitRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ReinstallServerWithoutCloudInitRequest struct{}" + } + + return strings.Join([]string{"ReinstallServerWithoutCloudInitRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_without_cloud_init_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_without_cloud_init_request_body.go new file mode 100644 index 0000000000000000000000000000000000000000..1cad7d3cbc552d66553175479a8ebfe9b86a7cc2 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_without_cloud_init_request_body.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// This is a auto create Body Object +type ReinstallServerWithoutCloudInitRequestBody struct { + OsReinstall *ReinstallServerWithoutCloudInitOption `json:"os-reinstall"` +} + +func (o ReinstallServerWithoutCloudInitRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ReinstallServerWithoutCloudInitRequestBody struct{}" + } + + return strings.Join([]string{"ReinstallServerWithoutCloudInitRequestBody", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_without_cloud_init_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_without_cloud_init_response.go new file mode 100644 index 0000000000000000000000000000000000000000..860243f01a04aed91d0745d2cead853d3acaf6d8 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_server_without_cloud_init_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ReinstallServerWithoutCloudInitResponse struct { + // 提交任务成功后返回的任务ID,用户可以使用该ID对任务执行情况进行查询。 + + JobId *string `json:"job_id,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ReinstallServerWithoutCloudInitResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ReinstallServerWithoutCloudInitResponse struct{}" + } + + return strings.Join([]string{"ReinstallServerWithoutCloudInitResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_sever_metadata.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_sever_metadata.go index 0cbe8e73709fc6b9f5b96cdbce5af500fe6ed7f3..a1742207efc3976c0bf5526d2961a20ad64a0725 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_sever_metadata.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reinstall_sever_metadata.go @@ -1,25 +1,23 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // type ReinstallSeverMetadata struct { - // 重装云服务器过程中注入用户数据。 支持注入文本、文本文件或gzip文件。注入内容最大长度32KB。注入内容,需要进行base64格式编码。 + // 重装云服务器过程中注入用户数据。 支持注入文本、文本文件或gzip文件。注入内容最大长度32KB。注入内容,需要进行base64格式编码。 了解更多用户数据注入请参考[用户数据注入](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0032380449.html)。 + UserData *string `json:"user_data,omitempty"` } func (o ReinstallSeverMetadata) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ReinstallSeverMetadata struct{}" + } + return strings.Join([]string{"ReinstallSeverMetadata", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reset_server_password_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reset_server_password_option.go index 3d1b7889f2075d105b262c2eb5ef9eb140210d0b..06a6d184688e8c32341f0c47fee00af8e77abfe3 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reset_server_password_option.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reset_server_password_option.go @@ -1,26 +1,25 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) type ResetServerPasswordOption struct { // 弹性云服务器新密码。 该接口默认不做密码安全性校验;如需校验,请指定字段“is_check_password”为true。 新密码的校验规则: - 密码长度范围为8到26位。 - 允许输入的字符包括:!@%-_=+[]:./? - 禁止输入的字符包括:汉字及【】:;“”‘’、,。《》?¥…()—— ·!~`#&^,{}*();\"'<>|\\ $ - 复杂度上必须包含大写字母(A-Z)、小写字母(a-z)、数字(0-9)、以及允许的特殊字符中的3种以上搭配 - 不能包含用户名 \"Administrator\" 和“root”及逆序字符 - 不能包含用户名 \"Administrator\" 中连续3个字符 + NewPassword string `json:"new_password"` // 是否检查密码的复杂度。 + IsCheckPassword *bool `json:"is_check_password,omitempty"` } func (o ResetServerPasswordOption) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ResetServerPasswordOption struct{}" + } + return strings.Join([]string{"ResetServerPasswordOption", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reset_server_password_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reset_server_password_request.go index 51f1e50826e9ec9636f23737c1c2005f4db810f5..4a19f2ccbbdf69853c14245a46823633a024826a 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reset_server_password_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reset_server_password_request.go @@ -1,25 +1,25 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type ResetServerPasswordRequest struct { - ServerId string `json:"server_id"` - Body *ResetServerPasswordRequestBody `json:"body,omitempty"` + // 云服务器ID。 + + ServerId string `json:"server_id"` + + Body *ResetServerPasswordRequestBody `json:"body,omitempty"` } func (o ResetServerPasswordRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ResetServerPasswordRequest struct{}" + } + return strings.Join([]string{"ResetServerPasswordRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reset_server_password_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reset_server_password_request_body.go index 8baf359dc939230b2456c82f7aa60bd28ff0c8dd..6856b65b9298b973ba164772ce2c8bc5449d7b1a 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reset_server_password_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reset_server_password_request_body.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -19,6 +12,10 @@ type ResetServerPasswordRequestBody struct { } func (o ResetServerPasswordRequestBody) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ResetServerPasswordRequestBody struct{}" + } + return strings.Join([]string{"ResetServerPasswordRequestBody", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reset_server_password_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reset_server_password_response.go index af7b8649a500a0ebb1f068b8ecb6094ea5cbff22..f19fca9fba80ad5110ed8df79d79567d0d83efe1 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reset_server_password_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_reset_server_password_response.go @@ -1,23 +1,21 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type ResetServerPasswordResponse struct { + HttpStatusCode int `json:"-"` } func (o ResetServerPasswordResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ResetServerPasswordResponse struct{}" + } + return strings.Join([]string{"ResetServerPasswordResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_post_paid_server_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_post_paid_server_option.go index 0d49b844bad856bfab0d54b166a7cb7675eb73c6..d343f524ac6420b11b0c9afb1636392fe35f6e1d 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_post_paid_server_option.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_post_paid_server_option.go @@ -1,27 +1,26 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // type ResizePostPaidServerOption struct { - // 变更后的云服务器规格ID。 + // 变更后的云服务器规格ID。 可通过[查询云服务器规格变更支持列表](https://support.huaweicloud.com/api-ecs/ecs_02_0402.html)接口查询允许变更的规格列表。 + FlavorRef string `json:"flavorRef"` // 取值为withStopServer ,支持开机状态下变更规格。 mode取值为withStopServer时,对开机状态的云服务器执行变更规格操作,系统自动对云服务器先执行关机,再变更规格,变更成功后再执行开机。 + Mode *string `json:"mode,omitempty"` } func (o ResizePostPaidServerOption) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ResizePostPaidServerOption struct{}" + } + return strings.Join([]string{"ResizePostPaidServerOption", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_post_paid_server_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_post_paid_server_request.go index a5f53c997d01d163f5100703715cfa328727417a..eb0d2c3a330701d9472d13f22e0c726dc29f60e7 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_post_paid_server_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_post_paid_server_request.go @@ -1,25 +1,25 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type ResizePostPaidServerRequest struct { - ServerId string `json:"server_id"` - Body *ResizePostPaidServerRequestBody `json:"body,omitempty"` + // 云服务器ID。 + + ServerId string `json:"server_id"` + + Body *ResizePostPaidServerRequestBody `json:"body,omitempty"` } func (o ResizePostPaidServerRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ResizePostPaidServerRequest struct{}" + } + return strings.Join([]string{"ResizePostPaidServerRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_post_paid_server_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_post_paid_server_request_body.go index be0d2fc256552084f80c8ba112521d30dfb03eaf..f90031f98e72e2e08a01ce4ac64212cc3e65f765 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_post_paid_server_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_post_paid_server_request_body.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -19,6 +12,10 @@ type ResizePostPaidServerRequestBody struct { } func (o ResizePostPaidServerRequestBody) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ResizePostPaidServerRequestBody struct{}" + } + return strings.Join([]string{"ResizePostPaidServerRequestBody", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_post_paid_server_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_post_paid_server_response.go index 774648b04c709c136e2873e6b04a88d04a17146b..a69274976d10c0ad612c91ceefb358b90e6c0b35 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_post_paid_server_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_post_paid_server_response.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type ResizePostPaidServerResponse struct { // 提交任务成功后返回的任务ID,用户可以使用该ID对任务执行情况进行查询。 - JobId *string `json:"job_id,omitempty"` + + JobId *string `json:"job_id,omitempty"` + HttpStatusCode int `json:"-"` } func (o ResizePostPaidServerResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ResizePostPaidServerResponse struct{}" + } + return strings.Join([]string{"ResizePostPaidServerResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_pre_paid_server_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_pre_paid_server_option.go index 114d172a153b56e1b47502ed61adf3c67ba28d43..c19cbdca79ffb325e6f0b61fdd95ad5801eb7a3b 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_pre_paid_server_option.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_pre_paid_server_option.go @@ -1,30 +1,31 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // type ResizePrePaidServerOption struct { - // 变更后的云服务器规格ID。 + // 变更后的云服务器规格ID。 可通过[查询云服务器规格变更支持列表](https://support.huaweicloud.com/api-ecs/ecs_02_0402.html)接口查询允许变更的规格列表。 + FlavorRef string `json:"flavorRef"` // 新专属主机ID(仅适用于专属主机上的弹性云服务器)。 - DedicatedHostId *string `json:"dedicated_host_id,omitempty"` - Extendparam *ResizeServerExtendParam `json:"extendparam,omitempty"` + + DedicatedHostId *string `json:"dedicated_host_id,omitempty"` + + Extendparam *ResizeServerExtendParam `json:"extendparam,omitempty"` // 取值为withStopServer ,支持开机状态下变更规格。 mode取值为withStopServer时,对开机状态的云服务器执行变更规格操作,系统自动对云服务器先执行关机,再变更规格,变更成功后再执行开机。 + Mode *string `json:"mode,omitempty"` } func (o ResizePrePaidServerOption) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ResizePrePaidServerOption struct{}" + } + return strings.Join([]string{"ResizePrePaidServerOption", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_server_extend_param.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_server_extend_param.go index 8ec07c4e4663471ef2292b5395f9986b7ee00873..dc5abf04d388035cf473fa2e2c8daa7ecb44777e 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_server_extend_param.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_server_extend_param.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,15 @@ import ( // type ResizeServerExtendParam struct { // 下单订购后,是否自动从客户的账户中支付,而不需要客户手动去进行支付。 - “true”:是(自动支付) - “false”:否(需要客户手动支付) > 说明: > > 当弹性云服务器是按包年包月计费时生效,该值为空时默认为客户手动支付。 + IsAutoPay *string `json:"isAutoPay,omitempty"` } func (o ResizeServerExtendParam) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ResizeServerExtendParam struct{}" + } + return strings.Join([]string{"ResizeServerExtendParam", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_server_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_server_request.go index a6ac2e77bb23cf3aabddc3357085a1bfa8d9a4cb..f22cf64233025f17a6fe320cee470da407c20cf0 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_server_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_server_request.go @@ -1,25 +1,25 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type ResizeServerRequest struct { - ServerId string `json:"server_id"` - Body *ResizeServerRequestBody `json:"body,omitempty"` + // 云服务器ID。 + + ServerId string `json:"server_id"` + + Body *ResizeServerRequestBody `json:"body,omitempty"` } func (o ResizeServerRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ResizeServerRequest struct{}" + } + return strings.Join([]string{"ResizeServerRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_server_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_server_request_body.go index ebdb7c87c12cfcf865f2e470170e0cc52b2dce86..6a1bf2bdbc739f2b0b77cc74159b0ff5abbb6565 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_server_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_server_request_body.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -19,6 +12,10 @@ type ResizeServerRequestBody struct { } func (o ResizeServerRequestBody) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ResizeServerRequestBody struct{}" + } + return strings.Join([]string{"ResizeServerRequestBody", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_server_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_server_response.go index 0ff9c002fe0e4521701317d0794a8dd83830a736..f1514a9e19f0f7c25e4638a32c4ef36cbefa0d1f 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_server_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_resize_server_response.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,12 +9,19 @@ import ( // Response Object type ResizeServerResponse struct { // 订单号,创建包年包月的弹性云服务器时返回该参数。 + OrderId *string `json:"order_id,omitempty"` // 任务ID,变更按需的弹性云服务器规格时返回该参数。 - JobId *string `json:"job_id,omitempty"` + + JobId *string `json:"job_id,omitempty"` + HttpStatusCode int `json:"-"` } func (o ResizeServerResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ResizeServerResponse struct{}" + } + return strings.Join([]string{"ResizeServerResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_address.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_address.go index 7353a1c0f71e7a6efcd4134384883c115c24eabd..a7c7272aa392b8d3923f220e0aa55f484fd4b688 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_address.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_address.go @@ -1,35 +1,40 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // 弹性云服务器的网络属性。 type ServerAddress struct { // IP地址版本。 - “4”:代表IPv4。 - “6”:代表IPv6。 + Version string `json:"version"` // IP地址。 + Addr string `json:"addr"` // IP地址类型。 - fixed:代表私有IP地址。 - floating:代表浮动IP地址。 + OSEXTIPStype *ServerAddressOSEXTIPStype `json:"OS-EXT-IPS:type,omitempty"` // MAC地址。 + OSEXTIPSMACmacAddr *string `json:"OS-EXT-IPS-MAC:mac_addr,omitempty"` // IP地址对应的端口ID。 + OSEXTIPSportId *string `json:"OS-EXT-IPS:port_id,omitempty"` } func (o ServerAddress) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ServerAddress struct{}" + } + return strings.Join([]string{"ServerAddress", string(data)}, " ") } @@ -54,7 +59,7 @@ func GetServerAddressOSEXTIPStypeEnum() ServerAddressOSEXTIPStypeEnum { } func (c ServerAddressOSEXTIPStype) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ServerAddressOSEXTIPStype) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_attachable_quantity.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_attachable_quantity.go index 00dcb9db25cdb11fe6a3e5be0f216ce181d6258a..da83ade80e3b202dfa9c5883379a55e54da547d7 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_attachable_quantity.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_attachable_quantity.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,16 +9,24 @@ import ( // 云服务器可挂载网卡和卷数。 type ServerAttachableQuantity struct { // 可挂载scsi卷数。 + FreeScsi int32 `json:"free_scsi"` // 可挂载vbd卷数。 + FreeBlk int32 `json:"free_blk"` // 可挂载卷数。 + FreeDisk int32 `json:"free_disk"` // 可挂载网卡数。 + FreeNic int32 `json:"free_nic"` } func (o ServerAttachableQuantity) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ServerAttachableQuantity struct{}" + } + return strings.Join([]string{"ServerAttachableQuantity", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_block_device.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_block_device.go index 2106b39447627b294a81e72779084b37ed407dbc..bcc63aa04c8429454a1ca873180a1d3056b21422 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_block_device.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_block_device.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,24 +9,36 @@ import ( // 查询云服务器指定磁盘挂载信息响应信息 type ServerBlockDevice struct { // 云硬盘启动顺序。 - 0为系统盘。 - 非0为数据盘 + BootIndex *int32 `json:"bootIndex,omitempty"` // pci地址。 + PciAddress *string `json:"pciAddress,omitempty"` // 云硬盘ID,UUID格式。 + VolumeId *string `json:"volumeId,omitempty"` // 云硬盘挂载盘符,即磁盘挂载点。 + Device *string `json:"device,omitempty"` // 弹性云服务器ID,UUID格式。 + ServerId *string `json:"serverId,omitempty"` // 挂载ID,与云硬盘ID相同。UUID格式。 + Id *string `json:"id,omitempty"` // 云硬盘大小,单位GB。 + Size *int32 `json:"size,omitempty"` // 磁盘总线类型 。 取值范围:virtio、scsi + Bus *string `json:"bus,omitempty"` } func (o ServerBlockDevice) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ServerBlockDevice struct{}" + } + return strings.Join([]string{"ServerBlockDevice", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_detail.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_detail.go index 31cea528e3256057acf738ee049be433a6b85623..2a3bc7512d8d0cac1ee22088336627dc9b7dbb8c 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_detail.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_detail.go @@ -1,107 +1,155 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // 云服务器详情。 type ServerDetail struct { - // 弹性云服务器状态。 取值范围: ACTIVE、BUILD、DELETED、ERROR、HARD_REBOOT、MIGRATING、PAUSED、REBOOT、REBUILD、RESIZE、REVERT_RESIZE、SHUTOFF、SHELVED、SHELVED_OFFLOADED、SOFT_DELETED、SUSPENDED、VERIFY_RESIZE + // 弹性云服务器状态。 取值范围: ACTIVE、BUILD、DELETED、ERROR、HARD_REBOOT、MIGRATING、PAUSED、REBOOT、REBUILD、RESIZE、REVERT_RESIZE、SHUTOFF、SHELVED、SHELVED_OFFLOADED、SOFT_DELETED、SUSPENDED、VERIFY_RESIZE 弹性云服务器状态说明请参考[云服务器状态](https://support.huaweicloud.com/api-ecs/ecs_08_0002.html) + Status string `json:"status"` // 弹性云服务器更新时间。 时间格式例如:2019-05-22T03:30:52Z + Updated string `json:"updated"` + // 弹性云服务器自动释放时间。 时间格式例如:2020-01-19T03:30:52Z + + AutoTerminateTime string `json:"auto_terminate_time"` // 弹性云服务器所在主机的主机ID。 + HostId string `json:"hostId"` // 弹性云服务器所在主机的主机名称。 + OSEXTSRVATTRhost string `json:"OS-EXT-SRV-ATTR:host"` // 弹性云服务器的网络属性。 + Addresses map[string][]ServerAddress `json:"addresses"` // 弹性云服务器使用的密钥对名称。 - KeyName string `json:"key_name"` - Image *ServerImage `json:"image"` - // 扩展属性,弹性云服务器当前任务的状态。 + + KeyName string `json:"key_name"` + + Image *ServerImage `json:"image"` + // 扩展属性,弹性云服务器当前任务的状态。 取值范围请参考[云服务器状态](https://support.huaweicloud.com/api-ecs/ecs_08_0002.html)表3。 + OSEXTSTStaskState string `json:"OS-EXT-STS:task_state"` - // 扩展属性,弹性云服务器当前状态。 + // 扩展属性,弹性云服务器当前状态。 云服务器状态说明请参考[云服务器状态](https://support.huaweicloud.com/api-ecs/ecs_08_0002.html)。 + OSEXTSTSvmState string `json:"OS-EXT-STS:vm_state"` // 扩展属性,弹性云服务器别名。 + OSEXTSRVATTRinstanceName string `json:"OS-EXT-SRV-ATTR:instance_name"` // 扩展属性,弹性云服务器所在虚拟化主机名。 - OSEXTSRVATTRhypervisorHostname string `json:"OS-EXT-SRV-ATTR:hypervisor_hostname"` - Flavor *ServerFlavor `json:"flavor"` + + OSEXTSRVATTRhypervisorHostname string `json:"OS-EXT-SRV-ATTR:hypervisor_hostname"` + + Flavor *ServerFlavor `json:"flavor"` // 弹性云服务器ID,格式为UUID。 + Id string `json:"id"` // 弹性云服务器所属安全组列表。 + SecurityGroups []ServerSecurityGroup `json:"security_groups"` // 扩展属性,弹性云服务器所在可用区名称。 + OSEXTAZavailabilityZone string `json:"OS-EXT-AZ:availability_zone"` // 创建弹性云服务器的用户ID,格式为UUID。 + UserId string `json:"user_id"` // 弹性云服务器名称。 + Name string `json:"name"` // 弹性云服务器创建时间。 时间格式例如:2019-05-22T03:19:19Z + Created string `json:"created"` // 弹性云服务器所属租户ID,即项目id,和project_id表示相同的概念,格式为UUID。 + TenantId string `json:"tenant_id"` // 扩展属性, diskConfig的类型。 - MANUAL,镜像空间不会扩展。 - AUTO,系统盘镜像空间会自动扩展为与flavor大小一致。 + OSDCFdiskConfig *string `json:"OS-DCF:diskConfig,omitempty"` // 预留属性。 + AccessIPv4 string `json:"accessIPv4"` // 预留属性。 - AccessIPv6 string `json:"accessIPv6"` - Fault *ServerFault `json:"fault,omitempty"` + + AccessIPv6 string `json:"accessIPv6"` + + Fault *ServerFault `json:"fault,omitempty"` // 弹性云服务器进度。 + Progress *int32 `json:"progress,omitempty"` // 扩展属性,弹性云服务器电源状态。 + OSEXTSTSpowerState int32 `json:"OS-EXT-STS:power_state"` // config drive信息。 + ConfigDrive string `json:"config_drive"` // 弹性云服务器元数据。 > 说明: > > 元数据包含系统默认添加字段和用户设置的字段。 系统默认添加字段 1. charging_mode 云服务器的计费类型。 - “0”:按需计费(即postPaid-后付费方式)。 - “1”:按包年包月计费(即prePaid-预付费方式)。\"2\":竞价实例计费 2. metering.order_id 按“包年/包月”计费的云服务器对应的订单ID。 3. metering.product_id 按“包年/包月”计费的云服务器对应的产品ID。 4. vpc_id 云服务器所属的虚拟私有云ID。 5. EcmResStatus 云服务器的冻结状态。 - normal:云服务器正常状态(未被冻结)。 - freeze:云服务器被冻结。 > 当云服务器被冻结或者解冻后,系统默认添加该字段,且该字段必选。 6. metering.image_id 云服务器操作系统对应的镜像ID 7. metering.imagetype 镜像类型,目前支持: - 公共镜像(gold) - 私有镜像(private) - 共享镜像(shared) 8. metering.resourcespeccode 云服务器对应的资源规格。 9. image_name 云服务器操作系统对应的镜像名称。 10. os_bit 操作系统位数,一般取值为“32”或者“64”。 11. lockCheckEndpoint 回调URL,用于检查弹性云服务器的加锁是否有效。 - 如果有效,则云服务器保持锁定状态。 - 如果无效,解除锁定状态,删除失效的锁。 12. lockSource 弹性云服务器来自哪个服务。订单加锁(ORDER) 13. lockSourceId 弹性云服务器的加锁来自哪个ID。lockSource为“ORDER”时,lockSourceId为订单ID。 14. lockScene 弹性云服务器的加锁类型。 - 按需转包周期(TO_PERIOD_LOCK) 15. virtual_env_type - IOS镜像创建虚拟机,\"virtual_env_type\": \"IsoImage\" 属性; - 非IOS镜像创建虚拟机,在19.5.0版本以后创建的虚拟机将不会添加virtual_env_type 属性,而在此之前的版本创建的虚拟机可能会返回\"virtual_env_type\": \"FusionCompute\"属性 。 > virtual_env_type属性不允许用户增加、删除和修改。 16. metering.resourcetype 云服务器对应的资源类型。 17. os_type 操作系统类型,取值为:Linux、Windows。 18. cascaded.instance_extrainfo 系统内部虚拟机扩展信息。 19. __support_agent_list 云服务器是否支持企业主机安全、主机监控。 - “hss”:企业主机安全 - “ces”:主机监控 20. agency_name 委托的名称。 委托是由租户管理员在统一身份认证服务(Identity and Access Management,IAM)上创建的,可以为弹性云服务器提供访问云服务的临时凭证。 + Metadata map[string]string `json:"metadata"` // 弹性云服务器启动时间。时间格式例如:2019-05-22T03:23:59.000000 + OSSRVUSGlaunchedAt string `json:"OS-SRV-USG:launched_at"` // 弹性云服务器删除时间。 时间格式例如:2019-05-22T03:23:59.000000 + OSSRVUSGterminatedAt string `json:"OS-SRV-USG:terminated_at"` // 挂载到弹性云服务器上的磁盘。 + OsExtendedVolumesvolumesAttached []ServerExtendVolumeAttachment `json:"os-extended-volumes:volumes_attached"` // 弹性云服务器的描述信息。 + Description *string `json:"description,omitempty"` // nova-compute状态。 - UP:服务正常 - UNKNOWN:状态未知 - DOWN:服务异常 - MAINTENANCE:维护状态 - 空字符串:弹性云服务器无主机信息 + HostStatus string `json:"host_status"` // 弹性云服务器的主机名。 + OSEXTSRVATTRhostname string `json:"OS-EXT-SRV-ATTR:hostname"` // 批量创建场景,弹性云服务器的预留ID。 + OSEXTSRVATTRreservationId *string `json:"OS-EXT-SRV-ATTR:reservation_id,omitempty"` // 批量创建场景,弹性云服务器的启动顺序。 + OSEXTSRVATTRlaunchIndex int32 `json:"OS-EXT-SRV-ATTR:launch_index"` // 若使用AMI格式的镜像,则表示kernel image的UUID;否则,留空。 + OSEXTSRVATTRkernelId string `json:"OS-EXT-SRV-ATTR:kernel_id"` // 若使用AMI格式镜像,则表示ramdisk image的UUID;否则,留空。 + OSEXTSRVATTRramdiskId string `json:"OS-EXT-SRV-ATTR:ramdisk_id"` // 弹性云服务器系统盘的设备名称。 + OSEXTSRVATTRrootDeviceName string `json:"OS-EXT-SRV-ATTR:root_device_name"` // 创建弹性云服务器时指定的user_data。 + OSEXTSRVATTRuserData *string `json:"OS-EXT-SRV-ATTR:user_data,omitempty"` // 弹性云服务器是否为锁定状态。 - true:锁定 - false:未锁定 + Locked bool `json:"locked"` // 弹性云服务器标签。 - Tags *[]string `json:"tags,omitempty"` + + Tags *[]string `json:"tags,omitempty"` + OsschedulerHints *ServerSchedulerHints `json:"os:scheduler_hints,omitempty"` // 弹性云服务器所属的企业项目ID。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` // 弹性云服务器系统标签。 + SysTags *[]ServerSystemTag `json:"sys_tags,omitempty"` + + CpuOptions *CpuOptions `json:"cpu_options,omitempty"` + + Hypervisor *Hypervisor `json:"hypervisor,omitempty"` } func (o ServerDetail) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ServerDetail struct{}" + } + return strings.Join([]string{"ServerDetail", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_extend_volume_attachment.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_extend_volume_attachment.go index 9d0d1d3cddf0b4b74e10d05088bbfb730efd249b..5684013abb780fe0f9c05ceb6d2ca8609fae2a97 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_extend_volume_attachment.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_extend_volume_attachment.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,16 +9,24 @@ import ( // 挂载到弹性云服务器上的磁盘。 type ServerExtendVolumeAttachment struct { // 磁盘ID,格式为UUID。 + Id string `json:"id"` // 删弹性云服务器时是否一并删除该磁盘。 - true:是 - false:否 + DeleteOnTermination string `json:"delete_on_termination"` // 启动标识,“0”代表启动盘,“-1“代表非启动盘。 + BootIndex *string `json:"bootIndex,omitempty"` // 云硬盘挂载盘符,即磁盘挂载点。 + Device string `json:"device"` } func (o ServerExtendVolumeAttachment) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ServerExtendVolumeAttachment struct{}" + } + return strings.Join([]string{"ServerExtendVolumeAttachment", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_fault.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_fault.go index 5d76cdbc81ca486009e94fd521990b66d7536863..8d7d57f81b0d4a10c4035632e7a931b9f3e57150 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_fault.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_fault.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,16 +9,24 @@ import ( // 弹性云服务器故障信息。 type ServerFault struct { // 错误码。 + Code *int32 `json:"code,omitempty"` // 异常出现的时间。 + Created *string `json:"created,omitempty"` // 异常描述信息。 + Message *string `json:"message,omitempty"` // 异常详情信息。 + Details *string `json:"details,omitempty"` } func (o ServerFault) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ServerFault struct{}" + } + return strings.Join([]string{"ServerFault", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_flavor.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_flavor.go index 433df50b2a5c270b5009ed062f73b33f034602fc..dabe3329bacebbace81855a3297a188e3ba11832 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_flavor.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_flavor.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,18 +9,27 @@ import ( // 弹性云服务器规格信息。 type ServerFlavor struct { // 弹性云服务器规格ID。 + Id string `json:"id"` // 弹性云服务器规格名称。 + Name string `json:"name"` // 该云服务器规格对应要求系统盘大小,0为不限制。此字段在本系统中无效。 + Disk string `json:"disk"` // 该云服务器规格对应的CPU核数。 + Vcpus string `json:"vcpus"` // 该云服务器规格对应的内存大小,单位为MB。 + Ram string `json:"ram"` } func (o ServerFlavor) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ServerFlavor struct{}" + } + return strings.Join([]string{"ServerFlavor", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_group_member.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_group_member.go index 4ff7561691c5f6ac697bff1be88602bbd8f07a1c..5c476982473282afa8040e34496c6fbb7e819690 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_group_member.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_group_member.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,15 @@ import ( // 云服务器组添加、删除成员列表 type ServerGroupMember struct { // 云服务器UUID。 + InstanceUuid string `json:"instance_uuid"` } func (o ServerGroupMember) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ServerGroupMember struct{}" + } + return strings.Join([]string{"ServerGroupMember", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_id.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_id.go index 49db05ee89fdd3985c19ed7ada74b7f1299f3065..416e74e3d33e465a7e9cb704583816a2b1d93994 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_id.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_id.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,15 @@ import ( // type ServerId struct { // 云服务器ID。 + Id string `json:"id"` } func (o ServerId) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ServerId struct{}" + } + return strings.Join([]string{"ServerId", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_image.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_image.go index 2596727c671deb649b436df4b3e605722c7d3b22..09fc2a784fa44c6b500ce8f75751f15714f6ba8f 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_image.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_image.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,15 @@ import ( // 弹性云服务器镜像信息。 type ServerImage struct { // 镜像id + Id string `json:"id"` } func (o ServerImage) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ServerImage struct{}" + } + return strings.Join([]string{"ServerImage", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_interface_fixed_ip.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_interface_fixed_ip.go index 1196546eb8a542a1f9b83910119d5249f6397f1d..904ee26d4f1ed9174a4f64f334939362843a3097 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_interface_fixed_ip.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_interface_fixed_ip.go @@ -1,26 +1,25 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) type ServerInterfaceFixedIp struct { // 网卡私网IP信息。 + IpAddress *string `json:"ip_address,omitempty"` // 网卡私网IP对应子网信息。 + SubnetId *string `json:"subnet_id,omitempty"` } func (o ServerInterfaceFixedIp) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ServerInterfaceFixedIp struct{}" + } + return strings.Join([]string{"ServerInterfaceFixedIp", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_limits.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_limits.go index 55aa0e810aea8ac9245771970910ff78edf1741a..c5b3eec51813e0121391825958634d33069a841a 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_limits.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_limits.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,60 +9,90 @@ import ( // type ServerLimits struct { // 镜像元数据最大的长度。 + MaxImageMeta int32 `json:"maxImageMeta"` // 可注入文件的最大个数。 + MaxPersonality int32 `json:"maxPersonality"` // 注入文件内容的最大长度(单位:Byte)。 + MaxPersonalitySize int32 `json:"maxPersonalitySize"` // 安全组中安全组规则最大的配置个数。 > 说明: - 具体配额限制请以VPC配额限制为准。 + MaxSecurityGroupRules int32 `json:"maxSecurityGroupRules"` // 安全组最大使用个数。 > 说明: - 具体配额限制请以VPC配额限制为准。 + MaxSecurityGroups int32 `json:"maxSecurityGroups"` // 服务器组中的最大虚拟机数。 + MaxServerGroupMembers int32 `json:"maxServerGroupMembers"` // 服务器组的最大个数。 + MaxServerGroups int32 `json:"maxServerGroups"` // 可输入元数据的最大长度。 + MaxServerMeta int32 `json:"maxServerMeta"` // CPU核数最大申请数量。 + MaxTotalCores int32 `json:"maxTotalCores"` // 最大的浮动IP使用个数。 + MaxTotalFloatingIps int32 `json:"maxTotalFloatingIps"` // 云服务器最大申请数量。 + MaxTotalInstances int32 `json:"maxTotalInstances"` // 可以申请的SSH密钥对最大数量。 + MaxTotalKeypairs int32 `json:"maxTotalKeypairs"` // 内存最大申请容量(单位:MB)。 + MaxTotalRAMSize int32 `json:"maxTotalRAMSize"` // 当前已使用CPU核数。 + TotalCoresUsed int32 `json:"totalCoresUsed"` // 当前浮动IP使用个数。 + TotalFloatingIpsUsed int32 `json:"totalFloatingIpsUsed"` // 当前云服务器使用个数。 + TotalInstancesUsed int32 `json:"totalInstancesUsed"` // 当前内存使用容量(单位:MB)。 + TotalRAMUsed int32 `json:"totalRAMUsed"` // 当前安全组使用个数。 + TotalSecurityGroupsUsed int32 `json:"totalSecurityGroupsUsed"` // 已使用的服务器组个数。 + TotalServerGroupsUsed int32 `json:"totalServerGroupsUsed"` // 竞价实例的最大申请数量。 + MaxTotalSpotInstances *int32 `json:"maxTotalSpotInstances,omitempty"` // 竞价实例的CPU核数最大申请数量。 + MaxTotalSpotCores *int32 `json:"maxTotalSpotCores,omitempty"` // 竞价实例的内存最大申请容量(单位:MB)。 + MaxTotalSpotRAMSize *int32 `json:"maxTotalSpotRAMSize,omitempty"` // 当前竞价实例的使用个数。 + TotalSpotInstancesUsed *int32 `json:"totalSpotInstancesUsed,omitempty"` // 当前竞价实例已使用的CPU核数。 + TotalSpotCoresUsed *int32 `json:"totalSpotCoresUsed,omitempty"` // 当前竞价实例的内存使用容量(单位:MB)。 + TotalSpotRAMUsed *int32 `json:"totalSpotRAMUsed,omitempty"` // 使用该flavor可以申请的弹性云服务器数量。 值为“-1”时,表示无数量限制。 + LimitByFlavor *[]ProjectFlavorLimit `json:"limit_by_flavor,omitempty"` } func (o ServerLimits) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ServerLimits struct{}" + } + return strings.Join([]string{"ServerLimits", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_nic_security_group.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_nic_security_group.go index 831b6c44bfba4dddc5e8b5669509657bf336365d..ebd14e71540a6082f089bd5ceac17554d4d7749e 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_nic_security_group.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_nic_security_group.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,15 @@ import ( // type ServerNicSecurityGroup struct { // 安全组ID。 + Id string `json:"id"` } func (o ServerNicSecurityGroup) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ServerNicSecurityGroup struct{}" + } + return strings.Join([]string{"ServerNicSecurityGroup", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_remote_console.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_remote_console.go index 32ac53a224e12abc4766f07d113e4fd62fe6ec6d..092947b185ed54400db7239adcea7f246e7872df 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_remote_console.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_remote_console.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,14 +9,21 @@ import ( // type ServerRemoteConsole struct { // 远程登录的协议。 + Protocol string `json:"protocol"` // 远程登录的类型。 + Type string `json:"type"` // 远程登录的url。 + Url string `json:"url"` } func (o ServerRemoteConsole) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ServerRemoteConsole struct{}" + } + return strings.Join([]string{"ServerRemoteConsole", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_scheduler_hints.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_scheduler_hints.go index 4b9892f39bf4e50339dd560115c899dd9bc509c0..44d8486439ccb9475bf92262d3132d7350e70241 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_scheduler_hints.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_scheduler_hints.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,14 +9,21 @@ import ( // 弹性云服务器调度信息。 type ServerSchedulerHints struct { // 反亲和性组信息。 UUID格式。 + Group *[]string `json:"group,omitempty"` // 在专属主机或共享池中创建弹性云服务器。默认为在共享池创建。值为: shared或dedicated。 - shared:表示共享池。 - dedicated:表示专属主机。 创建与查询此值均有效。 + Tenancy *[]string `json:"tenancy,omitempty"` // 专属主机ID。 此属性仅在tenancy值为dedicated时有效。 不指定此属性,系统将自动分配租户可自动放置弹性云服务器的专属主机。 创建与查询此值均有效。 + DedicatedHostId *[]string `json:"dedicated_host_id,omitempty"` } func (o ServerSchedulerHints) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ServerSchedulerHints struct{}" + } + return strings.Join([]string{"ServerSchedulerHints", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_security_group.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_security_group.go index 971198941d8e480bf47f3a08b1a97e278adac95b..88aa4858d9572abe072736fbff5f64371cc24636 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_security_group.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_security_group.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,12 +9,18 @@ import ( // 弹性云服务器所属安全组列表。 type ServerSecurityGroup struct { // 安全组名称或者UUID。 + Name string `json:"name"` // 安全组ID。 + Id string `json:"id"` } func (o ServerSecurityGroup) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ServerSecurityGroup struct{}" + } + return strings.Join([]string{"ServerSecurityGroup", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_system_tag.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_system_tag.go index 168e7f4607ab4c79bfc56f5c8f08b279f2792c83..61a94e98f56329f9ca119553ba49fd0d854bd135 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_system_tag.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_system_tag.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,12 +9,18 @@ import ( // 弹性云服务器系统标签。 type ServerSystemTag struct { // 系统标签的Key值。 + Key *string `json:"key,omitempty"` // 系统标签的value值。 + Value *string `json:"value,omitempty"` } func (o ServerSystemTag) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ServerSystemTag struct{}" + } + return strings.Join([]string{"ServerSystemTag", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_tag.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_tag.go index 8e0ab0e6708a8764c5ae608ce7de987ebbb5b909..0bf74840782e18c641d8fe46dedeee12cd36b4b2 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_tag.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_server_tag.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,12 +9,18 @@ import ( // 云服务器标签。 type ServerTag struct { // 键。 - 不能为空。 - 对于同一资源键值唯一。 - 长度不超过36个字符。 - 字符集:A-Z,a-z , 0-9,‘-’,‘_’,UNICODE字符(\\u4E00-\\u9FFF)。 + Key string `json:"key"` // 值。 - 长度不超过43个字符。 - 字符集:A-Z,a-z , 0-9,‘.’,‘-’,‘_’,UNICODE字符(\\u4E00-\\u9FFF)。 - 只能包含数字、字母、中划线“-”、下划线“_”。 + Value string `json:"value"` } func (o ServerTag) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ServerTag struct{}" + } + return strings.Join([]string{"ServerTag", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_job_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_job_request.go index 9a1cf7fe83e8950eb566f47ccaadcffad9c34675..89d5513204df399d1e9268bb2bb275be3a014230 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_job_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_job_request.go @@ -1,24 +1,23 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type ShowJobRequest struct { + // 异步请求的任务ID。 + JobId string `json:"job_id"` } func (o ShowJobRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ShowJobRequest struct{}" + } + return strings.Join([]string{"ShowJobRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_job_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_job_response.go index 687098ffd577a7c84f922adea80562d77bbd87c1..5111cd91266cbccde2829331e136cfdcbeffda2c 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_job_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_job_response.go @@ -1,44 +1,55 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // Response Object type ShowJobResponse struct { // 开始时间。 + BeginTime *string `json:"begin_time,omitempty"` // 查询Job的API请求出现错误时,返回的错误码。 + Code *string `json:"code,omitempty"` // 结束时间。 - EndTime *string `json:"end_time,omitempty"` + + EndTime *string `json:"end_time,omitempty"` + Entities *JobEntities `json:"entities,omitempty"` // Job执行失败时的错误码。 Job执行成功后,该值为null。 + ErrorCode *string `json:"error_code,omitempty"` // Job执行失败时的错误原因。 Job执行成功后,该值为null。 + FailReason *string `json:"fail_reason,omitempty"` // 异步请求的任务ID。 + JobId *string `json:"job_id,omitempty"` // 异步请求的任务类型。 + JobType *string `json:"job_type,omitempty"` // 查询Job的API请求出现错误时,返回的错误消息。 + Message *string `json:"message,omitempty"` // Job的状态。 - SUCCESS:成功。 - RUNNING:运行中。 - FAIL:失败。 - INIT:正在初始化。 - Status *ShowJobResponseStatus `json:"status,omitempty"` + + Status *ShowJobResponseStatus `json:"status,omitempty"` + HttpStatusCode int `json:"-"` } func (o ShowJobResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ShowJobResponse struct{}" + } + return strings.Join([]string{"ShowJobResponse", string(data)}, " ") } @@ -71,7 +82,7 @@ func GetShowJobResponseStatusEnum() ShowJobResponseStatusEnum { } func (c ShowJobResponseStatus) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *ShowJobResponseStatus) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_reset_password_flag_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_reset_password_flag_request.go index 62f72718cf07b9ce26d5171a7f1e476613909d6f..b07f629095be148aac41099c15c635fe4a2d8829 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_reset_password_flag_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_reset_password_flag_request.go @@ -1,24 +1,23 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type ShowResetPasswordFlagRequest struct { + // 云服务器ID。 + ServerId string `json:"server_id"` } func (o ShowResetPasswordFlagRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ShowResetPasswordFlagRequest struct{}" + } + return strings.Join([]string{"ShowResetPasswordFlagRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_reset_password_flag_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_reset_password_flag_response.go index 33f92f48757195372f366d252727722f6607e063..0fcb30c8388a60d82faec0cfda94647b39a43fb5 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_reset_password_flag_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_reset_password_flag_response.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type ShowResetPasswordFlagResponse struct { // 是否支持重置密码。 - True:支持一键重置密码。 - False:不支持一键重置密码。 - ResetpwdFlag *string `json:"resetpwd_flag,omitempty"` + + ResetpwdFlag *string `json:"resetpwd_flag,omitempty"` + HttpStatusCode int `json:"-"` } func (o ShowResetPasswordFlagResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ShowResetPasswordFlagResponse struct{}" + } + return strings.Join([]string{"ShowResetPasswordFlagResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_auto_recovery_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_auto_recovery_request.go new file mode 100644 index 0000000000000000000000000000000000000000..db443decebce996c34702a17bc89ef68ef047f1c --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_auto_recovery_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ShowServerAutoRecoveryRequest struct { + // 云服务器ID。 + + ServerId string `json:"server_id"` +} + +func (o ShowServerAutoRecoveryRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowServerAutoRecoveryRequest struct{}" + } + + return strings.Join([]string{"ShowServerAutoRecoveryRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_auto_recovery_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_auto_recovery_response.go new file mode 100644 index 0000000000000000000000000000000000000000..c3bdc5cde3ad9003b09cdd12967435a7653da5c3 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_auto_recovery_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ShowServerAutoRecoveryResponse struct { + // 云服务器是否配置了自动恢复动作。 - true:表示配置了自动恢复。 - false:表示没有配置自动恢复。 + + SupportAutoRecovery *string `json:"support_auto_recovery,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ShowServerAutoRecoveryResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowServerAutoRecoveryResponse struct{}" + } + + return strings.Join([]string{"ShowServerAutoRecoveryResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_block_device_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_block_device_request.go new file mode 100644 index 0000000000000000000000000000000000000000..d93dd0a9d6cf9895f1ca8585d8e3e67f6e935148 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_block_device_request.go @@ -0,0 +1,26 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ShowServerBlockDeviceRequest struct { + // 云服务器ID。 + + ServerId string `json:"server_id"` + // 云硬盘ID,UUID格式。 + + VolumeId string `json:"volume_id"` +} + +func (o ShowServerBlockDeviceRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowServerBlockDeviceRequest struct{}" + } + + return strings.Join([]string{"ShowServerBlockDeviceRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_block_device_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_block_device_response.go new file mode 100644 index 0000000000000000000000000000000000000000..9b9f68b94a11cbfec2e3019cfc218d6e8262b2b1 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_block_device_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ShowServerBlockDeviceResponse struct { + VolumeAttachment *ServerBlockDevice `json:"volumeAttachment,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ShowServerBlockDeviceResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowServerBlockDeviceResponse struct{}" + } + + return strings.Join([]string{"ShowServerBlockDeviceResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_group_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_group_request.go new file mode 100644 index 0000000000000000000000000000000000000000..0a2f3a9ccde3c63190763fccec150c3fc85ac378 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_group_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ShowServerGroupRequest struct { + // 弹性云服务器组UUID。 + + ServerGroupId string `json:"server_group_id"` +} + +func (o ShowServerGroupRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowServerGroupRequest struct{}" + } + + return strings.Join([]string{"ShowServerGroupRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_group_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_group_response.go new file mode 100644 index 0000000000000000000000000000000000000000..246d2ad56982e1d1c2f926453c641c3428948baf --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_group_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ShowServerGroupResponse struct { + ServerGroup *ShowServerGroupResult `json:"server_group,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ShowServerGroupResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowServerGroupResponse struct{}" + } + + return strings.Join([]string{"ShowServerGroupResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_group_result.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_group_result.go new file mode 100644 index 0000000000000000000000000000000000000000..fdd1b9a8ab67e1cd53aa9197039de1c2888de185 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_group_result.go @@ -0,0 +1,35 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// +type ShowServerGroupResult struct { + // 云服务器组UUID。 + + Id string `json:"id"` + // 云服务器组中包含的云服务器列表。 + + Members []string `json:"members"` + // 云服务器组元数据。 + + Metadata map[string]string `json:"metadata"` + // 云服务器组名称。 + + Name string `json:"name"` + // 与服务器组关联的策略名称列表。当前有效的策略名称为: anti-affinity -此组中的服务器必须安排到不同的主机; affinity -此组中的服务器必须安排在同一主机上; soft-anti-affinity –如果可能, 应将此组中的服务器安排到不同的主机, 但如果无法实现, 则仍应安排它们, 而不是导致生成失败; soft-affinity -如果可能, 应将此组中的服务器安排在同一主机上, 但如果无法实现, 则仍应安排它们, 而不是导致生成失败。 + + Policies []string `json:"policies"` +} + +func (o ShowServerGroupResult) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowServerGroupResult struct{}" + } + + return strings.Join([]string{"ShowServerGroupResult", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_limits_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_limits_request.go index 9b702ae101ff29c86bd372168a49d2843a1cd7f4..5a782a3e1347eb874311e58e314e4f2ea860aa81 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_limits_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_limits_request.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -18,6 +11,10 @@ type ShowServerLimitsRequest struct { } func (o ShowServerLimitsRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ShowServerLimitsRequest struct{}" + } + return strings.Join([]string{"ShowServerLimitsRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_limits_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_limits_response.go index af62a513efca9f7c994fcc1d0293e3cd3d23fe8a..d0b35f50a4a425f89008bef2fd4c6454d24885ae 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_limits_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_limits_response.go @@ -1,24 +1,22 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type ShowServerLimitsResponse struct { - Absolute *ServerLimits `json:"absolute,omitempty"` + Absolute *ServerLimits `json:"absolute,omitempty"` + HttpStatusCode int `json:"-"` } func (o ShowServerLimitsResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ShowServerLimitsResponse struct{}" + } + return strings.Join([]string{"ShowServerLimitsResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_password_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_password_request.go new file mode 100644 index 0000000000000000000000000000000000000000..6cc1f385af1a36950244aa0ccbc422a3b2f69c93 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_password_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type ShowServerPasswordRequest struct { + // 云服务器ID。 + + ServerId string `json:"server_id"` +} + +func (o ShowServerPasswordRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowServerPasswordRequest struct{}" + } + + return strings.Join([]string{"ShowServerPasswordRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_password_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_password_response.go new file mode 100644 index 0000000000000000000000000000000000000000..3bb1b32cfc485292d078950f6a3bc6826aba526d --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_password_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type ShowServerPasswordResponse struct { + // 加密后的密码。 + + Password *string `json:"password,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ShowServerPasswordResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowServerPasswordResponse struct{}" + } + + return strings.Join([]string{"ShowServerPasswordResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_remote_console_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_remote_console_request.go index c75922bfb693ce884cdaef4916995f6232eb1888..503a6cd0287bdb667703b16b2f7eec0d8c672a03 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_remote_console_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_remote_console_request.go @@ -1,25 +1,25 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type ShowServerRemoteConsoleRequest struct { - ServerId string `json:"server_id"` - Body *ShowServerRemoteConsoleRequestBody `json:"body,omitempty"` + // 云服务器ID。 + + ServerId string `json:"server_id"` + + Body *ShowServerRemoteConsoleRequestBody `json:"body,omitempty"` } func (o ShowServerRemoteConsoleRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ShowServerRemoteConsoleRequest struct{}" + } + return strings.Join([]string{"ShowServerRemoteConsoleRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_remote_console_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_remote_console_request_body.go index 6da538a37961c035c7a2af540bd62eb281e362f9..d6a1047d99b05bc536fdd534befc6f26f9c7c89d 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_remote_console_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_remote_console_request_body.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -19,6 +12,10 @@ type ShowServerRemoteConsoleRequestBody struct { } func (o ShowServerRemoteConsoleRequestBody) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ShowServerRemoteConsoleRequestBody struct{}" + } + return strings.Join([]string{"ShowServerRemoteConsoleRequestBody", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_remote_console_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_remote_console_response.go index ca847eaa14f2f781ca1ce48125e33d71f8bab77f..c987269ef4b093208f9a683eae207c4764f8490f 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_remote_console_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_remote_console_response.go @@ -1,24 +1,22 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type ShowServerRemoteConsoleResponse struct { - RemoteConsole *ServerRemoteConsole `json:"remote_console,omitempty"` + RemoteConsole *ServerRemoteConsole `json:"remote_console,omitempty"` + HttpStatusCode int `json:"-"` } func (o ShowServerRemoteConsoleResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ShowServerRemoteConsoleResponse struct{}" + } + return strings.Join([]string{"ShowServerRemoteConsoleResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_request.go index 270168281a5d8474781b4fa523026a3bf87a5985..68f7ef9d697715b643c165742b5290c9ee70c520 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_request.go @@ -1,24 +1,23 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type ShowServerRequest struct { + // 云服务器ID。 + ServerId string `json:"server_id"` } func (o ShowServerRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ShowServerRequest struct{}" + } + return strings.Join([]string{"ShowServerRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_response.go index 643aa1a2ad79e27e2de7336fdf195be72971d783..872307045ff02f5a448055c28526d25a318c2b7a 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_response.go @@ -1,24 +1,22 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type ShowServerResponse struct { - Server *ServerDetail `json:"server,omitempty"` + Server *ServerDetail `json:"server,omitempty"` + HttpStatusCode int `json:"-"` } func (o ShowServerResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ShowServerResponse struct{}" + } + return strings.Join([]string{"ShowServerResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_tags_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_tags_request.go index 35436d2d2ae357dd5fe973853437f7cc9273ae36..308ebdfbf47d354ed77c4a52b70bbef53807357d 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_tags_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_tags_request.go @@ -1,24 +1,23 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type ShowServerTagsRequest struct { + // 云服务器ID。 + ServerId string `json:"server_id"` } func (o ShowServerTagsRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ShowServerTagsRequest struct{}" + } + return strings.Join([]string{"ShowServerTagsRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_tags_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_tags_response.go index 37eed2342cf0e9f3696de77bd4aa38f766501352..e7ca1aab474b80d8a05e82c10c0f73476e7cbb3c 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_tags_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_show_server_tags_response.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type ShowServerTagsResponse struct { // 标签列表 - Tags *[]ServerTag `json:"tags,omitempty"` + + Tags *[]ServerTag `json:"tags,omitempty"` + HttpStatusCode int `json:"-"` } func (o ShowServerTagsResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "ShowServerTagsResponse struct{}" + } + return strings.Join([]string{"ShowServerTagsResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_simple_flavor.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_simple_flavor.go index 9099cde9b606a430fff16a7fc929168ed0c2e60e..60ec1448057ecb684d0b63946aa77761e99a9370 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_simple_flavor.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_simple_flavor.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,12 +9,18 @@ import ( // 云服务器规格。 type SimpleFlavor struct { // 云服务器规格的ID。 + Id string `json:"id"` // 规格相关快捷链接地址。 + Links []Link `json:"links"` } func (o SimpleFlavor) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "SimpleFlavor struct{}" + } + return strings.Join([]string{"SimpleFlavor", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_sub_job.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_sub_job.go index 4b40f04cd2265dfeb4277d381d844326248b35aa..28a6f5e7e5fa375f1ff63b26c1757b74cb45ef2f 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_sub_job.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_sub_job.go @@ -1,40 +1,48 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + "errors" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" ) // type SubJob struct { // Job的状态。 - SUCCESS:成功。 - RUNNING:运行中。 - FAIL:失败。 - INIT:正在初始化。 - Status *SubJobStatus `json:"status,omitempty"` + + Status *SubJobStatus `json:"status,omitempty"` + Entities *SubJobEntities `json:"entities,omitempty"` // 子任务的ID。 + JobId *string `json:"job_id,omitempty"` // 子任务的类型。 + JobType *string `json:"job_type,omitempty"` // 开始时间。 + BeginTime *string `json:"begin_time,omitempty"` // 结束时间。 + EndTime *string `json:"end_time,omitempty"` // Job执行失败时的错误码。 Job执行成功后,该值为null。 + ErrorCode *string `json:"error_code,omitempty"` // Job执行失败时的错误原因。 Job执行成功后,该值为null。 + FailReason *string `json:"fail_reason,omitempty"` } func (o SubJob) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "SubJob struct{}" + } + return strings.Join([]string{"SubJob", string(data)}, " ") } @@ -67,7 +75,7 @@ func GetSubJobStatusEnum() SubJobStatusEnum { } func (c SubJobStatus) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) + return utils.Marshal(c.value) } func (c *SubJobStatus) UnmarshalJSON(b []byte) error { diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_sub_job_entities.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_sub_job_entities.go index 6c22537701ad7f978315b4c269d82005f6a89b1a..1dc39e5fa77bbde007c6acde556094f6e89f7ef8 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_sub_job_entities.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_sub_job_entities.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,14 +9,21 @@ import ( // type SubJobEntities struct { // 云服务器相关操作显示server_id。 + ServerId *string `json:"server_id,omitempty"` // 网卡相关操作显示nic_id。 + NicId *string `json:"nic_id,omitempty"` // 子任务执行失败的具体原因。 + ErrorcodeMessage *string `json:"errorcode_message,omitempty"` } func (o SubJobEntities) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "SubJobEntities struct{}" + } + return strings.Join([]string{"SubJobEntities", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_address.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_address.go index 0f05cc422020153e96066114e9bbe43bb6b473ec..284443e14fc9bf47aa068bdfb13a14aed6af2c4c 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_address.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_address.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,12 +9,18 @@ import ( // 弹性云服务器的网络属性。 type UpdateServerAddress struct { // IP地址版本。 - 4:代表IPv4。 - 6:代表IPv6。 + Version int32 `json:"version"` // IP地址。 + Addr string `json:"addr"` } func (o UpdateServerAddress) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "UpdateServerAddress struct{}" + } + return strings.Join([]string{"UpdateServerAddress", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_auto_terminate_time_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_auto_terminate_time_request.go new file mode 100644 index 0000000000000000000000000000000000000000..19587cbde9bdb81d83a6c25ffab773b7ba735faa --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_auto_terminate_time_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Request Object +type UpdateServerAutoTerminateTimeRequest struct { + // 云服务器ID。 + + ServerId string `json:"server_id"` + + Body *UpdateServerAutoTerminateTimeRequestBody `json:"body,omitempty"` +} + +func (o UpdateServerAutoTerminateTimeRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateServerAutoTerminateTimeRequest struct{}" + } + + return strings.Join([]string{"UpdateServerAutoTerminateTimeRequest", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_auto_terminate_time_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_auto_terminate_time_request_body.go new file mode 100644 index 0000000000000000000000000000000000000000..87a6c75a2d91967013440b912b705b880cf62371 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_auto_terminate_time_request_body.go @@ -0,0 +1,23 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// This is a auto create Body Object +type UpdateServerAutoTerminateTimeRequestBody struct { + // 销毁时间 + + AutoTerminateTime string `json:"auto_terminate_time"` +} + +func (o UpdateServerAutoTerminateTimeRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateServerAutoTerminateTimeRequestBody struct{}" + } + + return strings.Join([]string{"UpdateServerAutoTerminateTimeRequestBody", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_auto_terminate_time_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_auto_terminate_time_response.go new file mode 100644 index 0000000000000000000000000000000000000000..ec6b2404655fcda583bd4f3ee8f6cc6dd337d073 --- /dev/null +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_auto_terminate_time_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Response Object +type UpdateServerAutoTerminateTimeResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o UpdateServerAutoTerminateTimeResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateServerAutoTerminateTimeResponse struct{}" + } + + return strings.Join([]string{"UpdateServerAutoTerminateTimeResponse", string(data)}, " ") +} diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_metadata_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_metadata_request.go index 1d4d8fd751618f7385e4e29c20e7f775f90eeb69..ef3439e6d67fdc9ab6dae1bdacfc6979c48dce3d 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_metadata_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_metadata_request.go @@ -1,25 +1,25 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type UpdateServerMetadataRequest struct { - ServerId string `json:"server_id"` - Body *UpdateServerMetadataRequestBody `json:"body,omitempty"` + // 云服务器ID。 + + ServerId string `json:"server_id"` + + Body *UpdateServerMetadataRequestBody `json:"body,omitempty"` } func (o UpdateServerMetadataRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "UpdateServerMetadataRequest struct{}" + } + return strings.Join([]string{"UpdateServerMetadataRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_metadata_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_metadata_request_body.go index 50f44f7aa2a9abe52982dd3408f70c230e6b27df..18c77a52b44a4f75045caa81c973438bd0ee94c6 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_metadata_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_metadata_request_body.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,15 @@ import ( // This is a auto create Body Object type UpdateServerMetadataRequestBody struct { // 用户自定义metadata键值对。 结构体允许为空,取值为空时不更新数据。 键。最大长度255个Unicode字符,不能为空。可以为大写字母(A-Z)、小写字母(a-z)、数字(0-9)、中划线(-)、下划线(_)、冒号(:)和小数点(.)。 值。最大长度为255个Unicode字符。 + Metadata map[string]string `json:"metadata"` } func (o UpdateServerMetadataRequestBody) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "UpdateServerMetadataRequestBody struct{}" + } + return strings.Join([]string{"UpdateServerMetadataRequestBody", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_metadata_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_metadata_response.go index ee63db1932caff2b80561f5d940d41716e759420..2d4009a6303f2247ce2a57c7c17999eccdc9ee44 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_metadata_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_metadata_response.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,10 +9,16 @@ import ( // Response Object type UpdateServerMetadataResponse struct { // 用户自定义metadata键值对。 - Metadata map[string]string `json:"metadata,omitempty"` + + Metadata map[string]string `json:"metadata,omitempty"` + HttpStatusCode int `json:"-"` } func (o UpdateServerMetadataResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "UpdateServerMetadataResponse struct{}" + } + return strings.Join([]string{"UpdateServerMetadataResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_option.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_option.go index ea310d7025bff0bf602099d334fc2fb812a11af6..61182baec56eed8b467ce1216455eb4547489cb7 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_option.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_option.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,14 +9,21 @@ import ( // 更新云服务器Body体。 type UpdateServerOption struct { // 修改后的云服务器名称。 只能由中文字符、英文字母、数字及“_”、“-”、“.”组成,且长度为[1-64]个字符。 + Name *string `json:"name,omitempty"` // 对弹性云服务器的任意描述。 不能包含“<”,“>”,且长度范围为[0-85]个字符。 + Description *string `json:"description,omitempty"` // 修改云服务hostname。 命令规范:长度为 [1-64] 个字符,允许使用点号(.)分隔字符成多段,每段允许使用大小写字母、数字或连字符(-),但不能连续使用点号(.)或连字符(-),不能以点号(.)或连字符(-)开头或结尾,不能出现(.-)和(-.)。 + Hostname *string `json:"hostname,omitempty"` } func (o UpdateServerOption) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "UpdateServerOption struct{}" + } + return strings.Join([]string{"UpdateServerOption", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_request.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_request.go index f797cda0b04172f25423c2788f7e56509fe60e24..6fcb488cd8a4be31621f4b72a00eaa1c85e44fdf 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_request.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_request.go @@ -1,25 +1,25 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Request Object type UpdateServerRequest struct { - ServerId string `json:"server_id"` - Body *UpdateServerRequestBody `json:"body,omitempty"` + // 云服务器ID。 + + ServerId string `json:"server_id"` + + Body *UpdateServerRequestBody `json:"body,omitempty"` } func (o UpdateServerRequest) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "UpdateServerRequest struct{}" + } + return strings.Join([]string{"UpdateServerRequest", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_request_body.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_request_body.go index c72fa53dc67e61d94d31cc12c6ac78b262b5daad..f93917d59a7a8a86cabe052f0d60f036247e96f3 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_request_body.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_request_body.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -19,6 +12,10 @@ type UpdateServerRequestBody struct { } func (o UpdateServerRequestBody) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "UpdateServerRequestBody struct{}" + } + return strings.Join([]string{"UpdateServerRequestBody", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_response.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_response.go index fc68ed4dc5581670f797020835a3b6fd749ad4dd..6c1cccbd9deb564683d410ffed279c71c966f997 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_response.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_response.go @@ -1,24 +1,22 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) // Response Object type UpdateServerResponse struct { - Server *UpdateServerResult `json:"server,omitempty"` + Server *UpdateServerResult `json:"server,omitempty"` + HttpStatusCode int `json:"-"` } func (o UpdateServerResponse) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "UpdateServerResponse struct{}" + } + return strings.Join([]string{"UpdateServerResponse", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_result.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_result.go index 29884a5ba7ed109145984f7d64287ee1a8e3adea..1873df8a3d5f674cf6915f96f477deac52c3bd98 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_result.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2/model/model_update_server_result.go @@ -1,14 +1,7 @@ -/* - * ecs - * - * ECS Open API - * - */ - package model import ( - "encoding/json" + "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/utils" "strings" ) @@ -16,49 +9,74 @@ import ( // 云服务器详情。 type UpdateServerResult struct { // 项目ID。 + TenantId string `json:"tenant_id"` // 镜像ID。 + Image string `json:"image"` // 预留属性。 + AccessIPv4 string `json:"accessIPv4"` // 预留属性。 + AccessIPv6 string `json:"accessIPv6"` // 云服务器元数据。 + Metadata map[string]string `json:"metadata"` // 弹性云服务器的网络属性。 + Addresses map[string][]UpdateServerAddress `json:"addresses"` // 弹性云服务器创建时间。 时间格式例如:2019-05-22T03:19:19Z + Created string `json:"created"` // 弹性云服务器所在主机的主机ID。 - HostId string `json:"hostId"` + + HostId string `json:"hostId"` + Flavor *SimpleFlavor `json:"flavor"` // 扩展属性, diskConfig的类型。 - MANUAL,镜像空间不会扩展。 - AUTO,系统盘镜像空间会自动扩展为与flavor大小一致。 + OSDCFdiskConfig *string `json:"OS-DCF:diskConfig,omitempty"` // 创建弹性云服务器的用户ID,格式为UUID。 + UserId string `json:"user_id"` // 弹性云服务器名称。 + Name string `json:"name"` // 弹性云服务器进度。 + Progress int32 `json:"progress"` // 云服务器相关标记快捷链接信息。 + Links []Link `json:"links"` // 弹性云服务器ID,格式为UUID。 + Id string `json:"id"` // 弹性云服务器更新时间。 时间格式例如:2019-05-22T03:30:52Z + Updated string `json:"updated"` // 弹性云服务器是否为锁定状态。 - true:锁定 - false:未锁定 + Locked *bool `json:"locked,omitempty"` // 弹性云服务器的描述信息。 + Description *string `json:"description,omitempty"` // 云服务器的标签列表。 微版本2.26后支持,如果不使用微版本查询,响应中无tags字段。 系统近期对标签功能进行了升级,升级后,返回的tag值遵循如下规则: - key与value使用“=”连接,如“key=value”。 - 如果value为空字符串,则仅返回key。 - key与value使用“=”连接,如“key=value”。 - 如果value为空字符串,则仅返回key。 + Tags []string `json:"tags"` - // 弹性云服务器状态。 取值范围: ACTIVE、BUILD、DELETED、ERROR、HARD_REBOOT、MIGRATING、PAUSED、REBOOT、REBUILD、RESIZE、REVERT_RESIZE、SHUTOFF、SHELVED、SHELVED_OFFLOADED、SOFT_DELETED、SUSPENDED、VERIFY_RESIZE + // 弹性云服务器状态。 取值范围: ACTIVE、BUILD、DELETED、ERROR、HARD_REBOOT、MIGRATING、PAUSED、REBOOT、REBUILD、RESIZE、REVERT_RESIZE、SHUTOFF、SHELVED、SHELVED_OFFLOADED、SOFT_DELETED、SUSPENDED、VERIFY_RESIZE 弹性云服务器状态说明请参考[云服务器状态](https://support.huaweicloud.com/api-ecs/ecs_08_0002.html) + Status string `json:"status"` // 弹性云服务器的主机名。 + OSEXTSRVATTRhostname string `json:"OS-EXT-SRV-ATTR:hostname"` } func (o UpdateServerResult) String() string { - data, _ := json.Marshal(o) + data, err := utils.Marshal(o) + if err != nil { + return "UpdateServerResult struct{}" + } + return strings.Join([]string{"UpdateServerResult", string(data)}, " ") } diff --git a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud_service_manager.go b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud_service_manager.go index 23d1741e96a34d4dab3e93e175af8147c1b58309..bd4f5bd409cca071ac47a55030f496f9f46373ed 100644 --- a/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud_service_manager.go +++ b/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud_service_manager.go @@ -28,7 +28,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/autoscaler/cluster-autoscaler/cloudprovider" - "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" huaweicloudsdkas "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1" huaweicloudsdkasmodel "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/as/v1/model" huaweicloudsdkecs "k8s.io/autoscaler/cluster-autoscaler/cloudprovider/huaweicloud/huaweicloud-sdk-go-v3/services/ecs/v2" @@ -243,17 +242,18 @@ func (csm *cloudServiceManager) GetInstances(groupID string) ([]cloudprovider.In func (csm *cloudServiceManager) DeleteScalingInstances(groupID string, instanceIds []string) error { asClient := csm.getASClientFunc() - instanceDelete := "yes" - opts := &huaweicloudsdkasmodel.UpdateScalingGroupInstanceRequest{ + instanceDeleteBatchRemoveInstancesOption := huaweicloudsdkasmodel.GetBatchRemoveInstancesOptionInstanceDeleteEnum().YES + + opts := &huaweicloudsdkasmodel.BatchRemoveScalingInstancesRequest{ ScalingGroupId: groupID, - Body: &huaweicloudsdkasmodel.UpdateScalingGroupInstanceRequestBody{ + Body: &huaweicloudsdkasmodel.BatchRemoveInstancesOption{ InstancesId: instanceIds, - InstanceDelete: &instanceDelete, - Action: huaweicloudsdkasmodel.GetUpdateScalingGroupInstanceRequestBodyActionEnum().REMOVE, + InstanceDelete: &instanceDeleteBatchRemoveInstancesOption, + Action: huaweicloudsdkasmodel.GetBatchRemoveInstancesOptionActionEnum().REMOVE, }, } - _, err := asClient.UpdateScalingGroupInstance(opts) + _, err := asClient.BatchRemoveScalingInstances(opts) if err != nil { klog.Errorf("failed to delete scaling instances. group: %s, error: %v", groupID, err) @@ -275,19 +275,18 @@ func (csm *cloudServiceManager) IncreaseSizeInstance(groupID string, delta int) } // create a scaling policy - launchTime := sdktime.SdkTime(time.Now().Add(time.Hour)) - addOperation := huaweicloudsdkasmodel.GetScalingPolicyActionOperationEnum().ADD + addOperation := huaweicloudsdkasmodel.GetScalingPolicyActionV1OperationEnum().ADD instanceNum := int32(delta) opts := &huaweicloudsdkasmodel.CreateScalingPolicyRequest{ - Body: &huaweicloudsdkasmodel.CreateScalingPolicyRequestBody{ + Body: &huaweicloudsdkasmodel.CreateScalingPolicyOption{ // It's not mandatory for AS service to set a unique policy name. ScalingPolicyName: "huaweicloudautoscaler", ScalingGroupId: groupID, - ScalingPolicyType: huaweicloudsdkasmodel.GetCreateScalingPolicyRequestBodyScalingPolicyTypeEnum().SCHEDULED, + ScalingPolicyType: huaweicloudsdkasmodel.GetCreateScalingPolicyOptionScalingPolicyTypeEnum().SCHEDULED, ScheduledPolicy: &huaweicloudsdkasmodel.ScheduledPolicy{ - LaunchTime: &launchTime, + LaunchTime: time.Now().Add(time.Hour).UTC().Format("2006-01-02T15:04Z"), }, - ScalingPolicyAction: &huaweicloudsdkasmodel.ScalingPolicyAction{ + ScalingPolicyAction: &huaweicloudsdkasmodel.ScalingPolicyActionV1{ Operation: &addOperation, InstanceNumber: &instanceNum, }, @@ -306,11 +305,11 @@ func (csm *cloudServiceManager) IncreaseSizeInstance(groupID string, delta int) defer csm.deleteScalingPolicy(deletePolicyOps) // execute policy immediately - executeAction := huaweicloudsdkasmodel.GetExecuteScalingPolicyRequestBodyActionEnum() + executeAction := huaweicloudsdkasmodel.GetExecuteScalingPolicyOptionActionEnum().EXECUTE executeOpts := &huaweicloudsdkasmodel.ExecuteScalingPolicyRequest{ ScalingPolicyId: spID, - Body: &huaweicloudsdkasmodel.ExecuteScalingPolicyRequestBody{ - Action: &executeAction.EXECUTE, + Body: &huaweicloudsdkasmodel.ExecuteScalingPolicyOption{ + Action: executeAction, }, } err = csm.executeScalingPolicy(executeOpts)