/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace Route53Resolver { namespace Model { /** */ class ListResolverQueryLogConfigsRequest : public Route53ResolverRequest { public: AWS_ROUTE53RESOLVER_API ListResolverQueryLogConfigsRequest(); // 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 "ListResolverQueryLogConfigs"; } AWS_ROUTE53RESOLVER_API Aws::String SerializePayload() const override; AWS_ROUTE53RESOLVER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The maximum number of query logging configurations that you want to return in * the response to a ListResolverQueryLogConfigs request. If you don't * specify a value for MaxResults, Resolver returns up to 100 query * logging configurations.

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

The maximum number of query logging configurations that you want to return in * the response to a ListResolverQueryLogConfigs request. If you don't * specify a value for MaxResults, Resolver returns up to 100 query * logging configurations.

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

The maximum number of query logging configurations that you want to return in * the response to a ListResolverQueryLogConfigs request. If you don't * specify a value for MaxResults, Resolver returns up to 100 query * logging configurations.

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

The maximum number of query logging configurations that you want to return in * the response to a ListResolverQueryLogConfigs request. If you don't * specify a value for MaxResults, Resolver returns up to 100 query * logging configurations.

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

For the first ListResolverQueryLogConfigs request, omit this * value.

If there are more than MaxResults query logging * configurations that match the values that you specify for Filters, * you can submit another ListResolverQueryLogConfigs request to get * the next group of configurations. In the next request, specify the value of * NextToken from the previous response.

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

For the first ListResolverQueryLogConfigs request, omit this * value.

If there are more than MaxResults query logging * configurations that match the values that you specify for Filters, * you can submit another ListResolverQueryLogConfigs request to get * the next group of configurations. In the next request, specify the value of * NextToken from the previous response.

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

For the first ListResolverQueryLogConfigs request, omit this * value.

If there are more than MaxResults query logging * configurations that match the values that you specify for Filters, * you can submit another ListResolverQueryLogConfigs request to get * the next group of configurations. In the next request, specify the value of * NextToken from the previous response.

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

For the first ListResolverQueryLogConfigs request, omit this * value.

If there are more than MaxResults query logging * configurations that match the values that you specify for Filters, * you can submit another ListResolverQueryLogConfigs request to get * the next group of configurations. In the next request, specify the value of * NextToken from the previous response.

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

For the first ListResolverQueryLogConfigs request, omit this * value.

If there are more than MaxResults query logging * configurations that match the values that you specify for Filters, * you can submit another ListResolverQueryLogConfigs request to get * the next group of configurations. In the next request, specify the value of * NextToken from the previous response.

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

For the first ListResolverQueryLogConfigs request, omit this * value.

If there are more than MaxResults query logging * configurations that match the values that you specify for Filters, * you can submit another ListResolverQueryLogConfigs request to get * the next group of configurations. In the next request, specify the value of * NextToken from the previous response.

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

For the first ListResolverQueryLogConfigs request, omit this * value.

If there are more than MaxResults query logging * configurations that match the values that you specify for Filters, * you can submit another ListResolverQueryLogConfigs request to get * the next group of configurations. In the next request, specify the value of * NextToken from the previous response.

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

For the first ListResolverQueryLogConfigs request, omit this * value.

If there are more than MaxResults query logging * configurations that match the values that you specify for Filters, * you can submit another ListResolverQueryLogConfigs request to get * the next group of configurations. In the next request, specify the value of * NextToken from the previous response.

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

An optional specification to return a subset of query logging * configurations.

If you submit a second or subsequent * ListResolverQueryLogConfigs request and specify the * NextToken parameter, you must use the same values for * Filters, if any, as in the previous request.

*/ inline const Aws::Vector& GetFilters() const{ return m_filters; } /** *

An optional specification to return a subset of query logging * configurations.

If you submit a second or subsequent * ListResolverQueryLogConfigs request and specify the * NextToken parameter, you must use the same values for * Filters, if any, as in the previous request.

*/ inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } /** *

An optional specification to return a subset of query logging * configurations.

If you submit a second or subsequent * ListResolverQueryLogConfigs request and specify the * NextToken parameter, you must use the same values for * Filters, if any, as in the previous request.

*/ inline void SetFilters(const Aws::Vector& value) { m_filtersHasBeenSet = true; m_filters = value; } /** *

An optional specification to return a subset of query logging * configurations.

If you submit a second or subsequent * ListResolverQueryLogConfigs request and specify the * NextToken parameter, you must use the same values for * Filters, if any, as in the previous request.

*/ inline void SetFilters(Aws::Vector&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); } /** *

An optional specification to return a subset of query logging * configurations.

If you submit a second or subsequent * ListResolverQueryLogConfigs request and specify the * NextToken parameter, you must use the same values for * Filters, if any, as in the previous request.

*/ inline ListResolverQueryLogConfigsRequest& WithFilters(const Aws::Vector& value) { SetFilters(value); return *this;} /** *

An optional specification to return a subset of query logging * configurations.

If you submit a second or subsequent * ListResolverQueryLogConfigs request and specify the * NextToken parameter, you must use the same values for * Filters, if any, as in the previous request.

*/ inline ListResolverQueryLogConfigsRequest& WithFilters(Aws::Vector&& value) { SetFilters(std::move(value)); return *this;} /** *

An optional specification to return a subset of query logging * configurations.

If you submit a second or subsequent * ListResolverQueryLogConfigs request and specify the * NextToken parameter, you must use the same values for * Filters, if any, as in the previous request.

*/ inline ListResolverQueryLogConfigsRequest& AddFilters(const Filter& value) { m_filtersHasBeenSet = true; m_filters.push_back(value); return *this; } /** *

An optional specification to return a subset of query logging * configurations.

If you submit a second or subsequent * ListResolverQueryLogConfigs request and specify the * NextToken parameter, you must use the same values for * Filters, if any, as in the previous request.

*/ inline ListResolverQueryLogConfigsRequest& AddFilters(Filter&& value) { m_filtersHasBeenSet = true; m_filters.push_back(std::move(value)); return *this; } /** *

The element that you want Resolver to sort query logging configurations by. *

If you submit a second or subsequent * ListResolverQueryLogConfigs request and specify the * NextToken parameter, you must use the same value for * SortBy, if any, as in the previous request.

Valid * values include the following elements:

  • Arn: The * ARN of the query logging configuration

  • * AssociationCount: The number of VPCs that are associated with the * specified configuration

  • CreationTime: The date * and time that Resolver returned when the configuration was created

  • *
  • CreatorRequestId: The value that was specified for * CreatorRequestId when the configuration was created

  • *

    DestinationArn: The location that logs are sent to

  • *
  • Id: The ID of the configuration

  • * Name: The name of the configuration

  • * OwnerId: The Amazon Web Services account number of the account that * created the configuration

  • ShareStatus: Whether * the configuration is shared with other Amazon Web Services accounts or shared * with the current account by another Amazon Web Services account. Sharing is * configured through Resource Access Manager (RAM).

  • * Status: The current status of the configuration. Valid values * include the following:

    • CREATING: Resolver is * creating the query logging configuration.

    • * CREATED: The query logging configuration was successfully created. * Resolver is logging queries that originate in the specified VPC.

    • *

      DELETING: Resolver is deleting this query logging * configuration.

    • FAILED: Resolver either couldn't * create or couldn't delete the query logging configuration. Here are two common * causes:

      • The specified destination (for example, an Amazon S3 * bucket) was deleted.

      • Permissions don't allow sending logs to * the destination.

*/ inline const Aws::String& GetSortBy() const{ return m_sortBy; } /** *

The element that you want Resolver to sort query logging configurations by. *

If you submit a second or subsequent * ListResolverQueryLogConfigs request and specify the * NextToken parameter, you must use the same value for * SortBy, if any, as in the previous request.

Valid * values include the following elements:

  • Arn: The * ARN of the query logging configuration

  • * AssociationCount: The number of VPCs that are associated with the * specified configuration

  • CreationTime: The date * and time that Resolver returned when the configuration was created

  • *
  • CreatorRequestId: The value that was specified for * CreatorRequestId when the configuration was created

  • *

    DestinationArn: The location that logs are sent to

  • *
  • Id: The ID of the configuration

  • * Name: The name of the configuration

  • * OwnerId: The Amazon Web Services account number of the account that * created the configuration

  • ShareStatus: Whether * the configuration is shared with other Amazon Web Services accounts or shared * with the current account by another Amazon Web Services account. Sharing is * configured through Resource Access Manager (RAM).

  • * Status: The current status of the configuration. Valid values * include the following:

    • CREATING: Resolver is * creating the query logging configuration.

    • * CREATED: The query logging configuration was successfully created. * Resolver is logging queries that originate in the specified VPC.

    • *

      DELETING: Resolver is deleting this query logging * configuration.

    • FAILED: Resolver either couldn't * create or couldn't delete the query logging configuration. Here are two common * causes:

      • The specified destination (for example, an Amazon S3 * bucket) was deleted.

      • Permissions don't allow sending logs to * the destination.

*/ inline bool SortByHasBeenSet() const { return m_sortByHasBeenSet; } /** *

The element that you want Resolver to sort query logging configurations by. *

If you submit a second or subsequent * ListResolverQueryLogConfigs request and specify the * NextToken parameter, you must use the same value for * SortBy, if any, as in the previous request.

Valid * values include the following elements:

  • Arn: The * ARN of the query logging configuration

  • * AssociationCount: The number of VPCs that are associated with the * specified configuration

  • CreationTime: The date * and time that Resolver returned when the configuration was created

  • *
  • CreatorRequestId: The value that was specified for * CreatorRequestId when the configuration was created

  • *

    DestinationArn: The location that logs are sent to

  • *
  • Id: The ID of the configuration

  • * Name: The name of the configuration

  • * OwnerId: The Amazon Web Services account number of the account that * created the configuration

  • ShareStatus: Whether * the configuration is shared with other Amazon Web Services accounts or shared * with the current account by another Amazon Web Services account. Sharing is * configured through Resource Access Manager (RAM).

  • * Status: The current status of the configuration. Valid values * include the following:

    • CREATING: Resolver is * creating the query logging configuration.

    • * CREATED: The query logging configuration was successfully created. * Resolver is logging queries that originate in the specified VPC.

    • *

      DELETING: Resolver is deleting this query logging * configuration.

    • FAILED: Resolver either couldn't * create or couldn't delete the query logging configuration. Here are two common * causes:

      • The specified destination (for example, an Amazon S3 * bucket) was deleted.

      • Permissions don't allow sending logs to * the destination.

*/ inline void SetSortBy(const Aws::String& value) { m_sortByHasBeenSet = true; m_sortBy = value; } /** *

The element that you want Resolver to sort query logging configurations by. *

If you submit a second or subsequent * ListResolverQueryLogConfigs request and specify the * NextToken parameter, you must use the same value for * SortBy, if any, as in the previous request.

Valid * values include the following elements:

  • Arn: The * ARN of the query logging configuration

  • * AssociationCount: The number of VPCs that are associated with the * specified configuration

  • CreationTime: The date * and time that Resolver returned when the configuration was created

  • *
  • CreatorRequestId: The value that was specified for * CreatorRequestId when the configuration was created

  • *

    DestinationArn: The location that logs are sent to

  • *
  • Id: The ID of the configuration

  • * Name: The name of the configuration

  • * OwnerId: The Amazon Web Services account number of the account that * created the configuration

  • ShareStatus: Whether * the configuration is shared with other Amazon Web Services accounts or shared * with the current account by another Amazon Web Services account. Sharing is * configured through Resource Access Manager (RAM).

  • * Status: The current status of the configuration. Valid values * include the following:

    • CREATING: Resolver is * creating the query logging configuration.

    • * CREATED: The query logging configuration was successfully created. * Resolver is logging queries that originate in the specified VPC.

    • *

      DELETING: Resolver is deleting this query logging * configuration.

    • FAILED: Resolver either couldn't * create or couldn't delete the query logging configuration. Here are two common * causes:

      • The specified destination (for example, an Amazon S3 * bucket) was deleted.

      • Permissions don't allow sending logs to * the destination.

*/ inline void SetSortBy(Aws::String&& value) { m_sortByHasBeenSet = true; m_sortBy = std::move(value); } /** *

The element that you want Resolver to sort query logging configurations by. *

If you submit a second or subsequent * ListResolverQueryLogConfigs request and specify the * NextToken parameter, you must use the same value for * SortBy, if any, as in the previous request.

Valid * values include the following elements:

  • Arn: The * ARN of the query logging configuration

  • * AssociationCount: The number of VPCs that are associated with the * specified configuration

  • CreationTime: The date * and time that Resolver returned when the configuration was created

  • *
  • CreatorRequestId: The value that was specified for * CreatorRequestId when the configuration was created

  • *

    DestinationArn: The location that logs are sent to

  • *
  • Id: The ID of the configuration

  • * Name: The name of the configuration

  • * OwnerId: The Amazon Web Services account number of the account that * created the configuration

  • ShareStatus: Whether * the configuration is shared with other Amazon Web Services accounts or shared * with the current account by another Amazon Web Services account. Sharing is * configured through Resource Access Manager (RAM).

  • * Status: The current status of the configuration. Valid values * include the following:

    • CREATING: Resolver is * creating the query logging configuration.

    • * CREATED: The query logging configuration was successfully created. * Resolver is logging queries that originate in the specified VPC.

    • *

      DELETING: Resolver is deleting this query logging * configuration.

    • FAILED: Resolver either couldn't * create or couldn't delete the query logging configuration. Here are two common * causes:

      • The specified destination (for example, an Amazon S3 * bucket) was deleted.

      • Permissions don't allow sending logs to * the destination.

*/ inline void SetSortBy(const char* value) { m_sortByHasBeenSet = true; m_sortBy.assign(value); } /** *

The element that you want Resolver to sort query logging configurations by. *

If you submit a second or subsequent * ListResolverQueryLogConfigs request and specify the * NextToken parameter, you must use the same value for * SortBy, if any, as in the previous request.

Valid * values include the following elements:

  • Arn: The * ARN of the query logging configuration

  • * AssociationCount: The number of VPCs that are associated with the * specified configuration

  • CreationTime: The date * and time that Resolver returned when the configuration was created

  • *
  • CreatorRequestId: The value that was specified for * CreatorRequestId when the configuration was created

  • *

    DestinationArn: The location that logs are sent to

  • *
  • Id: The ID of the configuration

  • * Name: The name of the configuration

  • * OwnerId: The Amazon Web Services account number of the account that * created the configuration

  • ShareStatus: Whether * the configuration is shared with other Amazon Web Services accounts or shared * with the current account by another Amazon Web Services account. Sharing is * configured through Resource Access Manager (RAM).

  • * Status: The current status of the configuration. Valid values * include the following:

    • CREATING: Resolver is * creating the query logging configuration.

    • * CREATED: The query logging configuration was successfully created. * Resolver is logging queries that originate in the specified VPC.

    • *

      DELETING: Resolver is deleting this query logging * configuration.

    • FAILED: Resolver either couldn't * create or couldn't delete the query logging configuration. Here are two common * causes:

      • The specified destination (for example, an Amazon S3 * bucket) was deleted.

      • Permissions don't allow sending logs to * the destination.

*/ inline ListResolverQueryLogConfigsRequest& WithSortBy(const Aws::String& value) { SetSortBy(value); return *this;} /** *

The element that you want Resolver to sort query logging configurations by. *

If you submit a second or subsequent * ListResolverQueryLogConfigs request and specify the * NextToken parameter, you must use the same value for * SortBy, if any, as in the previous request.

Valid * values include the following elements:

  • Arn: The * ARN of the query logging configuration

  • * AssociationCount: The number of VPCs that are associated with the * specified configuration

  • CreationTime: The date * and time that Resolver returned when the configuration was created

  • *
  • CreatorRequestId: The value that was specified for * CreatorRequestId when the configuration was created

  • *

    DestinationArn: The location that logs are sent to

  • *
  • Id: The ID of the configuration

  • * Name: The name of the configuration

  • * OwnerId: The Amazon Web Services account number of the account that * created the configuration

  • ShareStatus: Whether * the configuration is shared with other Amazon Web Services accounts or shared * with the current account by another Amazon Web Services account. Sharing is * configured through Resource Access Manager (RAM).

  • * Status: The current status of the configuration. Valid values * include the following:

    • CREATING: Resolver is * creating the query logging configuration.

    • * CREATED: The query logging configuration was successfully created. * Resolver is logging queries that originate in the specified VPC.

    • *

      DELETING: Resolver is deleting this query logging * configuration.

    • FAILED: Resolver either couldn't * create or couldn't delete the query logging configuration. Here are two common * causes:

      • The specified destination (for example, an Amazon S3 * bucket) was deleted.

      • Permissions don't allow sending logs to * the destination.

*/ inline ListResolverQueryLogConfigsRequest& WithSortBy(Aws::String&& value) { SetSortBy(std::move(value)); return *this;} /** *

The element that you want Resolver to sort query logging configurations by. *

If you submit a second or subsequent * ListResolverQueryLogConfigs request and specify the * NextToken parameter, you must use the same value for * SortBy, if any, as in the previous request.

Valid * values include the following elements:

  • Arn: The * ARN of the query logging configuration

  • * AssociationCount: The number of VPCs that are associated with the * specified configuration

  • CreationTime: The date * and time that Resolver returned when the configuration was created

  • *
  • CreatorRequestId: The value that was specified for * CreatorRequestId when the configuration was created

  • *

    DestinationArn: The location that logs are sent to

  • *
  • Id: The ID of the configuration

  • * Name: The name of the configuration

  • * OwnerId: The Amazon Web Services account number of the account that * created the configuration

  • ShareStatus: Whether * the configuration is shared with other Amazon Web Services accounts or shared * with the current account by another Amazon Web Services account. Sharing is * configured through Resource Access Manager (RAM).

  • * Status: The current status of the configuration. Valid values * include the following:

    • CREATING: Resolver is * creating the query logging configuration.

    • * CREATED: The query logging configuration was successfully created. * Resolver is logging queries that originate in the specified VPC.

    • *

      DELETING: Resolver is deleting this query logging * configuration.

    • FAILED: Resolver either couldn't * create or couldn't delete the query logging configuration. Here are two common * causes:

      • The specified destination (for example, an Amazon S3 * bucket) was deleted.

      • Permissions don't allow sending logs to * the destination.

*/ inline ListResolverQueryLogConfigsRequest& WithSortBy(const char* value) { SetSortBy(value); return *this;} /** *

If you specified a value for SortBy, the order that you want * query logging configurations to be listed in, ASCENDING or * DESCENDING.

If you submit a second or subsequent * ListResolverQueryLogConfigs request and specify the * NextToken parameter, you must use the same value for * SortOrder, if any, as in the previous request.

*/ inline const SortOrder& GetSortOrder() const{ return m_sortOrder; } /** *

If you specified a value for SortBy, the order that you want * query logging configurations to be listed in, ASCENDING or * DESCENDING.

If you submit a second or subsequent * ListResolverQueryLogConfigs request and specify the * NextToken parameter, you must use the same value for * SortOrder, if any, as in the previous request.

*/ inline bool SortOrderHasBeenSet() const { return m_sortOrderHasBeenSet; } /** *

If you specified a value for SortBy, the order that you want * query logging configurations to be listed in, ASCENDING or * DESCENDING.

If you submit a second or subsequent * ListResolverQueryLogConfigs request and specify the * NextToken parameter, you must use the same value for * SortOrder, if any, as in the previous request.

*/ inline void SetSortOrder(const SortOrder& value) { m_sortOrderHasBeenSet = true; m_sortOrder = value; } /** *

If you specified a value for SortBy, the order that you want * query logging configurations to be listed in, ASCENDING or * DESCENDING.

If you submit a second or subsequent * ListResolverQueryLogConfigs request and specify the * NextToken parameter, you must use the same value for * SortOrder, if any, as in the previous request.

*/ inline void SetSortOrder(SortOrder&& value) { m_sortOrderHasBeenSet = true; m_sortOrder = std::move(value); } /** *

If you specified a value for SortBy, the order that you want * query logging configurations to be listed in, ASCENDING or * DESCENDING.

If you submit a second or subsequent * ListResolverQueryLogConfigs request and specify the * NextToken parameter, you must use the same value for * SortOrder, if any, as in the previous request.

*/ inline ListResolverQueryLogConfigsRequest& WithSortOrder(const SortOrder& value) { SetSortOrder(value); return *this;} /** *

If you specified a value for SortBy, the order that you want * query logging configurations to be listed in, ASCENDING or * DESCENDING.

If you submit a second or subsequent * ListResolverQueryLogConfigs request and specify the * NextToken parameter, you must use the same value for * SortOrder, if any, as in the previous request.

*/ inline ListResolverQueryLogConfigsRequest& WithSortOrder(SortOrder&& value) { SetSortOrder(std::move(value)); return *this;} private: int m_maxResults; bool m_maxResultsHasBeenSet = false; Aws::String m_nextToken; bool m_nextTokenHasBeenSet = false; Aws::Vector m_filters; bool m_filtersHasBeenSet = false; Aws::String m_sortBy; bool m_sortByHasBeenSet = false; SortOrder m_sortOrder; bool m_sortOrderHasBeenSet = false; }; } // namespace Model } // namespace Route53Resolver } // namespace Aws