/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.simplesystemsmanagement.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.AmazonWebServiceRequest; /** * * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class GetParametersByPathRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *

* 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 *

*/ private String path; /** *

* 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. *

*
*/ private Boolean recursive; /** *

* 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. *

*
*/ private com.amazonaws.internal.SdkInternalList parameterFilters; /** *

* Retrieve all parameters in a hierarchy with their value decrypted. *

*/ private Boolean withDecryption; /** *

* 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. *

*/ private Integer maxResults; /** *

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

*/ private String nextToken; /** *

* 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 *

* * @param 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 */ public void setPath(String path) { this.path = 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 *

* * @return 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 */ public String getPath() { return this.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 *

* * @param 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 * @return Returns a reference to this object so that method calls can be chained together. */ public GetParametersByPathRequest withPath(String path) { setPath(path); 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. *

*
* * @param 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. *

*/ public void setRecursive(Boolean recursive) { this.recursive = 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. *

*
* * @return 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. *

*/ public Boolean getRecursive() { return this.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. *

*
* * @param 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. *

* @return Returns a reference to this object so that method calls can be chained together. */ public GetParametersByPathRequest withRecursive(Boolean recursive) { setRecursive(recursive); 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. *

*
* * @return 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. *

*/ public Boolean isRecursive() { return this.recursive; } /** *

* 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. *

*
* * @return 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. *

*/ public java.util.List getParameterFilters() { if (parameterFilters == null) { parameterFilters = new com.amazonaws.internal.SdkInternalList(); } return 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. *

*
* * @param 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. *

*/ public void setParameterFilters(java.util.Collection parameterFilters) { if (parameterFilters == null) { this.parameterFilters = null; return; } this.parameterFilters = new com.amazonaws.internal.SdkInternalList(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. *

*
*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setParameterFilters(java.util.Collection)} or {@link #withParameterFilters(java.util.Collection)} if you * want to override the existing values. *

* * @param 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. *

* @return Returns a reference to this object so that method calls can be chained together. */ public GetParametersByPathRequest withParameterFilters(ParameterStringFilter... parameterFilters) { if (this.parameterFilters == null) { setParameterFilters(new com.amazonaws.internal.SdkInternalList(parameterFilters.length)); } for (ParameterStringFilter ele : parameterFilters) { this.parameterFilters.add(ele); } 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. *

*
* * @param 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. *

* @return Returns a reference to this object so that method calls can be chained together. */ public GetParametersByPathRequest withParameterFilters(java.util.Collection parameterFilters) { setParameterFilters(parameterFilters); return this; } /** *

* Retrieve all parameters in a hierarchy with their value decrypted. *

* * @param withDecryption * Retrieve all parameters in a hierarchy with their value decrypted. */ public void setWithDecryption(Boolean withDecryption) { this.withDecryption = withDecryption; } /** *

* Retrieve all parameters in a hierarchy with their value decrypted. *

* * @return Retrieve all parameters in a hierarchy with their value decrypted. */ public Boolean getWithDecryption() { return this.withDecryption; } /** *

* Retrieve all parameters in a hierarchy with their value decrypted. *

* * @param withDecryption * Retrieve all parameters in a hierarchy with their value decrypted. * @return Returns a reference to this object so that method calls can be chained together. */ public GetParametersByPathRequest withWithDecryption(Boolean withDecryption) { setWithDecryption(withDecryption); return this; } /** *

* Retrieve all parameters in a hierarchy with their value decrypted. *

* * @return Retrieve all parameters in a hierarchy with their value decrypted. */ public Boolean isWithDecryption() { return this.withDecryption; } /** *

* 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. *

* * @param 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. */ public void setMaxResults(Integer maxResults) { this.maxResults = 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. *

* * @return 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. */ public Integer getMaxResults() { return this.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. *

* * @param 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. * @return Returns a reference to this object so that method calls can be chained together. */ public GetParametersByPathRequest withMaxResults(Integer maxResults) { setMaxResults(maxResults); return this; } /** *

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

* * @param nextToken * A token to start the list. Use this token to get the next set of results. */ public void setNextToken(String nextToken) { this.nextToken = nextToken; } /** *

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

* * @return A token to start the list. Use this token to get the next set of results. */ public String getNextToken() { return this.nextToken; } /** *

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

* * @param nextToken * A token to start the list. Use this token to get the next set of results. * @return Returns a reference to this object so that method calls can be chained together. */ public GetParametersByPathRequest withNextToken(String nextToken) { setNextToken(nextToken); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getPath() != null) sb.append("Path: ").append(getPath()).append(","); if (getRecursive() != null) sb.append("Recursive: ").append(getRecursive()).append(","); if (getParameterFilters() != null) sb.append("ParameterFilters: ").append(getParameterFilters()).append(","); if (getWithDecryption() != null) sb.append("WithDecryption: ").append(getWithDecryption()).append(","); if (getMaxResults() != null) sb.append("MaxResults: ").append(getMaxResults()).append(","); if (getNextToken() != null) sb.append("NextToken: ").append(getNextToken()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof GetParametersByPathRequest == false) return false; GetParametersByPathRequest other = (GetParametersByPathRequest) obj; if (other.getPath() == null ^ this.getPath() == null) return false; if (other.getPath() != null && other.getPath().equals(this.getPath()) == false) return false; if (other.getRecursive() == null ^ this.getRecursive() == null) return false; if (other.getRecursive() != null && other.getRecursive().equals(this.getRecursive()) == false) return false; if (other.getParameterFilters() == null ^ this.getParameterFilters() == null) return false; if (other.getParameterFilters() != null && other.getParameterFilters().equals(this.getParameterFilters()) == false) return false; if (other.getWithDecryption() == null ^ this.getWithDecryption() == null) return false; if (other.getWithDecryption() != null && other.getWithDecryption().equals(this.getWithDecryption()) == false) return false; if (other.getMaxResults() == null ^ this.getMaxResults() == null) return false; if (other.getMaxResults() != null && other.getMaxResults().equals(this.getMaxResults()) == false) return false; if (other.getNextToken() == null ^ this.getNextToken() == null) return false; if (other.getNextToken() != null && other.getNextToken().equals(this.getNextToken()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getPath() == null) ? 0 : getPath().hashCode()); hashCode = prime * hashCode + ((getRecursive() == null) ? 0 : getRecursive().hashCode()); hashCode = prime * hashCode + ((getParameterFilters() == null) ? 0 : getParameterFilters().hashCode()); hashCode = prime * hashCode + ((getWithDecryption() == null) ? 0 : getWithDecryption().hashCode()); hashCode = prime * hashCode + ((getMaxResults() == null) ? 0 : getMaxResults().hashCode()); hashCode = prime * hashCode + ((getNextToken() == null) ? 0 : getNextToken().hashCode()); return hashCode; } @Override public GetParametersByPathRequest clone() { return (GetParametersByPathRequest) super.clone(); } }