/* * 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.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* The data type name for including resource data sync state. There are four sync states: *
*
* OrganizationNotExists
(Your organization doesn't exist)
*
* NoPermissions
(The system can't locate the service-linked role. This role is automatically created when
* a user creates a resource data sync in Amazon Web Services Systems Manager Explorer.)
*
* InvalidOrganizationalUnit
(You specified or selected an invalid unit in the resource data sync
* configuration.)
*
* TrustedAccessDisabled
(You disabled Systems Manager access in the organization in Organizations.)
*
* The type of data source for the resource data sync. SourceType
is either
* AwsOrganizations
(if an organization is present in Organizations) or
* singleAccountMultiRegions
.
*
* The field name in SyncSource
for the ResourceDataSyncAwsOrganizationsSource
type.
*
* The SyncSource
Amazon Web Services Regions included in the resource data sync.
*
* Whether to automatically synchronize and aggregate data from new Amazon Web Services Regions when those Regions * come online. *
*/ private Boolean includeFutureRegions; /** ** The data type name for including resource data sync state. There are four sync states: *
*
* OrganizationNotExists
: Your organization doesn't exist.
*
* NoPermissions
: The system can't locate the service-linked role. This role is automatically created
* when a user creates a resource data sync in Explorer.
*
* InvalidOrganizationalUnit
: You specified or selected an invalid unit in the resource data sync
* configuration.
*
* TrustedAccessDisabled
: You disabled Systems Manager access in the organization in Organizations.
*
* When you create a resource data sync, if you choose one of the Organizations options, then Systems Manager * automatically enables all OpsData sources in the selected Amazon Web Services Regions for all Amazon Web Services * accounts in your organization (or in the selected organization units). For more information, see About multiple account and Region resource data syncs in the Amazon Web Services Systems Manager User * Guide. *
*/ private Boolean enableAllOpsDataSources; /** *
* The type of data source for the resource data sync. SourceType
is either
* AwsOrganizations
(if an organization is present in Organizations) or
* singleAccountMultiRegions
.
*
SourceType
is either
* AwsOrganizations
(if an organization is present in Organizations) or
* singleAccountMultiRegions
.
*/
public void setSourceType(String sourceType) {
this.sourceType = sourceType;
}
/**
*
* The type of data source for the resource data sync. SourceType
is either
* AwsOrganizations
(if an organization is present in Organizations) or
* singleAccountMultiRegions
.
*
SourceType
is either
* AwsOrganizations
(if an organization is present in Organizations) or
* singleAccountMultiRegions
.
*/
public String getSourceType() {
return this.sourceType;
}
/**
*
* The type of data source for the resource data sync. SourceType
is either
* AwsOrganizations
(if an organization is present in Organizations) or
* singleAccountMultiRegions
.
*
SourceType
is either
* AwsOrganizations
(if an organization is present in Organizations) or
* singleAccountMultiRegions
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ResourceDataSyncSourceWithState withSourceType(String sourceType) {
setSourceType(sourceType);
return this;
}
/**
*
* The field name in SyncSource
for the ResourceDataSyncAwsOrganizationsSource
type.
*
SyncSource
for the ResourceDataSyncAwsOrganizationsSource
* type.
*/
public void setAwsOrganizationsSource(ResourceDataSyncAwsOrganizationsSource awsOrganizationsSource) {
this.awsOrganizationsSource = awsOrganizationsSource;
}
/**
*
* The field name in SyncSource
for the ResourceDataSyncAwsOrganizationsSource
type.
*
SyncSource
for the ResourceDataSyncAwsOrganizationsSource
* type.
*/
public ResourceDataSyncAwsOrganizationsSource getAwsOrganizationsSource() {
return this.awsOrganizationsSource;
}
/**
*
* The field name in SyncSource
for the ResourceDataSyncAwsOrganizationsSource
type.
*
SyncSource
for the ResourceDataSyncAwsOrganizationsSource
* type.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ResourceDataSyncSourceWithState withAwsOrganizationsSource(ResourceDataSyncAwsOrganizationsSource awsOrganizationsSource) {
setAwsOrganizationsSource(awsOrganizationsSource);
return this;
}
/**
*
* The SyncSource
Amazon Web Services Regions included in the resource data sync.
*
SyncSource
Amazon Web Services Regions included in the resource data sync.
*/
public java.util.List
* The SyncSource
Amazon Web Services Regions included in the resource data sync.
*
SyncSource
Amazon Web Services Regions included in the resource data sync.
*/
public void setSourceRegions(java.util.Collection
* The SyncSource
Amazon Web Services Regions included in the resource data sync.
*
* NOTE: This method appends the values to the existing list (if any). Use * {@link #setSourceRegions(java.util.Collection)} or {@link #withSourceRegions(java.util.Collection)} if you want * to override the existing values. *
* * @param sourceRegions * TheSyncSource
Amazon Web Services Regions included in the resource data sync.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ResourceDataSyncSourceWithState withSourceRegions(String... sourceRegions) {
if (this.sourceRegions == null) {
setSourceRegions(new com.amazonaws.internal.SdkInternalList
* The SyncSource
Amazon Web Services Regions included in the resource data sync.
*
SyncSource
Amazon Web Services Regions included in the resource data sync.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ResourceDataSyncSourceWithState withSourceRegions(java.util.Collection* Whether to automatically synchronize and aggregate data from new Amazon Web Services Regions when those Regions * come online. *
* * @param includeFutureRegions * Whether to automatically synchronize and aggregate data from new Amazon Web Services Regions when those * Regions come online. */ public void setIncludeFutureRegions(Boolean includeFutureRegions) { this.includeFutureRegions = includeFutureRegions; } /** ** Whether to automatically synchronize and aggregate data from new Amazon Web Services Regions when those Regions * come online. *
* * @return Whether to automatically synchronize and aggregate data from new Amazon Web Services Regions when those * Regions come online. */ public Boolean getIncludeFutureRegions() { return this.includeFutureRegions; } /** ** Whether to automatically synchronize and aggregate data from new Amazon Web Services Regions when those Regions * come online. *
* * @param includeFutureRegions * Whether to automatically synchronize and aggregate data from new Amazon Web Services Regions when those * Regions come online. * @return Returns a reference to this object so that method calls can be chained together. */ public ResourceDataSyncSourceWithState withIncludeFutureRegions(Boolean includeFutureRegions) { setIncludeFutureRegions(includeFutureRegions); return this; } /** ** Whether to automatically synchronize and aggregate data from new Amazon Web Services Regions when those Regions * come online. *
* * @return Whether to automatically synchronize and aggregate data from new Amazon Web Services Regions when those * Regions come online. */ public Boolean isIncludeFutureRegions() { return this.includeFutureRegions; } /** ** The data type name for including resource data sync state. There are four sync states: *
*
* OrganizationNotExists
: Your organization doesn't exist.
*
* NoPermissions
: The system can't locate the service-linked role. This role is automatically created
* when a user creates a resource data sync in Explorer.
*
* InvalidOrganizationalUnit
: You specified or selected an invalid unit in the resource data sync
* configuration.
*
* TrustedAccessDisabled
: You disabled Systems Manager access in the organization in Organizations.
*
* OrganizationNotExists
: Your organization doesn't exist.
*
* NoPermissions
: The system can't locate the service-linked role. This role is automatically
* created when a user creates a resource data sync in Explorer.
*
* InvalidOrganizationalUnit
: You specified or selected an invalid unit in the resource data
* sync configuration.
*
* TrustedAccessDisabled
: You disabled Systems Manager access in the organization in
* Organizations.
*/
public void setState(String state) {
this.state = state;
}
/**
*
* The data type name for including resource data sync state. There are four sync states: *
*
* OrganizationNotExists
: Your organization doesn't exist.
*
* NoPermissions
: The system can't locate the service-linked role. This role is automatically created
* when a user creates a resource data sync in Explorer.
*
* InvalidOrganizationalUnit
: You specified or selected an invalid unit in the resource data sync
* configuration.
*
* TrustedAccessDisabled
: You disabled Systems Manager access in the organization in Organizations.
*
* OrganizationNotExists
: Your organization doesn't exist.
*
* NoPermissions
: The system can't locate the service-linked role. This role is automatically
* created when a user creates a resource data sync in Explorer.
*
* InvalidOrganizationalUnit
: You specified or selected an invalid unit in the resource data
* sync configuration.
*
* TrustedAccessDisabled
: You disabled Systems Manager access in the organization in
* Organizations.
*/
public String getState() {
return this.state;
}
/**
*
* The data type name for including resource data sync state. There are four sync states: *
*
* OrganizationNotExists
: Your organization doesn't exist.
*
* NoPermissions
: The system can't locate the service-linked role. This role is automatically created
* when a user creates a resource data sync in Explorer.
*
* InvalidOrganizationalUnit
: You specified or selected an invalid unit in the resource data sync
* configuration.
*
* TrustedAccessDisabled
: You disabled Systems Manager access in the organization in Organizations.
*
* OrganizationNotExists
: Your organization doesn't exist.
*
* NoPermissions
: The system can't locate the service-linked role. This role is automatically
* created when a user creates a resource data sync in Explorer.
*
* InvalidOrganizationalUnit
: You specified or selected an invalid unit in the resource data
* sync configuration.
*
* TrustedAccessDisabled
: You disabled Systems Manager access in the organization in
* Organizations.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ResourceDataSyncSourceWithState withState(String state) {
setState(state);
return this;
}
/**
*
* When you create a resource data sync, if you choose one of the Organizations options, then Systems Manager * automatically enables all OpsData sources in the selected Amazon Web Services Regions for all Amazon Web Services * accounts in your organization (or in the selected organization units). For more information, see About multiple account and Region resource data syncs in the Amazon Web Services Systems Manager User * Guide. *
* * @param enableAllOpsDataSources * When you create a resource data sync, if you choose one of the Organizations options, then Systems Manager * automatically enables all OpsData sources in the selected Amazon Web Services Regions for all Amazon Web * Services accounts in your organization (or in the selected organization units). For more information, see * About multiple account and Region resource data syncs in the Amazon Web Services Systems Manager * User Guide. */ public void setEnableAllOpsDataSources(Boolean enableAllOpsDataSources) { this.enableAllOpsDataSources = enableAllOpsDataSources; } /** ** When you create a resource data sync, if you choose one of the Organizations options, then Systems Manager * automatically enables all OpsData sources in the selected Amazon Web Services Regions for all Amazon Web Services * accounts in your organization (or in the selected organization units). For more information, see About multiple account and Region resource data syncs in the Amazon Web Services Systems Manager User * Guide. *
* * @return When you create a resource data sync, if you choose one of the Organizations options, then Systems * Manager automatically enables all OpsData sources in the selected Amazon Web Services Regions for all * Amazon Web Services accounts in your organization (or in the selected organization units). For more * information, see About multiple account and Region resource data syncs in the Amazon Web Services Systems Manager * User Guide. */ public Boolean getEnableAllOpsDataSources() { return this.enableAllOpsDataSources; } /** ** When you create a resource data sync, if you choose one of the Organizations options, then Systems Manager * automatically enables all OpsData sources in the selected Amazon Web Services Regions for all Amazon Web Services * accounts in your organization (or in the selected organization units). For more information, see About multiple account and Region resource data syncs in the Amazon Web Services Systems Manager User * Guide. *
* * @param enableAllOpsDataSources * When you create a resource data sync, if you choose one of the Organizations options, then Systems Manager * automatically enables all OpsData sources in the selected Amazon Web Services Regions for all Amazon Web * Services accounts in your organization (or in the selected organization units). For more information, see * About multiple account and Region resource data syncs in the Amazon Web Services Systems Manager * User Guide. * @return Returns a reference to this object so that method calls can be chained together. */ public ResourceDataSyncSourceWithState withEnableAllOpsDataSources(Boolean enableAllOpsDataSources) { setEnableAllOpsDataSources(enableAllOpsDataSources); return this; } /** ** When you create a resource data sync, if you choose one of the Organizations options, then Systems Manager * automatically enables all OpsData sources in the selected Amazon Web Services Regions for all Amazon Web Services * accounts in your organization (or in the selected organization units). For more information, see About multiple account and Region resource data syncs in the Amazon Web Services Systems Manager User * Guide. *
* * @return When you create a resource data sync, if you choose one of the Organizations options, then Systems * Manager automatically enables all OpsData sources in the selected Amazon Web Services Regions for all * Amazon Web Services accounts in your organization (or in the selected organization units). For more * information, see About multiple account and Region resource data syncs in the Amazon Web Services Systems Manager * User Guide. */ public Boolean isEnableAllOpsDataSources() { return this.enableAllOpsDataSources; } /** * 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 (getSourceType() != null) sb.append("SourceType: ").append(getSourceType()).append(","); if (getAwsOrganizationsSource() != null) sb.append("AwsOrganizationsSource: ").append(getAwsOrganizationsSource()).append(","); if (getSourceRegions() != null) sb.append("SourceRegions: ").append(getSourceRegions()).append(","); if (getIncludeFutureRegions() != null) sb.append("IncludeFutureRegions: ").append(getIncludeFutureRegions()).append(","); if (getState() != null) sb.append("State: ").append(getState()).append(","); if (getEnableAllOpsDataSources() != null) sb.append("EnableAllOpsDataSources: ").append(getEnableAllOpsDataSources()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof ResourceDataSyncSourceWithState == false) return false; ResourceDataSyncSourceWithState other = (ResourceDataSyncSourceWithState) obj; if (other.getSourceType() == null ^ this.getSourceType() == null) return false; if (other.getSourceType() != null && other.getSourceType().equals(this.getSourceType()) == false) return false; if (other.getAwsOrganizationsSource() == null ^ this.getAwsOrganizationsSource() == null) return false; if (other.getAwsOrganizationsSource() != null && other.getAwsOrganizationsSource().equals(this.getAwsOrganizationsSource()) == false) return false; if (other.getSourceRegions() == null ^ this.getSourceRegions() == null) return false; if (other.getSourceRegions() != null && other.getSourceRegions().equals(this.getSourceRegions()) == false) return false; if (other.getIncludeFutureRegions() == null ^ this.getIncludeFutureRegions() == null) return false; if (other.getIncludeFutureRegions() != null && other.getIncludeFutureRegions().equals(this.getIncludeFutureRegions()) == false) return false; if (other.getState() == null ^ this.getState() == null) return false; if (other.getState() != null && other.getState().equals(this.getState()) == false) return false; if (other.getEnableAllOpsDataSources() == null ^ this.getEnableAllOpsDataSources() == null) return false; if (other.getEnableAllOpsDataSources() != null && other.getEnableAllOpsDataSources().equals(this.getEnableAllOpsDataSources()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getSourceType() == null) ? 0 : getSourceType().hashCode()); hashCode = prime * hashCode + ((getAwsOrganizationsSource() == null) ? 0 : getAwsOrganizationsSource().hashCode()); hashCode = prime * hashCode + ((getSourceRegions() == null) ? 0 : getSourceRegions().hashCode()); hashCode = prime * hashCode + ((getIncludeFutureRegions() == null) ? 0 : getIncludeFutureRegions().hashCode()); hashCode = prime * hashCode + ((getState() == null) ? 0 : getState().hashCode()); hashCode = prime * hashCode + ((getEnableAllOpsDataSources() == null) ? 0 : getEnableAllOpsDataSources().hashCode()); return hashCode; } @Override public ResourceDataSyncSourceWithState clone() { try { return (ResourceDataSyncSourceWithState) super.clone(); } catch (CloneNotSupportedException e) { throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e); } } @com.amazonaws.annotation.SdkInternalApi @Override public void marshall(ProtocolMarshaller protocolMarshaller) { com.amazonaws.services.simplesystemsmanagement.model.transform.ResourceDataSyncSourceWithStateMarshaller.getInstance().marshall(this, protocolMarshaller); } }