com.amazonaws.services.resourceexplorer2.model.CreateViewRequest Maven / Gradle / Ivy
Show all versions of aws-java-sdk-resourceexplorer2 Show documentation
/*
* Copyright 2019-2024 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.resourceexplorer2.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 CreateViewRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {
/**
*
* This value helps ensure idempotency. Resource Explorer uses this value to prevent the accidental creation of
* duplicate versions. We recommend that you generate a UUID-type value to ensure the uniqueness of
* your views.
*
*/
private String clientToken;
/**
*
* An array of strings that specify which resources are included in the results of queries made using this view.
* When you use this view in a Search operation, the filter string is combined with the search's
* QueryString
parameter using a logical AND
operator.
*
*
* For information about the supported syntax, see Search query
* reference for Resource Explorer in the Amazon Web Services Resource Explorer User Guide.
*
*
*
* This query string in the context of this operation supports only filter prefixes with optional operators. It doesn't support free-form text. For example, the string
* region:us* service:ec2 -tag:stage=prod
includes all Amazon EC2 resources in any Amazon Web Services
* Region that begins with the letters us
and is not tagged with a key Stage
that
* has the value prod
.
*
*
*/
private SearchFilter filters;
/**
*
* Specifies optional fields that you want included in search results from this view. It is a list of objects that
* each describe a field to include.
*
*
* The default is an empty list, with no optional fields included in the results.
*
*/
private java.util.List includedProperties;
/**
*
* The root ARN of the account, an organizational unit (OU), or an organization ARN. If left empty, the default is
* account.
*
*/
private String scope;
/**
*
* Tag key and value pairs that are attached to the view.
*
*/
private java.util.Map tags;
/**
*
* The name of the new view. This name appears in the list of views in Resource Explorer.
*
*
* The name must be no more than 64 characters long, and can include letters, digits, and the dash (-) character.
* The name must be unique within its Amazon Web Services Region.
*
*/
private String viewName;
/**
*
* This value helps ensure idempotency. Resource Explorer uses this value to prevent the accidental creation of
* duplicate versions. We recommend that you generate a UUID-type value to ensure the uniqueness of
* your views.
*
*
* @param clientToken
* This value helps ensure idempotency. Resource Explorer uses this value to prevent the accidental creation
* of duplicate versions. We recommend that you generate a UUID-type value to ensure the
* uniqueness of your views.
*/
public void setClientToken(String clientToken) {
this.clientToken = clientToken;
}
/**
*
* This value helps ensure idempotency. Resource Explorer uses this value to prevent the accidental creation of
* duplicate versions. We recommend that you generate a UUID-type value to ensure the uniqueness of
* your views.
*
*
* @return This value helps ensure idempotency. Resource Explorer uses this value to prevent the accidental creation
* of duplicate versions. We recommend that you generate a UUID-type value to ensure the
* uniqueness of your views.
*/
public String getClientToken() {
return this.clientToken;
}
/**
*
* This value helps ensure idempotency. Resource Explorer uses this value to prevent the accidental creation of
* duplicate versions. We recommend that you generate a UUID-type value to ensure the uniqueness of
* your views.
*
*
* @param clientToken
* This value helps ensure idempotency. Resource Explorer uses this value to prevent the accidental creation
* of duplicate versions. We recommend that you generate a UUID-type value to ensure the
* uniqueness of your views.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateViewRequest withClientToken(String clientToken) {
setClientToken(clientToken);
return this;
}
/**
*
* An array of strings that specify which resources are included in the results of queries made using this view.
* When you use this view in a Search operation, the filter string is combined with the search's
* QueryString
parameter using a logical AND
operator.
*
*
* For information about the supported syntax, see Search query
* reference for Resource Explorer in the Amazon Web Services Resource Explorer User Guide.
*
*
*
* This query string in the context of this operation supports only filter prefixes with optional operators. It doesn't support free-form text. For example, the string
* region:us* service:ec2 -tag:stage=prod
includes all Amazon EC2 resources in any Amazon Web Services
* Region that begins with the letters us
and is not tagged with a key Stage
that
* has the value prod
.
*
*
*
* @param filters
* An array of strings that specify which resources are included in the results of queries made using this
* view. When you use this view in a Search operation, the filter string is combined with the search's
* QueryString
parameter using a logical AND
operator.
*
* For information about the supported syntax, see Search query reference for Resource Explorer in the Amazon Web Services Resource Explorer User
* Guide.
*
*
*
* This query string in the context of this operation supports only filter prefixes with optional operators. It doesn't support free-form text. For example, the string
* region:us* service:ec2 -tag:stage=prod
includes all Amazon EC2 resources in any Amazon Web
* Services Region that begins with the letters us
and is not tagged with a key
* Stage
that has the value prod
.
*
*/
public void setFilters(SearchFilter filters) {
this.filters = filters;
}
/**
*
* An array of strings that specify which resources are included in the results of queries made using this view.
* When you use this view in a Search operation, the filter string is combined with the search's
* QueryString
parameter using a logical AND
operator.
*
*
* For information about the supported syntax, see Search query
* reference for Resource Explorer in the Amazon Web Services Resource Explorer User Guide.
*
*
*
* This query string in the context of this operation supports only filter prefixes with optional operators. It doesn't support free-form text. For example, the string
* region:us* service:ec2 -tag:stage=prod
includes all Amazon EC2 resources in any Amazon Web Services
* Region that begins with the letters us
and is not tagged with a key Stage
that
* has the value prod
.
*
*
*
* @return An array of strings that specify which resources are included in the results of queries made using this
* view. When you use this view in a Search operation, the filter string is combined with the
* search's QueryString
parameter using a logical AND
operator.
*
* For information about the supported syntax, see Search query reference for Resource Explorer in the Amazon Web Services Resource Explorer User
* Guide.
*
*
*
* This query string in the context of this operation supports only filter prefixes with optional operators. It doesn't support free-form text. For example, the string
* region:us* service:ec2 -tag:stage=prod
includes all Amazon EC2 resources in any Amazon Web
* Services Region that begins with the letters us
and is not tagged with a key
* Stage
that has the value prod
.
*
*/
public SearchFilter getFilters() {
return this.filters;
}
/**
*
* An array of strings that specify which resources are included in the results of queries made using this view.
* When you use this view in a Search operation, the filter string is combined with the search's
* QueryString
parameter using a logical AND
operator.
*
*
* For information about the supported syntax, see Search query
* reference for Resource Explorer in the Amazon Web Services Resource Explorer User Guide.
*
*
*
* This query string in the context of this operation supports only filter prefixes with optional operators. It doesn't support free-form text. For example, the string
* region:us* service:ec2 -tag:stage=prod
includes all Amazon EC2 resources in any Amazon Web Services
* Region that begins with the letters us
and is not tagged with a key Stage
that
* has the value prod
.
*
*
*
* @param filters
* An array of strings that specify which resources are included in the results of queries made using this
* view. When you use this view in a Search operation, the filter string is combined with the search's
* QueryString
parameter using a logical AND
operator.
*
* For information about the supported syntax, see Search query reference for Resource Explorer in the Amazon Web Services Resource Explorer User
* Guide.
*
*
*
* This query string in the context of this operation supports only filter prefixes with optional operators. It doesn't support free-form text. For example, the string
* region:us* service:ec2 -tag:stage=prod
includes all Amazon EC2 resources in any Amazon Web
* Services Region that begins with the letters us
and is not tagged with a key
* Stage
that has the value prod
.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateViewRequest withFilters(SearchFilter filters) {
setFilters(filters);
return this;
}
/**
*
* Specifies optional fields that you want included in search results from this view. It is a list of objects that
* each describe a field to include.
*
*
* The default is an empty list, with no optional fields included in the results.
*
*
* @return Specifies optional fields that you want included in search results from this view. It is a list of
* objects that each describe a field to include.
*
* The default is an empty list, with no optional fields included in the results.
*/
public java.util.List getIncludedProperties() {
return includedProperties;
}
/**
*
* Specifies optional fields that you want included in search results from this view. It is a list of objects that
* each describe a field to include.
*
*
* The default is an empty list, with no optional fields included in the results.
*
*
* @param includedProperties
* Specifies optional fields that you want included in search results from this view. It is a list of objects
* that each describe a field to include.
*
* The default is an empty list, with no optional fields included in the results.
*/
public void setIncludedProperties(java.util.Collection includedProperties) {
if (includedProperties == null) {
this.includedProperties = null;
return;
}
this.includedProperties = new java.util.ArrayList(includedProperties);
}
/**
*
* Specifies optional fields that you want included in search results from this view. It is a list of objects that
* each describe a field to include.
*
*
* The default is an empty list, with no optional fields included in the results.
*
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setIncludedProperties(java.util.Collection)} or {@link #withIncludedProperties(java.util.Collection)} if
* you want to override the existing values.
*
*
* @param includedProperties
* Specifies optional fields that you want included in search results from this view. It is a list of objects
* that each describe a field to include.
*
* The default is an empty list, with no optional fields included in the results.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateViewRequest withIncludedProperties(IncludedProperty... includedProperties) {
if (this.includedProperties == null) {
setIncludedProperties(new java.util.ArrayList(includedProperties.length));
}
for (IncludedProperty ele : includedProperties) {
this.includedProperties.add(ele);
}
return this;
}
/**
*
* Specifies optional fields that you want included in search results from this view. It is a list of objects that
* each describe a field to include.
*
*
* The default is an empty list, with no optional fields included in the results.
*
*
* @param includedProperties
* Specifies optional fields that you want included in search results from this view. It is a list of objects
* that each describe a field to include.
*
* The default is an empty list, with no optional fields included in the results.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateViewRequest withIncludedProperties(java.util.Collection includedProperties) {
setIncludedProperties(includedProperties);
return this;
}
/**
*
* The root ARN of the account, an organizational unit (OU), or an organization ARN. If left empty, the default is
* account.
*
*
* @param scope
* The root ARN of the account, an organizational unit (OU), or an organization ARN. If left empty, the
* default is account.
*/
public void setScope(String scope) {
this.scope = scope;
}
/**
*
* The root ARN of the account, an organizational unit (OU), or an organization ARN. If left empty, the default is
* account.
*
*
* @return The root ARN of the account, an organizational unit (OU), or an organization ARN. If left empty, the
* default is account.
*/
public String getScope() {
return this.scope;
}
/**
*
* The root ARN of the account, an organizational unit (OU), or an organization ARN. If left empty, the default is
* account.
*
*
* @param scope
* The root ARN of the account, an organizational unit (OU), or an organization ARN. If left empty, the
* default is account.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateViewRequest withScope(String scope) {
setScope(scope);
return this;
}
/**
*
* Tag key and value pairs that are attached to the view.
*
*
* @return Tag key and value pairs that are attached to the view.
*/
public java.util.Map getTags() {
return tags;
}
/**
*
* Tag key and value pairs that are attached to the view.
*
*
* @param tags
* Tag key and value pairs that are attached to the view.
*/
public void setTags(java.util.Map tags) {
this.tags = tags;
}
/**
*
* Tag key and value pairs that are attached to the view.
*
*
* @param tags
* Tag key and value pairs that are attached to the view.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateViewRequest withTags(java.util.Map tags) {
setTags(tags);
return this;
}
/**
* Add a single Tags entry
*
* @see CreateViewRequest#withTags
* @returns a reference to this object so that method calls can be chained together.
*/
public CreateViewRequest addTagsEntry(String key, String value) {
if (null == this.tags) {
this.tags = new java.util.HashMap();
}
if (this.tags.containsKey(key))
throw new IllegalArgumentException("Duplicated keys (" + key.toString() + ") are provided.");
this.tags.put(key, value);
return this;
}
/**
* Removes all the entries added into Tags.
*
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateViewRequest clearTagsEntries() {
this.tags = null;
return this;
}
/**
*
* The name of the new view. This name appears in the list of views in Resource Explorer.
*
*
* The name must be no more than 64 characters long, and can include letters, digits, and the dash (-) character.
* The name must be unique within its Amazon Web Services Region.
*
*
* @param viewName
* The name of the new view. This name appears in the list of views in Resource Explorer.
*
* The name must be no more than 64 characters long, and can include letters, digits, and the dash (-)
* character. The name must be unique within its Amazon Web Services Region.
*/
public void setViewName(String viewName) {
this.viewName = viewName;
}
/**
*
* The name of the new view. This name appears in the list of views in Resource Explorer.
*
*
* The name must be no more than 64 characters long, and can include letters, digits, and the dash (-) character.
* The name must be unique within its Amazon Web Services Region.
*
*
* @return The name of the new view. This name appears in the list of views in Resource Explorer.
*
* The name must be no more than 64 characters long, and can include letters, digits, and the dash (-)
* character. The name must be unique within its Amazon Web Services Region.
*/
public String getViewName() {
return this.viewName;
}
/**
*
* The name of the new view. This name appears in the list of views in Resource Explorer.
*
*
* The name must be no more than 64 characters long, and can include letters, digits, and the dash (-) character.
* The name must be unique within its Amazon Web Services Region.
*
*
* @param viewName
* The name of the new view. This name appears in the list of views in Resource Explorer.
*
* The name must be no more than 64 characters long, and can include letters, digits, and the dash (-)
* character. The name must be unique within its Amazon Web Services Region.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public CreateViewRequest withViewName(String viewName) {
setViewName(viewName);
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 (getClientToken() != null)
sb.append("ClientToken: ").append(getClientToken()).append(",");
if (getFilters() != null)
sb.append("Filters: ").append("***Sensitive Data Redacted***").append(",");
if (getIncludedProperties() != null)
sb.append("IncludedProperties: ").append(getIncludedProperties()).append(",");
if (getScope() != null)
sb.append("Scope: ").append(getScope()).append(",");
if (getTags() != null)
sb.append("Tags: ").append("***Sensitive Data Redacted***").append(",");
if (getViewName() != null)
sb.append("ViewName: ").append(getViewName());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof CreateViewRequest == false)
return false;
CreateViewRequest other = (CreateViewRequest) obj;
if (other.getClientToken() == null ^ this.getClientToken() == null)
return false;
if (other.getClientToken() != null && other.getClientToken().equals(this.getClientToken()) == false)
return false;
if (other.getFilters() == null ^ this.getFilters() == null)
return false;
if (other.getFilters() != null && other.getFilters().equals(this.getFilters()) == false)
return false;
if (other.getIncludedProperties() == null ^ this.getIncludedProperties() == null)
return false;
if (other.getIncludedProperties() != null && other.getIncludedProperties().equals(this.getIncludedProperties()) == false)
return false;
if (other.getScope() == null ^ this.getScope() == null)
return false;
if (other.getScope() != null && other.getScope().equals(this.getScope()) == false)
return false;
if (other.getTags() == null ^ this.getTags() == null)
return false;
if (other.getTags() != null && other.getTags().equals(this.getTags()) == false)
return false;
if (other.getViewName() == null ^ this.getViewName() == null)
return false;
if (other.getViewName() != null && other.getViewName().equals(this.getViewName()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getClientToken() == null) ? 0 : getClientToken().hashCode());
hashCode = prime * hashCode + ((getFilters() == null) ? 0 : getFilters().hashCode());
hashCode = prime * hashCode + ((getIncludedProperties() == null) ? 0 : getIncludedProperties().hashCode());
hashCode = prime * hashCode + ((getScope() == null) ? 0 : getScope().hashCode());
hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode());
hashCode = prime * hashCode + ((getViewName() == null) ? 0 : getViewName().hashCode());
return hashCode;
}
@Override
public CreateViewRequest clone() {
return (CreateViewRequest) super.clone();
}
}