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

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

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

type CreateAtiAgentRegisterInfoAcmeChallengeRecordRequest 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 API registration and query process, this ID must be carried throughout. Call the ListAtiAgentRegisterInfos operation to query the target agent and obtain the AgentRegisterInfoId from the response.
	//
	// This parameter is required.
	//
	// example:
	//
	// 2074031103110331392
	AgentRegisterInfoId *string `json:"AgentRegisterInfoId,omitempty" xml:"AgentRegisterInfoId,omitempty"`
	// Ensures the idempotency of the request. Generate a unique parameter value from your client to ensure uniqueness across different requests. ClientToken supports only ASCII characters and cannot exceed 64 characters.
	//
	// > If you do not specify this parameter, the system automatically uses the RequestId of the API request as the ClientToken. The RequestId may differ for each API request.
	//
	// example:
	//
	// eyJhbGciOiJIUzI1NiIsInR5cC.....
	ClientToken *string `json:"ClientToken,omitempty" xml:"ClientToken,omitempty"`
}

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

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

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

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

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

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

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