/* * 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.managedgrafana.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* A structure containing information about an Amazon Managed Grafana workspace in your account. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class WorkspaceDescription implements Serializable, Cloneable, StructuredPojo { /** *
* Specifies whether the workspace can access Amazon Web Services resources in this Amazon Web Services account
* only, or whether it can also access Amazon Web Services resources in other accounts in the same organization. If
* this is ORGANIZATION
, the workspaceOrganizationalUnits
parameter specifies which
* organizational units the workspace can access.
*
* A structure that describes whether the workspace uses SAML, IAM Identity Center, or both methods for user * authentication. *
*/ private AuthenticationSummary authentication; /** ** The date that the workspace was created. *
*/ private java.util.Date created; /** ** Specifies the Amazon Web Services data sources that have been configured to have IAM roles and permissions * created to allow Amazon Managed Grafana to read data from these sources. *
*
* This list is only used when the workspace was created through the Amazon Web Services console, and the
* permissionType
is SERVICE_MANAGED
.
*
* The user-defined description of the workspace. *
*/ private String description; /** ** The URL that users can use to access the Grafana console in the workspace. *
*/ private String endpoint; /** ** Specifies whether this workspace has already fully used its free trial for Grafana Enterprise. *
*/ private Boolean freeTrialConsumed; /** ** If this workspace is currently in the free trial period for Grafana Enterprise, this value specifies when that * free trial ends. *
*/ private java.util.Date freeTrialExpiration; /** ** The version of Grafana supported in this workspace. *
*/ private String grafanaVersion; /** ** The unique ID of this workspace. *
*/ private String id; /** ** If this workspace has a full Grafana Enterprise license, this specifies when the license ends and will need to be * renewed. *
*/ private java.util.Date licenseExpiration; /** ** Specifies whether this workspace has a full Grafana Enterprise license or a free trial license. *
*/ private String licenseType; /** ** The most recent date that the workspace was modified. *
*/ private java.util.Date modified; /** ** The name of the workspace. *
*/ private String name; /** ** The configuration settings for network access to your workspace. *
*/ private NetworkAccessConfiguration networkAccessControl; /** ** The Amazon Web Services notification channels that Amazon Managed Grafana can automatically create IAM roles and * permissions for, to allow Amazon Managed Grafana to use these channels. *
*/ private java.util.List* The name of the IAM role that is used to access resources through Organizations. *
*/ private String organizationRoleName; /** ** Specifies the organizational units that this workspace is allowed to use data sources from, if this workspace is * in an account that is part of an organization. *
*/ private java.util.List
* If this is SERVICE_MANAGED
, and the workplace was created through the Amazon Managed Grafana
* console, then Amazon Managed Grafana automatically creates the IAM roles and provisions the permissions that the
* workspace needs to use Amazon Web Services data sources and notification channels.
*
* If this is CUSTOMER_MANAGED
, you must manage those roles and permissions yourself.
*
* If you are working with a workspace in a member account of an organization and that account is not a delegated
* administrator account, and you want the workspace to access data sources in other Amazon Web Services accounts in
* the organization, this parameter must be set to CUSTOMER_MANAGED
.
*
* For more information about converting between customer and service managed, see Managing * permissions for data sources and notification channels. For more information about the roles and permissions * that must be managed for customer managed workspaces, see Amazon Managed Grafana * permissions and policies for Amazon Web Services data sources and notification channels *
*/ private String permissionType; /** ** The name of the CloudFormation stack set that is used to generate IAM roles to be used for this workspace. *
*/ private String stackSetName; /** ** The current status of the workspace. *
*/ private String status; /** ** The list of tags associated with the workspace. *
*/ private java.util.Map* The configuration for connecting to data sources in a private VPC (Amazon Virtual Private Cloud). *
*/ private VpcConfiguration vpcConfiguration; /** ** The IAM role that grants permissions to the Amazon Web Services resources that the workspace will view data from. * This role must already exist. *
*/ private String workspaceRoleArn; /** *
* Specifies whether the workspace can access Amazon Web Services resources in this Amazon Web Services account
* only, or whether it can also access Amazon Web Services resources in other accounts in the same organization. If
* this is ORGANIZATION
, the workspaceOrganizationalUnits
parameter specifies which
* organizational units the workspace can access.
*
ORGANIZATION
, the workspaceOrganizationalUnits
* parameter specifies which organizational units the workspace can access.
* @see AccountAccessType
*/
public void setAccountAccessType(String accountAccessType) {
this.accountAccessType = accountAccessType;
}
/**
*
* Specifies whether the workspace can access Amazon Web Services resources in this Amazon Web Services account
* only, or whether it can also access Amazon Web Services resources in other accounts in the same organization. If
* this is ORGANIZATION
, the workspaceOrganizationalUnits
parameter specifies which
* organizational units the workspace can access.
*
ORGANIZATION
, the workspaceOrganizationalUnits
* parameter specifies which organizational units the workspace can access.
* @see AccountAccessType
*/
public String getAccountAccessType() {
return this.accountAccessType;
}
/**
*
* Specifies whether the workspace can access Amazon Web Services resources in this Amazon Web Services account
* only, or whether it can also access Amazon Web Services resources in other accounts in the same organization. If
* this is ORGANIZATION
, the workspaceOrganizationalUnits
parameter specifies which
* organizational units the workspace can access.
*
ORGANIZATION
, the workspaceOrganizationalUnits
* parameter specifies which organizational units the workspace can access.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AccountAccessType
*/
public WorkspaceDescription withAccountAccessType(String accountAccessType) {
setAccountAccessType(accountAccessType);
return this;
}
/**
*
* Specifies whether the workspace can access Amazon Web Services resources in this Amazon Web Services account
* only, or whether it can also access Amazon Web Services resources in other accounts in the same organization. If
* this is ORGANIZATION
, the workspaceOrganizationalUnits
parameter specifies which
* organizational units the workspace can access.
*
ORGANIZATION
, the workspaceOrganizationalUnits
* parameter specifies which organizational units the workspace can access.
* @return Returns a reference to this object so that method calls can be chained together.
* @see AccountAccessType
*/
public WorkspaceDescription withAccountAccessType(AccountAccessType accountAccessType) {
this.accountAccessType = accountAccessType.toString();
return this;
}
/**
* * A structure that describes whether the workspace uses SAML, IAM Identity Center, or both methods for user * authentication. *
* * @param authentication * A structure that describes whether the workspace uses SAML, IAM Identity Center, or both methods for user * authentication. */ public void setAuthentication(AuthenticationSummary authentication) { this.authentication = authentication; } /** ** A structure that describes whether the workspace uses SAML, IAM Identity Center, or both methods for user * authentication. *
* * @return A structure that describes whether the workspace uses SAML, IAM Identity Center, or both methods for user * authentication. */ public AuthenticationSummary getAuthentication() { return this.authentication; } /** ** A structure that describes whether the workspace uses SAML, IAM Identity Center, or both methods for user * authentication. *
* * @param authentication * A structure that describes whether the workspace uses SAML, IAM Identity Center, or both methods for user * authentication. * @return Returns a reference to this object so that method calls can be chained together. */ public WorkspaceDescription withAuthentication(AuthenticationSummary authentication) { setAuthentication(authentication); return this; } /** ** The date that the workspace was created. *
* * @param created * The date that the workspace was created. */ public void setCreated(java.util.Date created) { this.created = created; } /** ** The date that the workspace was created. *
* * @return The date that the workspace was created. */ public java.util.Date getCreated() { return this.created; } /** ** The date that the workspace was created. *
* * @param created * The date that the workspace was created. * @return Returns a reference to this object so that method calls can be chained together. */ public WorkspaceDescription withCreated(java.util.Date created) { setCreated(created); return this; } /** ** Specifies the Amazon Web Services data sources that have been configured to have IAM roles and permissions * created to allow Amazon Managed Grafana to read data from these sources. *
*
* This list is only used when the workspace was created through the Amazon Web Services console, and the
* permissionType
is SERVICE_MANAGED
.
*
* This list is only used when the workspace was created through the Amazon Web Services console, and the
*
* Specifies the Amazon Web Services data sources that have been configured to have IAM roles and permissions
* created to allow Amazon Managed Grafana to read data from these sources.
*
* This list is only used when the workspace was created through the Amazon Web Services console, and the
* permissionType
is SERVICE_MANAGED
.
* @see DataSourceType
*/
public java.util.ListpermissionType
is SERVICE_MANAGED
.
*
* This list is only used when the workspace was created through the Amazon Web Services console, and the
*
* Specifies the Amazon Web Services data sources that have been configured to have IAM roles and permissions
* created to allow Amazon Managed Grafana to read data from these sources.
*
* This list is only used when the workspace was created through the Amazon Web Services console, and the
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setDataSources(java.util.Collection)} or {@link #withDataSources(java.util.Collection)} if you want to
* override the existing values.
* permissionType
is SERVICE_MANAGED
.
* @see DataSourceType
*/
public void setDataSources(java.util.CollectionpermissionType
is SERVICE_MANAGED
.
*
* This list is only used when the workspace was created through the Amazon Web Services console, and the
*
* Specifies the Amazon Web Services data sources that have been configured to have IAM roles and permissions
* created to allow Amazon Managed Grafana to read data from these sources.
*
* This list is only used when the workspace was created through the Amazon Web Services console, and the
* permissionType
is SERVICE_MANAGED
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see DataSourceType
*/
public WorkspaceDescription withDataSources(String... dataSources) {
if (this.dataSources == null) {
setDataSources(new java.util.ArrayListpermissionType
is SERVICE_MANAGED
.
*
* This list is only used when the workspace was created through the Amazon Web Services console, and the
*
* Specifies the Amazon Web Services data sources that have been configured to have IAM roles and permissions
* created to allow Amazon Managed Grafana to read data from these sources.
*
* This list is only used when the workspace was created through the Amazon Web Services console, and the
* permissionType
is SERVICE_MANAGED
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see DataSourceType
*/
public WorkspaceDescription withDataSources(java.util.CollectionpermissionType
is SERVICE_MANAGED
.
*
* This list is only used when the workspace was created through the Amazon Web Services console, and the
*
* The user-defined description of the workspace.
*
* The user-defined description of the workspace.
*
* The user-defined description of the workspace.
*
* The URL that users can use to access the Grafana console in the workspace.
*
* The URL that users can use to access the Grafana console in the workspace.
*
* The URL that users can use to access the Grafana console in the workspace.
*
* Specifies whether this workspace has already fully used its free trial for Grafana Enterprise.
*
* Specifies whether this workspace has already fully used its free trial for Grafana Enterprise.
*
* Specifies whether this workspace has already fully used its free trial for Grafana Enterprise.
*
* Specifies whether this workspace has already fully used its free trial for Grafana Enterprise.
*
* If this workspace is currently in the free trial period for Grafana Enterprise, this value specifies when that
* free trial ends.
*
* If this workspace is currently in the free trial period for Grafana Enterprise, this value specifies when that
* free trial ends.
*
* If this workspace is currently in the free trial period for Grafana Enterprise, this value specifies when that
* free trial ends.
*
* The version of Grafana supported in this workspace.
*
* The version of Grafana supported in this workspace.
*
* The version of Grafana supported in this workspace.
*
* The unique ID of this workspace.
*
* The unique ID of this workspace.
*
* The unique ID of this workspace.
*
* If this workspace has a full Grafana Enterprise license, this specifies when the license ends and will need to be
* renewed.
*
* If this workspace has a full Grafana Enterprise license, this specifies when the license ends and will need to be
* renewed.
*
* If this workspace has a full Grafana Enterprise license, this specifies when the license ends and will need to be
* renewed.
*
* Specifies whether this workspace has a full Grafana Enterprise license or a free trial license.
*
* Specifies whether this workspace has a full Grafana Enterprise license or a free trial license.
*
* Specifies whether this workspace has a full Grafana Enterprise license or a free trial license.
*
* Specifies whether this workspace has a full Grafana Enterprise license or a free trial license.
*
* The most recent date that the workspace was modified.
*
* The most recent date that the workspace was modified.
*
* The most recent date that the workspace was modified.
*
* The name of the workspace.
*
* The name of the workspace.
*
* The name of the workspace.
*
* The configuration settings for network access to your workspace.
*
* The configuration settings for network access to your workspace.
*
* The configuration settings for network access to your workspace.
*
* The Amazon Web Services notification channels that Amazon Managed Grafana can automatically create IAM roles and
* permissions for, to allow Amazon Managed Grafana to use these channels.
*
* The Amazon Web Services notification channels that Amazon Managed Grafana can automatically create IAM roles and
* permissions for, to allow Amazon Managed Grafana to use these channels.
*
* The Amazon Web Services notification channels that Amazon Managed Grafana can automatically create IAM roles and
* permissions for, to allow Amazon Managed Grafana to use these channels.
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setNotificationDestinations(java.util.Collection)} or
* {@link #withNotificationDestinations(java.util.Collection)} if you want to override the existing values.
*
* The Amazon Web Services notification channels that Amazon Managed Grafana can automatically create IAM roles and
* permissions for, to allow Amazon Managed Grafana to use these channels.
*
* The Amazon Web Services notification channels that Amazon Managed Grafana can automatically create IAM roles and
* permissions for, to allow Amazon Managed Grafana to use these channels.
*
* The name of the IAM role that is used to access resources through Organizations.
*
* The name of the IAM role that is used to access resources through Organizations.
*
* The name of the IAM role that is used to access resources through Organizations.
*
* Specifies the organizational units that this workspace is allowed to use data sources from, if this workspace is
* in an account that is part of an organization.
*
* Specifies the organizational units that this workspace is allowed to use data sources from, if this workspace is
* in an account that is part of an organization.
*
* Specifies the organizational units that this workspace is allowed to use data sources from, if this workspace is
* in an account that is part of an organization.
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setOrganizationalUnits(java.util.Collection)} or {@link #withOrganizationalUnits(java.util.Collection)}
* if you want to override the existing values.
*
* Specifies the organizational units that this workspace is allowed to use data sources from, if this workspace is
* in an account that is part of an organization.
*
* If this is
* If this is
* If you are working with a workspace in a member account of an organization and that account is not a delegated
* administrator account, and you want the workspace to access data sources in other Amazon Web Services accounts in
* the organization, this parameter must be set to
* For more information about converting between customer and service managed, see Managing
* permissions for data sources and notification channels. For more information about the roles and permissions
* that must be managed for customer managed workspaces, see Amazon Managed Grafana
* permissions and policies for Amazon Web Services data sources and notification channels
* permissionType
is SERVICE_MANAGED
.
* @return Returns a reference to this object so that method calls can be chained together.
* @see DataSourceType
*/
public WorkspaceDescription withDataSources(DataSourceType... dataSources) {
java.util.ArrayListSERVICE_MANAGED
, and the workplace was created through the Amazon Managed Grafana
* console, then Amazon Managed Grafana automatically creates the IAM roles and provisions the permissions that the
* workspace needs to use Amazon Web Services data sources and notification channels.
* CUSTOMER_MANAGED
, you must manage those roles and permissions yourself.
* CUSTOMER_MANAGED
.
* SERVICE_MANAGED
, and the workplace was created through the Amazon Managed Grafana
* console, then Amazon Managed Grafana automatically creates the IAM roles and provisions the permissions
* that the workspace needs to use Amazon Web Services data sources and notification channels.
* If this is CUSTOMER_MANAGED
, you must manage those roles and permissions yourself.
*
* If you are working with a workspace in a member account of an organization and that account is not a
* delegated administrator account, and you want the workspace to access data sources in other Amazon Web
* Services accounts in the organization, this parameter must be set to CUSTOMER_MANAGED
.
*
* For more information about converting between customer and service managed, see Managing * permissions for data sources and notification channels. For more information about the roles and * permissions that must be managed for customer managed workspaces, see Amazon Managed * Grafana permissions and policies for Amazon Web Services data sources and notification channels * @see PermissionType */ public void setPermissionType(String permissionType) { this.permissionType = permissionType; } /** *
* If this is SERVICE_MANAGED
, and the workplace was created through the Amazon Managed Grafana
* console, then Amazon Managed Grafana automatically creates the IAM roles and provisions the permissions that the
* workspace needs to use Amazon Web Services data sources and notification channels.
*
* If this is CUSTOMER_MANAGED
, you must manage those roles and permissions yourself.
*
* If you are working with a workspace in a member account of an organization and that account is not a delegated
* administrator account, and you want the workspace to access data sources in other Amazon Web Services accounts in
* the organization, this parameter must be set to CUSTOMER_MANAGED
.
*
* For more information about converting between customer and service managed, see Managing * permissions for data sources and notification channels. For more information about the roles and permissions * that must be managed for customer managed workspaces, see Amazon Managed Grafana * permissions and policies for Amazon Web Services data sources and notification channels *
* * @return If this isSERVICE_MANAGED
, and the workplace was created through the Amazon Managed Grafana
* console, then Amazon Managed Grafana automatically creates the IAM roles and provisions the permissions
* that the workspace needs to use Amazon Web Services data sources and notification channels.
*
* If this is CUSTOMER_MANAGED
, you must manage those roles and permissions yourself.
*
* If you are working with a workspace in a member account of an organization and that account is not a
* delegated administrator account, and you want the workspace to access data sources in other Amazon Web
* Services accounts in the organization, this parameter must be set to CUSTOMER_MANAGED
.
*
* For more information about converting between customer and service managed, see Managing * permissions for data sources and notification channels. For more information about the roles and * permissions that must be managed for customer managed workspaces, see Amazon Managed * Grafana permissions and policies for Amazon Web Services data sources and notification channels * @see PermissionType */ public String getPermissionType() { return this.permissionType; } /** *
* If this is SERVICE_MANAGED
, and the workplace was created through the Amazon Managed Grafana
* console, then Amazon Managed Grafana automatically creates the IAM roles and provisions the permissions that the
* workspace needs to use Amazon Web Services data sources and notification channels.
*
* If this is CUSTOMER_MANAGED
, you must manage those roles and permissions yourself.
*
* If you are working with a workspace in a member account of an organization and that account is not a delegated
* administrator account, and you want the workspace to access data sources in other Amazon Web Services accounts in
* the organization, this parameter must be set to CUSTOMER_MANAGED
.
*
* For more information about converting between customer and service managed, see Managing * permissions for data sources and notification channels. For more information about the roles and permissions * that must be managed for customer managed workspaces, see Amazon Managed Grafana * permissions and policies for Amazon Web Services data sources and notification channels *
* * @param permissionType * If this isSERVICE_MANAGED
, and the workplace was created through the Amazon Managed Grafana
* console, then Amazon Managed Grafana automatically creates the IAM roles and provisions the permissions
* that the workspace needs to use Amazon Web Services data sources and notification channels.
*
* If this is CUSTOMER_MANAGED
, you must manage those roles and permissions yourself.
*
* If you are working with a workspace in a member account of an organization and that account is not a
* delegated administrator account, and you want the workspace to access data sources in other Amazon Web
* Services accounts in the organization, this parameter must be set to CUSTOMER_MANAGED
.
*
* For more information about converting between customer and service managed, see Managing * permissions for data sources and notification channels. For more information about the roles and * permissions that must be managed for customer managed workspaces, see Amazon Managed * Grafana permissions and policies for Amazon Web Services data sources and notification channels * @return Returns a reference to this object so that method calls can be chained together. * @see PermissionType */ public WorkspaceDescription withPermissionType(String permissionType) { setPermissionType(permissionType); return this; } /** *
* If this is SERVICE_MANAGED
, and the workplace was created through the Amazon Managed Grafana
* console, then Amazon Managed Grafana automatically creates the IAM roles and provisions the permissions that the
* workspace needs to use Amazon Web Services data sources and notification channels.
*
* If this is CUSTOMER_MANAGED
, you must manage those roles and permissions yourself.
*
* If you are working with a workspace in a member account of an organization and that account is not a delegated
* administrator account, and you want the workspace to access data sources in other Amazon Web Services accounts in
* the organization, this parameter must be set to CUSTOMER_MANAGED
.
*
* For more information about converting between customer and service managed, see Managing * permissions for data sources and notification channels. For more information about the roles and permissions * that must be managed for customer managed workspaces, see Amazon Managed Grafana * permissions and policies for Amazon Web Services data sources and notification channels *
* * @param permissionType * If this isSERVICE_MANAGED
, and the workplace was created through the Amazon Managed Grafana
* console, then Amazon Managed Grafana automatically creates the IAM roles and provisions the permissions
* that the workspace needs to use Amazon Web Services data sources and notification channels.
*
* If this is CUSTOMER_MANAGED
, you must manage those roles and permissions yourself.
*
* If you are working with a workspace in a member account of an organization and that account is not a
* delegated administrator account, and you want the workspace to access data sources in other Amazon Web
* Services accounts in the organization, this parameter must be set to CUSTOMER_MANAGED
.
*
* For more information about converting between customer and service managed, see Managing * permissions for data sources and notification channels. For more information about the roles and * permissions that must be managed for customer managed workspaces, see Amazon Managed * Grafana permissions and policies for Amazon Web Services data sources and notification channels * @return Returns a reference to this object so that method calls can be chained together. * @see PermissionType */ public WorkspaceDescription withPermissionType(PermissionType permissionType) { this.permissionType = permissionType.toString(); return this; } /** *
* The name of the CloudFormation stack set that is used to generate IAM roles to be used for this workspace. *
* * @param stackSetName * The name of the CloudFormation stack set that is used to generate IAM roles to be used for this workspace. */ public void setStackSetName(String stackSetName) { this.stackSetName = stackSetName; } /** ** The name of the CloudFormation stack set that is used to generate IAM roles to be used for this workspace. *
* * @return The name of the CloudFormation stack set that is used to generate IAM roles to be used for this * workspace. */ public String getStackSetName() { return this.stackSetName; } /** ** The name of the CloudFormation stack set that is used to generate IAM roles to be used for this workspace. *
* * @param stackSetName * The name of the CloudFormation stack set that is used to generate IAM roles to be used for this workspace. * @return Returns a reference to this object so that method calls can be chained together. */ public WorkspaceDescription withStackSetName(String stackSetName) { setStackSetName(stackSetName); return this; } /** ** The current status of the workspace. *
* * @param status * The current status of the workspace. * @see WorkspaceStatus */ public void setStatus(String status) { this.status = status; } /** ** The current status of the workspace. *
* * @return The current status of the workspace. * @see WorkspaceStatus */ public String getStatus() { return this.status; } /** ** The current status of the workspace. *
* * @param status * The current status of the workspace. * @return Returns a reference to this object so that method calls can be chained together. * @see WorkspaceStatus */ public WorkspaceDescription withStatus(String status) { setStatus(status); return this; } /** ** The current status of the workspace. *
* * @param status * The current status of the workspace. * @return Returns a reference to this object so that method calls can be chained together. * @see WorkspaceStatus */ public WorkspaceDescription withStatus(WorkspaceStatus status) { this.status = status.toString(); return this; } /** ** The list of tags associated with the workspace. *
* * @return The list of tags associated with the workspace. */ public java.util.Map* The list of tags associated with the workspace. *
* * @param tags * The list of tags associated with the workspace. */ public void setTags(java.util.Map* The list of tags associated with the workspace. *
* * @param tags * The list of tags associated with the workspace. * @return Returns a reference to this object so that method calls can be chained together. */ public WorkspaceDescription withTags(java.util.Map* The configuration for connecting to data sources in a private VPC (Amazon Virtual Private Cloud). *
* * @param vpcConfiguration * The configuration for connecting to data sources in a private VPC (Amazon Virtual Private Cloud). */ public void setVpcConfiguration(VpcConfiguration vpcConfiguration) { this.vpcConfiguration = vpcConfiguration; } /** ** The configuration for connecting to data sources in a private VPC (Amazon Virtual Private Cloud). *
* * @return The configuration for connecting to data sources in a private VPC (Amazon Virtual Private Cloud). */ public VpcConfiguration getVpcConfiguration() { return this.vpcConfiguration; } /** ** The configuration for connecting to data sources in a private VPC (Amazon Virtual Private Cloud). *
* * @param vpcConfiguration * The configuration for connecting to data sources in a private VPC (Amazon Virtual Private Cloud). * @return Returns a reference to this object so that method calls can be chained together. */ public WorkspaceDescription withVpcConfiguration(VpcConfiguration vpcConfiguration) { setVpcConfiguration(vpcConfiguration); return this; } /** ** The IAM role that grants permissions to the Amazon Web Services resources that the workspace will view data from. * This role must already exist. *
* * @param workspaceRoleArn * The IAM role that grants permissions to the Amazon Web Services resources that the workspace will view * data from. This role must already exist. */ public void setWorkspaceRoleArn(String workspaceRoleArn) { this.workspaceRoleArn = workspaceRoleArn; } /** ** The IAM role that grants permissions to the Amazon Web Services resources that the workspace will view data from. * This role must already exist. *
* * @return The IAM role that grants permissions to the Amazon Web Services resources that the workspace will view * data from. This role must already exist. */ public String getWorkspaceRoleArn() { return this.workspaceRoleArn; } /** ** The IAM role that grants permissions to the Amazon Web Services resources that the workspace will view data from. * This role must already exist. *
* * @param workspaceRoleArn * The IAM role that grants permissions to the Amazon Web Services resources that the workspace will view * data from. This role must already exist. * @return Returns a reference to this object so that method calls can be chained together. */ public WorkspaceDescription withWorkspaceRoleArn(String workspaceRoleArn) { setWorkspaceRoleArn(workspaceRoleArn); 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 (getAccountAccessType() != null) sb.append("AccountAccessType: ").append(getAccountAccessType()).append(","); if (getAuthentication() != null) sb.append("Authentication: ").append(getAuthentication()).append(","); if (getCreated() != null) sb.append("Created: ").append(getCreated()).append(","); if (getDataSources() != null) sb.append("DataSources: ").append(getDataSources()).append(","); if (getDescription() != null) sb.append("Description: ").append("***Sensitive Data Redacted***").append(","); if (getEndpoint() != null) sb.append("Endpoint: ").append(getEndpoint()).append(","); if (getFreeTrialConsumed() != null) sb.append("FreeTrialConsumed: ").append(getFreeTrialConsumed()).append(","); if (getFreeTrialExpiration() != null) sb.append("FreeTrialExpiration: ").append(getFreeTrialExpiration()).append(","); if (getGrafanaVersion() != null) sb.append("GrafanaVersion: ").append(getGrafanaVersion()).append(","); if (getId() != null) sb.append("Id: ").append(getId()).append(","); if (getLicenseExpiration() != null) sb.append("LicenseExpiration: ").append(getLicenseExpiration()).append(","); if (getLicenseType() != null) sb.append("LicenseType: ").append(getLicenseType()).append(","); if (getModified() != null) sb.append("Modified: ").append(getModified()).append(","); if (getName() != null) sb.append("Name: ").append("***Sensitive Data Redacted***").append(","); if (getNetworkAccessControl() != null) sb.append("NetworkAccessControl: ").append(getNetworkAccessControl()).append(","); if (getNotificationDestinations() != null) sb.append("NotificationDestinations: ").append(getNotificationDestinations()).append(","); if (getOrganizationRoleName() != null) sb.append("OrganizationRoleName: ").append("***Sensitive Data Redacted***").append(","); if (getOrganizationalUnits() != null) sb.append("OrganizationalUnits: ").append("***Sensitive Data Redacted***").append(","); if (getPermissionType() != null) sb.append("PermissionType: ").append(getPermissionType()).append(","); if (getStackSetName() != null) sb.append("StackSetName: ").append(getStackSetName()).append(","); if (getStatus() != null) sb.append("Status: ").append(getStatus()).append(","); if (getTags() != null) sb.append("Tags: ").append(getTags()).append(","); if (getVpcConfiguration() != null) sb.append("VpcConfiguration: ").append(getVpcConfiguration()).append(","); if (getWorkspaceRoleArn() != null) sb.append("WorkspaceRoleArn: ").append("***Sensitive Data Redacted***"); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof WorkspaceDescription == false) return false; WorkspaceDescription other = (WorkspaceDescription) obj; if (other.getAccountAccessType() == null ^ this.getAccountAccessType() == null) return false; if (other.getAccountAccessType() != null && other.getAccountAccessType().equals(this.getAccountAccessType()) == false) return false; if (other.getAuthentication() == null ^ this.getAuthentication() == null) return false; if (other.getAuthentication() != null && other.getAuthentication().equals(this.getAuthentication()) == false) return false; if (other.getCreated() == null ^ this.getCreated() == null) return false; if (other.getCreated() != null && other.getCreated().equals(this.getCreated()) == false) return false; if (other.getDataSources() == null ^ this.getDataSources() == null) return false; if (other.getDataSources() != null && other.getDataSources().equals(this.getDataSources()) == false) return false; if (other.getDescription() == null ^ this.getDescription() == null) return false; if (other.getDescription() != null && other.getDescription().equals(this.getDescription()) == false) return false; if (other.getEndpoint() == null ^ this.getEndpoint() == null) return false; if (other.getEndpoint() != null && other.getEndpoint().equals(this.getEndpoint()) == false) return false; if (other.getFreeTrialConsumed() == null ^ this.getFreeTrialConsumed() == null) return false; if (other.getFreeTrialConsumed() != null && other.getFreeTrialConsumed().equals(this.getFreeTrialConsumed()) == false) return false; if (other.getFreeTrialExpiration() == null ^ this.getFreeTrialExpiration() == null) return false; if (other.getFreeTrialExpiration() != null && other.getFreeTrialExpiration().equals(this.getFreeTrialExpiration()) == false) return false; if (other.getGrafanaVersion() == null ^ this.getGrafanaVersion() == null) return false; if (other.getGrafanaVersion() != null && other.getGrafanaVersion().equals(this.getGrafanaVersion()) == false) return false; if (other.getId() == null ^ this.getId() == null) return false; if (other.getId() != null && other.getId().equals(this.getId()) == false) return false; if (other.getLicenseExpiration() == null ^ this.getLicenseExpiration() == null) return false; if (other.getLicenseExpiration() != null && other.getLicenseExpiration().equals(this.getLicenseExpiration()) == false) return false; if (other.getLicenseType() == null ^ this.getLicenseType() == null) return false; if (other.getLicenseType() != null && other.getLicenseType().equals(this.getLicenseType()) == false) return false; if (other.getModified() == null ^ this.getModified() == null) return false; if (other.getModified() != null && other.getModified().equals(this.getModified()) == false) return false; if (other.getName() == null ^ this.getName() == null) return false; if (other.getName() != null && other.getName().equals(this.getName()) == false) return false; if (other.getNetworkAccessControl() == null ^ this.getNetworkAccessControl() == null) return false; if (other.getNetworkAccessControl() != null && other.getNetworkAccessControl().equals(this.getNetworkAccessControl()) == false) return false; if (other.getNotificationDestinations() == null ^ this.getNotificationDestinations() == null) return false; if (other.getNotificationDestinations() != null && other.getNotificationDestinations().equals(this.getNotificationDestinations()) == false) return false; if (other.getOrganizationRoleName() == null ^ this.getOrganizationRoleName() == null) return false; if (other.getOrganizationRoleName() != null && other.getOrganizationRoleName().equals(this.getOrganizationRoleName()) == false) return false; if (other.getOrganizationalUnits() == null ^ this.getOrganizationalUnits() == null) return false; if (other.getOrganizationalUnits() != null && other.getOrganizationalUnits().equals(this.getOrganizationalUnits()) == false) return false; if (other.getPermissionType() == null ^ this.getPermissionType() == null) return false; if (other.getPermissionType() != null && other.getPermissionType().equals(this.getPermissionType()) == false) return false; if (other.getStackSetName() == null ^ this.getStackSetName() == null) return false; if (other.getStackSetName() != null && other.getStackSetName().equals(this.getStackSetName()) == false) return false; if (other.getStatus() == null ^ this.getStatus() == null) return false; if (other.getStatus() != null && other.getStatus().equals(this.getStatus()) == 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.getVpcConfiguration() == null ^ this.getVpcConfiguration() == null) return false; if (other.getVpcConfiguration() != null && other.getVpcConfiguration().equals(this.getVpcConfiguration()) == false) return false; if (other.getWorkspaceRoleArn() == null ^ this.getWorkspaceRoleArn() == null) return false; if (other.getWorkspaceRoleArn() != null && other.getWorkspaceRoleArn().equals(this.getWorkspaceRoleArn()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getAccountAccessType() == null) ? 0 : getAccountAccessType().hashCode()); hashCode = prime * hashCode + ((getAuthentication() == null) ? 0 : getAuthentication().hashCode()); hashCode = prime * hashCode + ((getCreated() == null) ? 0 : getCreated().hashCode()); hashCode = prime * hashCode + ((getDataSources() == null) ? 0 : getDataSources().hashCode()); hashCode = prime * hashCode + ((getDescription() == null) ? 0 : getDescription().hashCode()); hashCode = prime * hashCode + ((getEndpoint() == null) ? 0 : getEndpoint().hashCode()); hashCode = prime * hashCode + ((getFreeTrialConsumed() == null) ? 0 : getFreeTrialConsumed().hashCode()); hashCode = prime * hashCode + ((getFreeTrialExpiration() == null) ? 0 : getFreeTrialExpiration().hashCode()); hashCode = prime * hashCode + ((getGrafanaVersion() == null) ? 0 : getGrafanaVersion().hashCode()); hashCode = prime * hashCode + ((getId() == null) ? 0 : getId().hashCode()); hashCode = prime * hashCode + ((getLicenseExpiration() == null) ? 0 : getLicenseExpiration().hashCode()); hashCode = prime * hashCode + ((getLicenseType() == null) ? 0 : getLicenseType().hashCode()); hashCode = prime * hashCode + ((getModified() == null) ? 0 : getModified().hashCode()); hashCode = prime * hashCode + ((getName() == null) ? 0 : getName().hashCode()); hashCode = prime * hashCode + ((getNetworkAccessControl() == null) ? 0 : getNetworkAccessControl().hashCode()); hashCode = prime * hashCode + ((getNotificationDestinations() == null) ? 0 : getNotificationDestinations().hashCode()); hashCode = prime * hashCode + ((getOrganizationRoleName() == null) ? 0 : getOrganizationRoleName().hashCode()); hashCode = prime * hashCode + ((getOrganizationalUnits() == null) ? 0 : getOrganizationalUnits().hashCode()); hashCode = prime * hashCode + ((getPermissionType() == null) ? 0 : getPermissionType().hashCode()); hashCode = prime * hashCode + ((getStackSetName() == null) ? 0 : getStackSetName().hashCode()); hashCode = prime * hashCode + ((getStatus() == null) ? 0 : getStatus().hashCode()); hashCode = prime * hashCode + ((getTags() == null) ? 0 : getTags().hashCode()); hashCode = prime * hashCode + ((getVpcConfiguration() == null) ? 0 : getVpcConfiguration().hashCode()); hashCode = prime * hashCode + ((getWorkspaceRoleArn() == null) ? 0 : getWorkspaceRoleArn().hashCode()); return hashCode; } @Override public WorkspaceDescription clone() { try { return (WorkspaceDescription) 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.managedgrafana.model.transform.WorkspaceDescriptionMarshaller.getInstance().marshall(this, protocolMarshaller); } }