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

The hierarchy for the parameter. Hierarchies start with a forward slash (/). * The hierarchy is the parameter name except the last part of the parameter. For * the API call to succeed, the last part of the parameter name can't be in the * path. A parameter name hierarchy can have a maximum of 15 levels. Here is an * example of a hierarchy: /Finance/Prod/IAD/WinServ2016/license33 *

*/ inline const Aws::String& GetPath() const{ return m_path; } /** *

The hierarchy for the parameter. Hierarchies start with a forward slash (/). * The hierarchy is the parameter name except the last part of the parameter. For * the API call to succeed, the last part of the parameter name can't be in the * path. A parameter name hierarchy can have a maximum of 15 levels. Here is an * example of a hierarchy: /Finance/Prod/IAD/WinServ2016/license33 *

*/ inline bool PathHasBeenSet() const { return m_pathHasBeenSet; } /** *

The hierarchy for the parameter. Hierarchies start with a forward slash (/). * The hierarchy is the parameter name except the last part of the parameter. For * the API call to succeed, the last part of the parameter name can't be in the * path. A parameter name hierarchy can have a maximum of 15 levels. Here is an * example of a hierarchy: /Finance/Prod/IAD/WinServ2016/license33 *

*/ inline void SetPath(const Aws::String& value) { m_pathHasBeenSet = true; m_path = value; } /** *

The hierarchy for the parameter. Hierarchies start with a forward slash (/). * The hierarchy is the parameter name except the last part of the parameter. For * the API call to succeed, the last part of the parameter name can't be in the * path. A parameter name hierarchy can have a maximum of 15 levels. Here is an * example of a hierarchy: /Finance/Prod/IAD/WinServ2016/license33 *

*/ inline void SetPath(Aws::String&& value) { m_pathHasBeenSet = true; m_path = std::move(value); } /** *

The hierarchy for the parameter. Hierarchies start with a forward slash (/). * The hierarchy is the parameter name except the last part of the parameter. For * the API call to succeed, the last part of the parameter name can't be in the * path. A parameter name hierarchy can have a maximum of 15 levels. Here is an * example of a hierarchy: /Finance/Prod/IAD/WinServ2016/license33 *

*/ inline void SetPath(const char* value) { m_pathHasBeenSet = true; m_path.assign(value); } /** *

The hierarchy for the parameter. Hierarchies start with a forward slash (/). * The hierarchy is the parameter name except the last part of the parameter. For * the API call to succeed, the last part of the parameter name can't be in the * path. A parameter name hierarchy can have a maximum of 15 levels. Here is an * example of a hierarchy: /Finance/Prod/IAD/WinServ2016/license33 *

*/ inline GetParametersByPathRequest& WithPath(const Aws::String& value) { SetPath(value); return *this;} /** *

The hierarchy for the parameter. Hierarchies start with a forward slash (/). * The hierarchy is the parameter name except the last part of the parameter. For * the API call to succeed, the last part of the parameter name can't be in the * path. A parameter name hierarchy can have a maximum of 15 levels. Here is an * example of a hierarchy: /Finance/Prod/IAD/WinServ2016/license33 *

*/ inline GetParametersByPathRequest& WithPath(Aws::String&& value) { SetPath(std::move(value)); return *this;} /** *

The hierarchy for the parameter. Hierarchies start with a forward slash (/). * The hierarchy is the parameter name except the last part of the parameter. For * the API call to succeed, the last part of the parameter name can't be in the * path. A parameter name hierarchy can have a maximum of 15 levels. Here is an * example of a hierarchy: /Finance/Prod/IAD/WinServ2016/license33 *

*/ inline GetParametersByPathRequest& WithPath(const char* value) { SetPath(value); return *this;} /** *

Retrieve all parameters within a hierarchy.

If a user has * access to a path, then the user can access all levels of that path. For example, * if a user has permission to access path /a, then the user can also * access /a/b. Even if a user has explicitly been denied access in * IAM for parameter /a/b, they can still call the GetParametersByPath * API operation recursively for /a and view /a/b.

* */ inline bool GetRecursive() const{ return m_recursive; } /** *

Retrieve all parameters within a hierarchy.

If a user has * access to a path, then the user can access all levels of that path. For example, * if a user has permission to access path /a, then the user can also * access /a/b. Even if a user has explicitly been denied access in * IAM for parameter /a/b, they can still call the GetParametersByPath * API operation recursively for /a and view /a/b.

* */ inline bool RecursiveHasBeenSet() const { return m_recursiveHasBeenSet; } /** *

Retrieve all parameters within a hierarchy.

If a user has * access to a path, then the user can access all levels of that path. For example, * if a user has permission to access path /a, then the user can also * access /a/b. Even if a user has explicitly been denied access in * IAM for parameter /a/b, they can still call the GetParametersByPath * API operation recursively for /a and view /a/b.

* */ inline void SetRecursive(bool value) { m_recursiveHasBeenSet = true; m_recursive = value; } /** *

Retrieve all parameters within a hierarchy.

If a user has * access to a path, then the user can access all levels of that path. For example, * if a user has permission to access path /a, then the user can also * access /a/b. Even if a user has explicitly been denied access in * IAM for parameter /a/b, they can still call the GetParametersByPath * API operation recursively for /a and view /a/b.

* */ inline GetParametersByPathRequest& WithRecursive(bool value) { SetRecursive(value); return *this;} /** *

Filters to limit the request results.

The following * Key values are supported for GetParametersByPath: * Type, KeyId, and Label.

The * following Key values aren't supported for * GetParametersByPath: tag, DataType, * Name, Path, and Tier.

*/ inline const Aws::Vector& GetParameterFilters() const{ return m_parameterFilters; } /** *

Filters to limit the request results.

The following * Key values are supported for GetParametersByPath: * Type, KeyId, and Label.

The * following Key values aren't supported for * GetParametersByPath: tag, DataType, * Name, Path, and Tier.

*/ inline bool ParameterFiltersHasBeenSet() const { return m_parameterFiltersHasBeenSet; } /** *

Filters to limit the request results.

The following * Key values are supported for GetParametersByPath: * Type, KeyId, and Label.

The * following Key values aren't supported for * GetParametersByPath: tag, DataType, * Name, Path, and Tier.

*/ inline void SetParameterFilters(const Aws::Vector& value) { m_parameterFiltersHasBeenSet = true; m_parameterFilters = value; } /** *

Filters to limit the request results.

The following * Key values are supported for GetParametersByPath: * Type, KeyId, and Label.

The * following Key values aren't supported for * GetParametersByPath: tag, DataType, * Name, Path, and Tier.

*/ inline void SetParameterFilters(Aws::Vector&& value) { m_parameterFiltersHasBeenSet = true; m_parameterFilters = std::move(value); } /** *

Filters to limit the request results.

The following * Key values are supported for GetParametersByPath: * Type, KeyId, and Label.

The * following Key values aren't supported for * GetParametersByPath: tag, DataType, * Name, Path, and Tier.

*/ inline GetParametersByPathRequest& WithParameterFilters(const Aws::Vector& value) { SetParameterFilters(value); return *this;} /** *

Filters to limit the request results.

The following * Key values are supported for GetParametersByPath: * Type, KeyId, and Label.

The * following Key values aren't supported for * GetParametersByPath: tag, DataType, * Name, Path, and Tier.

*/ inline GetParametersByPathRequest& WithParameterFilters(Aws::Vector&& value) { SetParameterFilters(std::move(value)); return *this;} /** *

Filters to limit the request results.

The following * Key values are supported for GetParametersByPath: * Type, KeyId, and Label.

The * following Key values aren't supported for * GetParametersByPath: tag, DataType, * Name, Path, and Tier.

*/ inline GetParametersByPathRequest& AddParameterFilters(const ParameterStringFilter& value) { m_parameterFiltersHasBeenSet = true; m_parameterFilters.push_back(value); return *this; } /** *

Filters to limit the request results.

The following * Key values are supported for GetParametersByPath: * Type, KeyId, and Label.

The * following Key values aren't supported for * GetParametersByPath: tag, DataType, * Name, Path, and Tier.

*/ inline GetParametersByPathRequest& AddParameterFilters(ParameterStringFilter&& value) { m_parameterFiltersHasBeenSet = true; m_parameterFilters.push_back(std::move(value)); return *this; } /** *

Retrieve all parameters in a hierarchy with their value decrypted.

*/ inline bool GetWithDecryption() const{ return m_withDecryption; } /** *

Retrieve all parameters in a hierarchy with their value decrypted.

*/ inline bool WithDecryptionHasBeenSet() const { return m_withDecryptionHasBeenSet; } /** *

Retrieve all parameters in a hierarchy with their value decrypted.

*/ inline void SetWithDecryption(bool value) { m_withDecryptionHasBeenSet = true; m_withDecryption = value; } /** *

Retrieve all parameters in a hierarchy with their value decrypted.

*/ inline GetParametersByPathRequest& WithWithDecryption(bool value) { SetWithDecryption(value); return *this;} /** *

The maximum number of items to return for this call. The call also returns a * token that you can specify in a subsequent call to get the next set of * results.

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

The maximum number of items to return for this call. The call also returns a * token that you can specify in a subsequent call to get the next set of * results.

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

The maximum number of items to return for this call. The call also returns a * token that you can specify in a subsequent call to get the next set of * results.

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

The maximum number of items to return for this call. The call also returns a * token that you can specify in a subsequent call to get the next set of * results.

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

A token to start the list. Use this token to get the next set of results. *

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

A token to start the list. Use this token to get the next set of results. *

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

A token to start the list. Use this token to get the next set of results. *

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

A token to start the list. Use this token to get the next set of results. *

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

A token to start the list. Use this token to get the next set of results. *

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

A token to start the list. Use this token to get the next set of results. *

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

A token to start the list. Use this token to get the next set of results. *

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

A token to start the list. Use this token to get the next set of results. *

*/ inline GetParametersByPathRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;} private: Aws::String m_path; bool m_pathHasBeenSet = false; bool m_recursive; bool m_recursiveHasBeenSet = false; Aws::Vector m_parameterFilters; bool m_parameterFiltersHasBeenSet = false; bool m_withDecryption; bool m_withDecryptionHasBeenSet = false; int m_maxResults; bool m_maxResultsHasBeenSet = false; Aws::String m_nextToken; bool m_nextTokenHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws