// This file is auto-generated, don't edit it. Thanks.
package client

import (
	"github.com/alibabacloud-go/tea/dara"
)

type iUpdateAtiAgentRegisterInfoShrinkRequest interface {
	dara.Model
	String() string
	GoString() string
	SetAgentDescription(v string) *UpdateAtiAgentRegisterInfoShrinkRequest
	GetAgentDescription() *string
	SetAgentDisplayName(v string) *UpdateAtiAgentRegisterInfoShrinkRequest
	GetAgentDisplayName() *string
	SetAgentHost(v string) *UpdateAtiAgentRegisterInfoShrinkRequest
	GetAgentHost() *string
	SetAgentRegisterInfoId(v string) *UpdateAtiAgentRegisterInfoShrinkRequest
	GetAgentRegisterInfoId() *string
	SetAgentSubHost(v string) *UpdateAtiAgentRegisterInfoShrinkRequest
	GetAgentSubHost() *string
	SetAgentVersion(v string) *UpdateAtiAgentRegisterInfoShrinkRequest
	GetAgentVersion() *string
	SetClientToken(v string) *UpdateAtiAgentRegisterInfoShrinkRequest
	GetClientToken() *string
	SetDomainMode(v string) *UpdateAtiAgentRegisterInfoShrinkRequest
	GetDomainMode() *string
	SetEndpointsShrink(v string) *UpdateAtiAgentRegisterInfoShrinkRequest
	GetEndpointsShrink() *string
	SetRegistrantId(v string) *UpdateAtiAgentRegisterInfoShrinkRequest
	GetRegistrantId() *string
}

type UpdateAtiAgentRegisterInfoShrinkRequest struct {
	// The capability description of the Agent.
	//
	// example:
	//
	// 支付服务
	AgentDescription *string `json:"AgentDescription,omitempty" xml:"AgentDescription,omitempty"`
	// The display name of the Agent.
	//
	// example:
	//
	// 测试Agent
	AgentDisplayName *string `json:"AgentDisplayName,omitempty" xml:"AgentDisplayName,omitempty"`
	// The host address of the Agent.
	//
	// example:
	//
	// example.com
	AgentHost *string `json:"AgentHost,omitempty" xml:"AgentHost,omitempty"`
	// The Agent registration ID. This ID is automatically generated by the Alibaba Cloud ATS platform and is globally unique within the platform. The ID is automatically generated during the Agent registration process. In API-based registration and query workflows, this ID must be included throughout the entire process. Call the ListAtiAgentRegisterInfos operation to query the target Agent and obtain the AgentRegisterInfoId from the response.
	//
	// example:
	//
	// 2074753647748672512
	AgentRegisterInfoId *string `json:"AgentRegisterInfoId,omitempty" xml:"AgentRegisterInfoId,omitempty"`
	AgentSubHost        *string `json:"AgentSubHost,omitempty" xml:"AgentSubHost,omitempty"`
	// The version of the Agent.
	//
	// example:
	//
	// 1.0.0
	AgentVersion *string `json:"AgentVersion,omitempty" xml:"AgentVersion,omitempty"`
	// The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.
	//
	// If you do not specify this parameter, the system automatically uses the RequestId of the API request as the ClientToken. The RequestId may be different for each API request.
	//
	// example:
	//
	// eyJhbGciOiJIUzI1NiIsInR5cC.....
	ClientToken *string `json:"ClientToken,omitempty" xml:"ClientToken,omitempty"`
	DomainMode  *string `json:"DomainMode,omitempty" xml:"DomainMode,omitempty"`
	// The endpoints for each protocol.
	//
	// example:
	//
	// https://example.com/mcp
	EndpointsShrink *string `json:"Endpoints,omitempty" xml:"Endpoints,omitempty"`
	// The ID of the real-name verified registrant.
	//
	// example:
	//
	// 2072277378616354816
	RegistrantId *string `json:"RegistrantId,omitempty" xml:"RegistrantId,omitempty"`
}

func (s UpdateAtiAgentRegisterInfoShrinkRequest) String() string {
	return dara.Prettify(s)
}

func (s UpdateAtiAgentRegisterInfoShrinkRequest) GoString() string {
	return s.String()
}

func (s *UpdateAtiAgentRegisterInfoShrinkRequest) GetAgentDescription() *string {
	return s.AgentDescription
}

func (s *UpdateAtiAgentRegisterInfoShrinkRequest) GetAgentDisplayName() *string {
	return s.AgentDisplayName
}

func (s *UpdateAtiAgentRegisterInfoShrinkRequest) GetAgentHost() *string {
	return s.AgentHost
}

func (s *UpdateAtiAgentRegisterInfoShrinkRequest) GetAgentRegisterInfoId() *string {
	return s.AgentRegisterInfoId
}

func (s *UpdateAtiAgentRegisterInfoShrinkRequest) GetAgentSubHost() *string {
	return s.AgentSubHost
}

func (s *UpdateAtiAgentRegisterInfoShrinkRequest) GetAgentVersion() *string {
	return s.AgentVersion
}

func (s *UpdateAtiAgentRegisterInfoShrinkRequest) GetClientToken() *string {
	return s.ClientToken
}

func (s *UpdateAtiAgentRegisterInfoShrinkRequest) GetDomainMode() *string {
	return s.DomainMode
}

func (s *UpdateAtiAgentRegisterInfoShrinkRequest) GetEndpointsShrink() *string {
	return s.EndpointsShrink
}

func (s *UpdateAtiAgentRegisterInfoShrinkRequest) GetRegistrantId() *string {
	return s.RegistrantId
}

func (s *UpdateAtiAgentRegisterInfoShrinkRequest) SetAgentDescription(v string) *UpdateAtiAgentRegisterInfoShrinkRequest {
	s.AgentDescription = &v
	return s
}

func (s *UpdateAtiAgentRegisterInfoShrinkRequest) SetAgentDisplayName(v string) *UpdateAtiAgentRegisterInfoShrinkRequest {
	s.AgentDisplayName = &v
	return s
}

func (s *UpdateAtiAgentRegisterInfoShrinkRequest) SetAgentHost(v string) *UpdateAtiAgentRegisterInfoShrinkRequest {
	s.AgentHost = &v
	return s
}

func (s *UpdateAtiAgentRegisterInfoShrinkRequest) SetAgentRegisterInfoId(v string) *UpdateAtiAgentRegisterInfoShrinkRequest {
	s.AgentRegisterInfoId = &v
	return s
}

func (s *UpdateAtiAgentRegisterInfoShrinkRequest) SetAgentSubHost(v string) *UpdateAtiAgentRegisterInfoShrinkRequest {
	s.AgentSubHost = &v
	return s
}

func (s *UpdateAtiAgentRegisterInfoShrinkRequest) SetAgentVersion(v string) *UpdateAtiAgentRegisterInfoShrinkRequest {
	s.AgentVersion = &v
	return s
}

func (s *UpdateAtiAgentRegisterInfoShrinkRequest) SetClientToken(v string) *UpdateAtiAgentRegisterInfoShrinkRequest {
	s.ClientToken = &v
	return s
}

func (s *UpdateAtiAgentRegisterInfoShrinkRequest) SetDomainMode(v string) *UpdateAtiAgentRegisterInfoShrinkRequest {
	s.DomainMode = &v
	return s
}

func (s *UpdateAtiAgentRegisterInfoShrinkRequest) SetEndpointsShrink(v string) *UpdateAtiAgentRegisterInfoShrinkRequest {
	s.EndpointsShrink = &v
	return s
}

func (s *UpdateAtiAgentRegisterInfoShrinkRequest) SetRegistrantId(v string) *UpdateAtiAgentRegisterInfoShrinkRequest {
	s.RegistrantId = &v
	return s
}

func (s *UpdateAtiAgentRegisterInfoShrinkRequest) Validate() error {
	return dara.Validate(s)
}
