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

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

type iDescribeAtiAgentRegisterInfoRequest interface {
	dara.Model
	String() string
	GoString() string
	SetAgentRegisterInfoId(v string) *DescribeAtiAgentRegisterInfoRequest
	GetAgentRegisterInfoId() *string
	SetClientToken(v string) *DescribeAtiAgentRegisterInfoRequest
	GetClientToken() *string
}

type DescribeAtiAgentRegisterInfoRequest struct {
	// The Agent registration ID. This ID is automatically generated by the Alibaba Cloud ATS platform and is globally unique within the platform. It is automatically generated during the Agent registration process. In the multi-step registration process through the API, this ID must be carried throughout all steps to ensure that each step is associated with the same Agent and the complete registration process is completed.
	//
	// This parameter is required.
	//
	// example:
	//
	// 2074753647748672512
	AgentRegisterInfoId *string `json:"AgentRegisterInfoId,omitempty" xml:"AgentRegisterInfoId,omitempty"`
	// The client token that is used to ensure the idempotency 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. If you do not specify this parameter, the system automatically uses the value of RequestId as the value of ClientToken. The value of RequestId for each API request may be different.
	//
	// example:
	//
	// eyJhbGciOiJIUzI1NiIsInR5cC.....
	ClientToken *string `json:"ClientToken,omitempty" xml:"ClientToken,omitempty"`
}

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

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

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

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

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

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

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