/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace CloudControlApi { namespace Model { /** */ class ListResourcesRequest : public CloudControlApiRequest { public: AWS_CLOUDCONTROLAPI_API ListResourcesRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "ListResources"; } AWS_CLOUDCONTROLAPI_API Aws::String SerializePayload() const override; AWS_CLOUDCONTROLAPI_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the resource type.

*/ inline const Aws::String& GetTypeName() const{ return m_typeName; } /** *

The name of the resource type.

*/ inline bool TypeNameHasBeenSet() const { return m_typeNameHasBeenSet; } /** *

The name of the resource type.

*/ inline void SetTypeName(const Aws::String& value) { m_typeNameHasBeenSet = true; m_typeName = value; } /** *

The name of the resource type.

*/ inline void SetTypeName(Aws::String&& value) { m_typeNameHasBeenSet = true; m_typeName = std::move(value); } /** *

The name of the resource type.

*/ inline void SetTypeName(const char* value) { m_typeNameHasBeenSet = true; m_typeName.assign(value); } /** *

The name of the resource type.

*/ inline ListResourcesRequest& WithTypeName(const Aws::String& value) { SetTypeName(value); return *this;} /** *

The name of the resource type.

*/ inline ListResourcesRequest& WithTypeName(Aws::String&& value) { SetTypeName(std::move(value)); return *this;} /** *

The name of the resource type.

*/ inline ListResourcesRequest& WithTypeName(const char* value) { SetTypeName(value); return *this;} /** *

For private resource types, the type version to use in this resource * operation. If you do not specify a resource version, CloudFormation uses the * default version.

*/ inline const Aws::String& GetTypeVersionId() const{ return m_typeVersionId; } /** *

For private resource types, the type version to use in this resource * operation. If you do not specify a resource version, CloudFormation uses the * default version.

*/ inline bool TypeVersionIdHasBeenSet() const { return m_typeVersionIdHasBeenSet; } /** *

For private resource types, the type version to use in this resource * operation. If you do not specify a resource version, CloudFormation uses the * default version.

*/ inline void SetTypeVersionId(const Aws::String& value) { m_typeVersionIdHasBeenSet = true; m_typeVersionId = value; } /** *

For private resource types, the type version to use in this resource * operation. If you do not specify a resource version, CloudFormation uses the * default version.

*/ inline void SetTypeVersionId(Aws::String&& value) { m_typeVersionIdHasBeenSet = true; m_typeVersionId = std::move(value); } /** *

For private resource types, the type version to use in this resource * operation. If you do not specify a resource version, CloudFormation uses the * default version.

*/ inline void SetTypeVersionId(const char* value) { m_typeVersionIdHasBeenSet = true; m_typeVersionId.assign(value); } /** *

For private resource types, the type version to use in this resource * operation. If you do not specify a resource version, CloudFormation uses the * default version.

*/ inline ListResourcesRequest& WithTypeVersionId(const Aws::String& value) { SetTypeVersionId(value); return *this;} /** *

For private resource types, the type version to use in this resource * operation. If you do not specify a resource version, CloudFormation uses the * default version.

*/ inline ListResourcesRequest& WithTypeVersionId(Aws::String&& value) { SetTypeVersionId(std::move(value)); return *this;} /** *

For private resource types, the type version to use in this resource * operation. If you do not specify a resource version, CloudFormation uses the * default version.

*/ inline ListResourcesRequest& WithTypeVersionId(const char* value) { SetTypeVersionId(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role for Cloud Control API to use when performing this resource operation. The * role specified must have the permissions required for this operation. The * necessary permissions for each event handler are defined in the handlers * section of the resource * type definition schema.

If you do not specify a role, Cloud Control * API uses a temporary session created using your Amazon Web Services user * credentials.

For more information, see Specifying * credentials in the Amazon Web Services Cloud Control API User * Guide.

*/ inline const Aws::String& GetRoleArn() const{ return m_roleArn; } /** *

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role for Cloud Control API to use when performing this resource operation. The * role specified must have the permissions required for this operation. The * necessary permissions for each event handler are defined in the handlers * section of the resource * type definition schema.

If you do not specify a role, Cloud Control * API uses a temporary session created using your Amazon Web Services user * credentials.

For more information, see Specifying * credentials in the Amazon Web Services Cloud Control API User * Guide.

*/ inline bool RoleArnHasBeenSet() const { return m_roleArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role for Cloud Control API to use when performing this resource operation. The * role specified must have the permissions required for this operation. The * necessary permissions for each event handler are defined in the handlers * section of the resource * type definition schema.

If you do not specify a role, Cloud Control * API uses a temporary session created using your Amazon Web Services user * credentials.

For more information, see Specifying * credentials in the Amazon Web Services Cloud Control API User * Guide.

*/ inline void SetRoleArn(const Aws::String& value) { m_roleArnHasBeenSet = true; m_roleArn = value; } /** *

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role for Cloud Control API to use when performing this resource operation. The * role specified must have the permissions required for this operation. The * necessary permissions for each event handler are defined in the handlers * section of the resource * type definition schema.

If you do not specify a role, Cloud Control * API uses a temporary session created using your Amazon Web Services user * credentials.

For more information, see Specifying * credentials in the Amazon Web Services Cloud Control API User * Guide.

*/ inline void SetRoleArn(Aws::String&& value) { m_roleArnHasBeenSet = true; m_roleArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role for Cloud Control API to use when performing this resource operation. The * role specified must have the permissions required for this operation. The * necessary permissions for each event handler are defined in the handlers * section of the resource * type definition schema.

If you do not specify a role, Cloud Control * API uses a temporary session created using your Amazon Web Services user * credentials.

For more information, see Specifying * credentials in the Amazon Web Services Cloud Control API User * Guide.

*/ inline void SetRoleArn(const char* value) { m_roleArnHasBeenSet = true; m_roleArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role for Cloud Control API to use when performing this resource operation. The * role specified must have the permissions required for this operation. The * necessary permissions for each event handler are defined in the handlers * section of the resource * type definition schema.

If you do not specify a role, Cloud Control * API uses a temporary session created using your Amazon Web Services user * credentials.

For more information, see Specifying * credentials in the Amazon Web Services Cloud Control API User * Guide.

*/ inline ListResourcesRequest& WithRoleArn(const Aws::String& value) { SetRoleArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role for Cloud Control API to use when performing this resource operation. The * role specified must have the permissions required for this operation. The * necessary permissions for each event handler are defined in the handlers * section of the resource * type definition schema.

If you do not specify a role, Cloud Control * API uses a temporary session created using your Amazon Web Services user * credentials.

For more information, see Specifying * credentials in the Amazon Web Services Cloud Control API User * Guide.

*/ inline ListResourcesRequest& WithRoleArn(Aws::String&& value) { SetRoleArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) * role for Cloud Control API to use when performing this resource operation. The * role specified must have the permissions required for this operation. The * necessary permissions for each event handler are defined in the handlers * section of the resource * type definition schema.

If you do not specify a role, Cloud Control * API uses a temporary session created using your Amazon Web Services user * credentials.

For more information, see Specifying * credentials in the Amazon Web Services Cloud Control API User * Guide.

*/ inline ListResourcesRequest& WithRoleArn(const char* value) { SetRoleArn(value); return *this;} /** *

If the previous paginated request didn't return all of the remaining results, * the response object's NextToken parameter value is set to a token. * To retrieve the next set of results, call this action again and assign that * token to the request object's NextToken parameter. If there are no * remaining results, the previous response object's NextToken * parameter is set to null.

*/ inline const Aws::String& GetNextToken() const{ return m_nextToken; } /** *

If the previous paginated request didn't return all of the remaining results, * the response object's NextToken parameter value is set to a token. * To retrieve the next set of results, call this action again and assign that * token to the request object's NextToken parameter. If there are no * remaining results, the previous response object's NextToken * parameter is set to null.

*/ inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; } /** *

If the previous paginated request didn't return all of the remaining results, * the response object's NextToken parameter value is set to a token. * To retrieve the next set of results, call this action again and assign that * token to the request object's NextToken parameter. If there are no * remaining results, the previous response object's NextToken * parameter is set to null.

*/ inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; } /** *

If the previous paginated request didn't return all of the remaining results, * the response object's NextToken parameter value is set to a token. * To retrieve the next set of results, call this action again and assign that * token to the request object's NextToken parameter. If there are no * remaining results, the previous response object's NextToken * parameter is set to null.

*/ inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); } /** *

If the previous paginated request didn't return all of the remaining results, * the response object's NextToken parameter value is set to a token. * To retrieve the next set of results, call this action again and assign that * token to the request object's NextToken parameter. If there are no * remaining results, the previous response object's NextToken * parameter is set to null.

*/ inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); } /** *

If the previous paginated request didn't return all of the remaining results, * the response object's NextToken parameter value is set to a token. * To retrieve the next set of results, call this action again and assign that * token to the request object's NextToken parameter. If there are no * remaining results, the previous response object's NextToken * parameter is set to null.

*/ inline ListResourcesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;} /** *

If the previous paginated request didn't return all of the remaining results, * the response object's NextToken parameter value is set to a token. * To retrieve the next set of results, call this action again and assign that * token to the request object's NextToken parameter. If there are no * remaining results, the previous response object's NextToken * parameter is set to null.

*/ inline ListResourcesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;} /** *

If the previous paginated request didn't return all of the remaining results, * the response object's NextToken parameter value is set to a token. * To retrieve the next set of results, call this action again and assign that * token to the request object's NextToken parameter. If there are no * remaining results, the previous response object's NextToken * parameter is set to null.

*/ inline ListResourcesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} /** *

Reserved.

*/ inline int GetMaxResults() const{ return m_maxResults; } /** *

Reserved.

*/ inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; } /** *

Reserved.

*/ inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; } /** *

Reserved.

*/ inline ListResourcesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;} /** *

The resource model to use to select the resources to return.

*/ inline const Aws::String& GetResourceModel() const{ return m_resourceModel; } /** *

The resource model to use to select the resources to return.

*/ inline bool ResourceModelHasBeenSet() const { return m_resourceModelHasBeenSet; } /** *

The resource model to use to select the resources to return.

*/ inline void SetResourceModel(const Aws::String& value) { m_resourceModelHasBeenSet = true; m_resourceModel = value; } /** *

The resource model to use to select the resources to return.

*/ inline void SetResourceModel(Aws::String&& value) { m_resourceModelHasBeenSet = true; m_resourceModel = std::move(value); } /** *

The resource model to use to select the resources to return.

*/ inline void SetResourceModel(const char* value) { m_resourceModelHasBeenSet = true; m_resourceModel.assign(value); } /** *

The resource model to use to select the resources to return.

*/ inline ListResourcesRequest& WithResourceModel(const Aws::String& value) { SetResourceModel(value); return *this;} /** *

The resource model to use to select the resources to return.

*/ inline ListResourcesRequest& WithResourceModel(Aws::String&& value) { SetResourceModel(std::move(value)); return *this;} /** *

The resource model to use to select the resources to return.

*/ inline ListResourcesRequest& WithResourceModel(const char* value) { SetResourceModel(value); return *this;} private: Aws::String m_typeName; bool m_typeNameHasBeenSet = false; Aws::String m_typeVersionId; bool m_typeVersionIdHasBeenSet = false; Aws::String m_roleArn; bool m_roleArnHasBeenSet = false; Aws::String m_nextToken; bool m_nextTokenHasBeenSet = false; int m_maxResults; bool m_maxResultsHasBeenSet = false; Aws::String m_resourceModel; bool m_resourceModelHasBeenSet = false; }; } // namespace Model } // namespace CloudControlApi } // namespace Aws