All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.managedgrafana.model.UpdateWorkspaceRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon Managed Grafana module holds the client classes that are used for communicating with Amazon Managed Grafana Service

There is a newer version: 1.12.780
Show newest version
/*
 * 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.AmazonWebServiceRequest;

/**
 * 
 * @see AWS API
 *      Documentation
 */
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class UpdateWorkspaceRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {

    /**
     * 

* 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 * you specify ORGANIZATION, you must specify which organizational units the workspace can access in * the workspaceOrganizationalUnits parameter. *

*/ private String accountAccessType; /** *

* The configuration settings for network access to your workspace. *

*

* When this is configured, only listed IP addresses and VPC endpoints will be able to access your workspace. * Standard Grafana authentication and authorization will still be required. *

*

* If this is not configured, or is removed, then all IP addresses and VPC endpoints will be allowed. Standard * Grafana authentication and authorization will still be required. *

*/ private NetworkAccessConfiguration networkAccessControl; /** *

* The name of an IAM role that already exists to use to access resources through Organizations. This can only be * used with a workspace that has the permissionType set to CUSTOMER_MANAGED. *

*/ private String organizationRoleName; /** *

* Use this parameter if you want to change a workspace from SERVICE_MANAGED to * CUSTOMER_MANAGED. This allows you to manage the permissions that the workspace uses to access * datasources and notification channels. If the workspace is in a member Amazon Web Services 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, you must choose * CUSTOMER_MANAGED. *

*

* If you specify this as CUSTOMER_MANAGED, you must also specify a workspaceRoleArn that * the workspace will use for accessing Amazon Web Services resources. *

*

* For more information on the role and permissions needed, see Amazon Managed Grafana * permissions and policies for Amazon Web Services data sources and notification channels *

* *

* Do not use this to convert a CUSTOMER_MANAGED workspace to SERVICE_MANAGED. Do not * include this parameter if you want to leave the workspace as SERVICE_MANAGED. *

*

* You can convert a CUSTOMER_MANAGED workspace to SERVICE_MANAGED using the Amazon * Managed Grafana console. For more information, see Managing * permissions for data sources and notification channels. *

*
*/ private String permissionType; /** *

* Whether to remove the network access configuration from the workspace. *

*

* Setting this to true and providing a networkAccessControl to set will return an error. *

*

* If you remove this configuration by setting this to true, then all IP addresses and VPC endpoints * will be allowed. Standard Grafana authentication and authorization will still be required. *

*/ private Boolean removeNetworkAccessConfiguration; /** *

* Whether to remove the VPC configuration from the workspace. *

*

* Setting this to true and providing a vpcConfiguration to set will return an error. *

*/ private Boolean removeVpcConfiguration; /** *

* The name of the CloudFormation stack set to use to generate IAM roles to be used for this workspace. *

*/ private String stackSetName; /** *

* The configuration settings for an Amazon VPC that contains data sources for your Grafana workspace to connect to. *

*/ private VpcConfiguration vpcConfiguration; /** *

* This parameter is for internal use only, and should not be used. *

*/ private java.util.List workspaceDataSources; /** *

* A description for the workspace. This is used only to help you identify this workspace. *

*/ private String workspaceDescription; /** *

* The ID of the workspace to update. *

*/ private String workspaceId; /** *

* A new name for the workspace to update. *

*/ private String workspaceName; /** *

* Specify the Amazon Web Services notification channels that you plan to use in this workspace. Specifying these * data sources here enables Amazon Managed Grafana to create IAM roles and permissions that allow Amazon Managed * Grafana to use these channels. *

*/ private java.util.List workspaceNotificationDestinations; /** *

* 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 workspaceOrganizationalUnits; /** *

* Specifies an IAM role that grants permissions to Amazon Web Services resources that the workspace accesses, such * as data sources and notification channels. If this workspace has permissionType * CUSTOMER_MANAGED, then this role is required. *

*/ 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 * you specify ORGANIZATION, you must specify which organizational units the workspace can access in * the workspaceOrganizationalUnits parameter. *

* * @param 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 you specify ORGANIZATION, you must specify which organizational units the * workspace can access in the workspaceOrganizationalUnits parameter. * @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 * you specify ORGANIZATION, you must specify which organizational units the workspace can access in * the workspaceOrganizationalUnits parameter. *

* * @return 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 you specify ORGANIZATION, you must specify which organizational units the * workspace can access in the workspaceOrganizationalUnits parameter. * @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 * you specify ORGANIZATION, you must specify which organizational units the workspace can access in * the workspaceOrganizationalUnits parameter. *

* * @param 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 you specify ORGANIZATION, you must specify which organizational units the * workspace can access in the workspaceOrganizationalUnits parameter. * @return Returns a reference to this object so that method calls can be chained together. * @see AccountAccessType */ public UpdateWorkspaceRequest 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 * you specify ORGANIZATION, you must specify which organizational units the workspace can access in * the workspaceOrganizationalUnits parameter. *

* * @param 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 you specify ORGANIZATION, you must specify which organizational units the * workspace can access in the workspaceOrganizationalUnits parameter. * @return Returns a reference to this object so that method calls can be chained together. * @see AccountAccessType */ public UpdateWorkspaceRequest withAccountAccessType(AccountAccessType accountAccessType) { this.accountAccessType = accountAccessType.toString(); return this; } /** *

* The configuration settings for network access to your workspace. *

*

* When this is configured, only listed IP addresses and VPC endpoints will be able to access your workspace. * Standard Grafana authentication and authorization will still be required. *

*

* If this is not configured, or is removed, then all IP addresses and VPC endpoints will be allowed. Standard * Grafana authentication and authorization will still be required. *

* * @param networkAccessControl * The configuration settings for network access to your workspace.

*

* When this is configured, only listed IP addresses and VPC endpoints will be able to access your workspace. * Standard Grafana authentication and authorization will still be required. *

*

* If this is not configured, or is removed, then all IP addresses and VPC endpoints will be allowed. * Standard Grafana authentication and authorization will still be required. */ public void setNetworkAccessControl(NetworkAccessConfiguration networkAccessControl) { this.networkAccessControl = networkAccessControl; } /** *

* The configuration settings for network access to your workspace. *

*

* When this is configured, only listed IP addresses and VPC endpoints will be able to access your workspace. * Standard Grafana authentication and authorization will still be required. *

*

* If this is not configured, or is removed, then all IP addresses and VPC endpoints will be allowed. Standard * Grafana authentication and authorization will still be required. *

* * @return The configuration settings for network access to your workspace.

*

* When this is configured, only listed IP addresses and VPC endpoints will be able to access your * workspace. Standard Grafana authentication and authorization will still be required. *

*

* If this is not configured, or is removed, then all IP addresses and VPC endpoints will be allowed. * Standard Grafana authentication and authorization will still be required. */ public NetworkAccessConfiguration getNetworkAccessControl() { return this.networkAccessControl; } /** *

* The configuration settings for network access to your workspace. *

*

* When this is configured, only listed IP addresses and VPC endpoints will be able to access your workspace. * Standard Grafana authentication and authorization will still be required. *

*

* If this is not configured, or is removed, then all IP addresses and VPC endpoints will be allowed. Standard * Grafana authentication and authorization will still be required. *

* * @param networkAccessControl * The configuration settings for network access to your workspace.

*

* When this is configured, only listed IP addresses and VPC endpoints will be able to access your workspace. * Standard Grafana authentication and authorization will still be required. *

*

* If this is not configured, or is removed, then all IP addresses and VPC endpoints will be allowed. * Standard Grafana authentication and authorization will still be required. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateWorkspaceRequest withNetworkAccessControl(NetworkAccessConfiguration networkAccessControl) { setNetworkAccessControl(networkAccessControl); return this; } /** *

* The name of an IAM role that already exists to use to access resources through Organizations. This can only be * used with a workspace that has the permissionType set to CUSTOMER_MANAGED. *

* * @param organizationRoleName * The name of an IAM role that already exists to use to access resources through Organizations. This can * only be used with a workspace that has the permissionType set to * CUSTOMER_MANAGED. */ public void setOrganizationRoleName(String organizationRoleName) { this.organizationRoleName = organizationRoleName; } /** *

* The name of an IAM role that already exists to use to access resources through Organizations. This can only be * used with a workspace that has the permissionType set to CUSTOMER_MANAGED. *

* * @return The name of an IAM role that already exists to use to access resources through Organizations. This can * only be used with a workspace that has the permissionType set to * CUSTOMER_MANAGED. */ public String getOrganizationRoleName() { return this.organizationRoleName; } /** *

* The name of an IAM role that already exists to use to access resources through Organizations. This can only be * used with a workspace that has the permissionType set to CUSTOMER_MANAGED. *

* * @param organizationRoleName * The name of an IAM role that already exists to use to access resources through Organizations. This can * only be used with a workspace that has the permissionType set to * CUSTOMER_MANAGED. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateWorkspaceRequest withOrganizationRoleName(String organizationRoleName) { setOrganizationRoleName(organizationRoleName); return this; } /** *

* Use this parameter if you want to change a workspace from SERVICE_MANAGED to * CUSTOMER_MANAGED. This allows you to manage the permissions that the workspace uses to access * datasources and notification channels. If the workspace is in a member Amazon Web Services 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, you must choose * CUSTOMER_MANAGED. *

*

* If you specify this as CUSTOMER_MANAGED, you must also specify a workspaceRoleArn that * the workspace will use for accessing Amazon Web Services resources. *

*

* For more information on the role and permissions needed, see Amazon Managed Grafana * permissions and policies for Amazon Web Services data sources and notification channels *

* *

* Do not use this to convert a CUSTOMER_MANAGED workspace to SERVICE_MANAGED. Do not * include this parameter if you want to leave the workspace as SERVICE_MANAGED. *

*

* You can convert a CUSTOMER_MANAGED workspace to SERVICE_MANAGED using the Amazon * Managed Grafana console. For more information, see Managing * permissions for data sources and notification channels. *

*
* * @param permissionType * Use this parameter if you want to change a workspace from SERVICE_MANAGED to * CUSTOMER_MANAGED. This allows you to manage the permissions that the workspace uses to access * datasources and notification channels. If the workspace is in a member Amazon Web Services 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, you must choose * CUSTOMER_MANAGED.

*

* If you specify this as CUSTOMER_MANAGED, you must also specify a * workspaceRoleArn that the workspace will use for accessing Amazon Web Services resources. *

*

* For more information on the role and permissions needed, see Amazon Managed * Grafana permissions and policies for Amazon Web Services data sources and notification channels *

* *

* Do not use this to convert a CUSTOMER_MANAGED workspace to SERVICE_MANAGED. Do * not include this parameter if you want to leave the workspace as SERVICE_MANAGED. *

*

* You can convert a CUSTOMER_MANAGED workspace to SERVICE_MANAGED using the Amazon * Managed Grafana console. For more information, see Managing * permissions for data sources and notification channels. *

* @see PermissionType */ public void setPermissionType(String permissionType) { this.permissionType = permissionType; } /** *

* Use this parameter if you want to change a workspace from SERVICE_MANAGED to * CUSTOMER_MANAGED. This allows you to manage the permissions that the workspace uses to access * datasources and notification channels. If the workspace is in a member Amazon Web Services 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, you must choose * CUSTOMER_MANAGED. *

*

* If you specify this as CUSTOMER_MANAGED, you must also specify a workspaceRoleArn that * the workspace will use for accessing Amazon Web Services resources. *

*

* For more information on the role and permissions needed, see Amazon Managed Grafana * permissions and policies for Amazon Web Services data sources and notification channels *

* *

* Do not use this to convert a CUSTOMER_MANAGED workspace to SERVICE_MANAGED. Do not * include this parameter if you want to leave the workspace as SERVICE_MANAGED. *

*

* You can convert a CUSTOMER_MANAGED workspace to SERVICE_MANAGED using the Amazon * Managed Grafana console. For more information, see Managing * permissions for data sources and notification channels. *

*
* * @return Use this parameter if you want to change a workspace from SERVICE_MANAGED to * CUSTOMER_MANAGED. This allows you to manage the permissions that the workspace uses to * access datasources and notification channels. If the workspace is in a member Amazon Web Services 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, you must choose * CUSTOMER_MANAGED.

*

* If you specify this as CUSTOMER_MANAGED, you must also specify a * workspaceRoleArn that the workspace will use for accessing Amazon Web Services resources. *

*

* For more information on the role and permissions needed, see Amazon Managed * Grafana permissions and policies for Amazon Web Services data sources and notification channels *

* *

* Do not use this to convert a CUSTOMER_MANAGED workspace to SERVICE_MANAGED. Do * not include this parameter if you want to leave the workspace as SERVICE_MANAGED. *

*

* You can convert a CUSTOMER_MANAGED workspace to SERVICE_MANAGED using the * Amazon Managed Grafana console. For more information, see Managing * permissions for data sources and notification channels. *

* @see PermissionType */ public String getPermissionType() { return this.permissionType; } /** *

* Use this parameter if you want to change a workspace from SERVICE_MANAGED to * CUSTOMER_MANAGED. This allows you to manage the permissions that the workspace uses to access * datasources and notification channels. If the workspace is in a member Amazon Web Services 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, you must choose * CUSTOMER_MANAGED. *

*

* If you specify this as CUSTOMER_MANAGED, you must also specify a workspaceRoleArn that * the workspace will use for accessing Amazon Web Services resources. *

*

* For more information on the role and permissions needed, see Amazon Managed Grafana * permissions and policies for Amazon Web Services data sources and notification channels *

* *

* Do not use this to convert a CUSTOMER_MANAGED workspace to SERVICE_MANAGED. Do not * include this parameter if you want to leave the workspace as SERVICE_MANAGED. *

*

* You can convert a CUSTOMER_MANAGED workspace to SERVICE_MANAGED using the Amazon * Managed Grafana console. For more information, see Managing * permissions for data sources and notification channels. *

*
* * @param permissionType * Use this parameter if you want to change a workspace from SERVICE_MANAGED to * CUSTOMER_MANAGED. This allows you to manage the permissions that the workspace uses to access * datasources and notification channels. If the workspace is in a member Amazon Web Services 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, you must choose * CUSTOMER_MANAGED.

*

* If you specify this as CUSTOMER_MANAGED, you must also specify a * workspaceRoleArn that the workspace will use for accessing Amazon Web Services resources. *

*

* For more information on the role and permissions needed, see Amazon Managed * Grafana permissions and policies for Amazon Web Services data sources and notification channels *

* *

* Do not use this to convert a CUSTOMER_MANAGED workspace to SERVICE_MANAGED. Do * not include this parameter if you want to leave the workspace as SERVICE_MANAGED. *

*

* You can convert a CUSTOMER_MANAGED workspace to SERVICE_MANAGED using the Amazon * Managed Grafana console. For more information, see Managing * permissions for data sources and notification channels. *

* @return Returns a reference to this object so that method calls can be chained together. * @see PermissionType */ public UpdateWorkspaceRequest withPermissionType(String permissionType) { setPermissionType(permissionType); return this; } /** *

* Use this parameter if you want to change a workspace from SERVICE_MANAGED to * CUSTOMER_MANAGED. This allows you to manage the permissions that the workspace uses to access * datasources and notification channels. If the workspace is in a member Amazon Web Services 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, you must choose * CUSTOMER_MANAGED. *

*

* If you specify this as CUSTOMER_MANAGED, you must also specify a workspaceRoleArn that * the workspace will use for accessing Amazon Web Services resources. *

*

* For more information on the role and permissions needed, see Amazon Managed Grafana * permissions and policies for Amazon Web Services data sources and notification channels *

* *

* Do not use this to convert a CUSTOMER_MANAGED workspace to SERVICE_MANAGED. Do not * include this parameter if you want to leave the workspace as SERVICE_MANAGED. *

*

* You can convert a CUSTOMER_MANAGED workspace to SERVICE_MANAGED using the Amazon * Managed Grafana console. For more information, see Managing * permissions for data sources and notification channels. *

*
* * @param permissionType * Use this parameter if you want to change a workspace from SERVICE_MANAGED to * CUSTOMER_MANAGED. This allows you to manage the permissions that the workspace uses to access * datasources and notification channels. If the workspace is in a member Amazon Web Services 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, you must choose * CUSTOMER_MANAGED.

*

* If you specify this as CUSTOMER_MANAGED, you must also specify a * workspaceRoleArn that the workspace will use for accessing Amazon Web Services resources. *

*

* For more information on the role and permissions needed, see Amazon Managed * Grafana permissions and policies for Amazon Web Services data sources and notification channels *

* *

* Do not use this to convert a CUSTOMER_MANAGED workspace to SERVICE_MANAGED. Do * not include this parameter if you want to leave the workspace as SERVICE_MANAGED. *

*

* You can convert a CUSTOMER_MANAGED workspace to SERVICE_MANAGED using the Amazon * Managed Grafana console. For more information, see Managing * permissions for data sources and notification channels. *

* @return Returns a reference to this object so that method calls can be chained together. * @see PermissionType */ public UpdateWorkspaceRequest withPermissionType(PermissionType permissionType) { this.permissionType = permissionType.toString(); return this; } /** *

* Whether to remove the network access configuration from the workspace. *

*

* Setting this to true and providing a networkAccessControl to set will return an error. *

*

* If you remove this configuration by setting this to true, then all IP addresses and VPC endpoints * will be allowed. Standard Grafana authentication and authorization will still be required. *

* * @param removeNetworkAccessConfiguration * Whether to remove the network access configuration from the workspace.

*

* Setting this to true and providing a networkAccessControl to set will return an * error. *

*

* If you remove this configuration by setting this to true, then all IP addresses and VPC * endpoints will be allowed. Standard Grafana authentication and authorization will still be required. */ public void setRemoveNetworkAccessConfiguration(Boolean removeNetworkAccessConfiguration) { this.removeNetworkAccessConfiguration = removeNetworkAccessConfiguration; } /** *

* Whether to remove the network access configuration from the workspace. *

*

* Setting this to true and providing a networkAccessControl to set will return an error. *

*

* If you remove this configuration by setting this to true, then all IP addresses and VPC endpoints * will be allowed. Standard Grafana authentication and authorization will still be required. *

* * @return Whether to remove the network access configuration from the workspace.

*

* Setting this to true and providing a networkAccessControl to set will return an * error. *

*

* If you remove this configuration by setting this to true, then all IP addresses and VPC * endpoints will be allowed. Standard Grafana authentication and authorization will still be required. */ public Boolean getRemoveNetworkAccessConfiguration() { return this.removeNetworkAccessConfiguration; } /** *

* Whether to remove the network access configuration from the workspace. *

*

* Setting this to true and providing a networkAccessControl to set will return an error. *

*

* If you remove this configuration by setting this to true, then all IP addresses and VPC endpoints * will be allowed. Standard Grafana authentication and authorization will still be required. *

* * @param removeNetworkAccessConfiguration * Whether to remove the network access configuration from the workspace.

*

* Setting this to true and providing a networkAccessControl to set will return an * error. *

*

* If you remove this configuration by setting this to true, then all IP addresses and VPC * endpoints will be allowed. Standard Grafana authentication and authorization will still be required. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateWorkspaceRequest withRemoveNetworkAccessConfiguration(Boolean removeNetworkAccessConfiguration) { setRemoveNetworkAccessConfiguration(removeNetworkAccessConfiguration); return this; } /** *

* Whether to remove the network access configuration from the workspace. *

*

* Setting this to true and providing a networkAccessControl to set will return an error. *

*

* If you remove this configuration by setting this to true, then all IP addresses and VPC endpoints * will be allowed. Standard Grafana authentication and authorization will still be required. *

* * @return Whether to remove the network access configuration from the workspace.

*

* Setting this to true and providing a networkAccessControl to set will return an * error. *

*

* If you remove this configuration by setting this to true, then all IP addresses and VPC * endpoints will be allowed. Standard Grafana authentication and authorization will still be required. */ public Boolean isRemoveNetworkAccessConfiguration() { return this.removeNetworkAccessConfiguration; } /** *

* Whether to remove the VPC configuration from the workspace. *

*

* Setting this to true and providing a vpcConfiguration to set will return an error. *

* * @param removeVpcConfiguration * Whether to remove the VPC configuration from the workspace.

*

* Setting this to true and providing a vpcConfiguration to set will return an * error. */ public void setRemoveVpcConfiguration(Boolean removeVpcConfiguration) { this.removeVpcConfiguration = removeVpcConfiguration; } /** *

* Whether to remove the VPC configuration from the workspace. *

*

* Setting this to true and providing a vpcConfiguration to set will return an error. *

* * @return Whether to remove the VPC configuration from the workspace.

*

* Setting this to true and providing a vpcConfiguration to set will return an * error. */ public Boolean getRemoveVpcConfiguration() { return this.removeVpcConfiguration; } /** *

* Whether to remove the VPC configuration from the workspace. *

*

* Setting this to true and providing a vpcConfiguration to set will return an error. *

* * @param removeVpcConfiguration * Whether to remove the VPC configuration from the workspace.

*

* Setting this to true and providing a vpcConfiguration to set will return an * error. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateWorkspaceRequest withRemoveVpcConfiguration(Boolean removeVpcConfiguration) { setRemoveVpcConfiguration(removeVpcConfiguration); return this; } /** *

* Whether to remove the VPC configuration from the workspace. *

*

* Setting this to true and providing a vpcConfiguration to set will return an error. *

* * @return Whether to remove the VPC configuration from the workspace.

*

* Setting this to true and providing a vpcConfiguration to set will return an * error. */ public Boolean isRemoveVpcConfiguration() { return this.removeVpcConfiguration; } /** *

* The name of the CloudFormation stack set to use to generate IAM roles to be used for this workspace. *

* * @param stackSetName * The name of the CloudFormation stack set to use 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 to use to generate IAM roles to be used for this workspace. *

* * @return The name of the CloudFormation stack set to use to generate IAM roles to be used for this workspace. */ public String getStackSetName() { return this.stackSetName; } /** *

* The name of the CloudFormation stack set to use to generate IAM roles to be used for this workspace. *

* * @param stackSetName * The name of the CloudFormation stack set to use 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 UpdateWorkspaceRequest withStackSetName(String stackSetName) { setStackSetName(stackSetName); return this; } /** *

* The configuration settings for an Amazon VPC that contains data sources for your Grafana workspace to connect to. *

* * @param vpcConfiguration * The configuration settings for an Amazon VPC that contains data sources for your Grafana workspace to * connect to. */ public void setVpcConfiguration(VpcConfiguration vpcConfiguration) { this.vpcConfiguration = vpcConfiguration; } /** *

* The configuration settings for an Amazon VPC that contains data sources for your Grafana workspace to connect to. *

* * @return The configuration settings for an Amazon VPC that contains data sources for your Grafana workspace to * connect to. */ public VpcConfiguration getVpcConfiguration() { return this.vpcConfiguration; } /** *

* The configuration settings for an Amazon VPC that contains data sources for your Grafana workspace to connect to. *

* * @param vpcConfiguration * The configuration settings for an Amazon VPC that contains data sources for your Grafana workspace to * connect to. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateWorkspaceRequest withVpcConfiguration(VpcConfiguration vpcConfiguration) { setVpcConfiguration(vpcConfiguration); return this; } /** *

* This parameter is for internal use only, and should not be used. *

* * @return This parameter is for internal use only, and should not be used. * @see DataSourceType */ public java.util.List getWorkspaceDataSources() { return workspaceDataSources; } /** *

* This parameter is for internal use only, and should not be used. *

* * @param workspaceDataSources * This parameter is for internal use only, and should not be used. * @see DataSourceType */ public void setWorkspaceDataSources(java.util.Collection workspaceDataSources) { if (workspaceDataSources == null) { this.workspaceDataSources = null; return; } this.workspaceDataSources = new java.util.ArrayList(workspaceDataSources); } /** *

* This parameter is for internal use only, and should not be used. *

*

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

* * @param workspaceDataSources * This parameter is for internal use only, and should not be used. * @return Returns a reference to this object so that method calls can be chained together. * @see DataSourceType */ public UpdateWorkspaceRequest withWorkspaceDataSources(String... workspaceDataSources) { if (this.workspaceDataSources == null) { setWorkspaceDataSources(new java.util.ArrayList(workspaceDataSources.length)); } for (String ele : workspaceDataSources) { this.workspaceDataSources.add(ele); } return this; } /** *

* This parameter is for internal use only, and should not be used. *

* * @param workspaceDataSources * This parameter is for internal use only, and should not be used. * @return Returns a reference to this object so that method calls can be chained together. * @see DataSourceType */ public UpdateWorkspaceRequest withWorkspaceDataSources(java.util.Collection workspaceDataSources) { setWorkspaceDataSources(workspaceDataSources); return this; } /** *

* This parameter is for internal use only, and should not be used. *

* * @param workspaceDataSources * This parameter is for internal use only, and should not be used. * @return Returns a reference to this object so that method calls can be chained together. * @see DataSourceType */ public UpdateWorkspaceRequest withWorkspaceDataSources(DataSourceType... workspaceDataSources) { java.util.ArrayList workspaceDataSourcesCopy = new java.util.ArrayList(workspaceDataSources.length); for (DataSourceType value : workspaceDataSources) { workspaceDataSourcesCopy.add(value.toString()); } if (getWorkspaceDataSources() == null) { setWorkspaceDataSources(workspaceDataSourcesCopy); } else { getWorkspaceDataSources().addAll(workspaceDataSourcesCopy); } return this; } /** *

* A description for the workspace. This is used only to help you identify this workspace. *

* * @param workspaceDescription * A description for the workspace. This is used only to help you identify this workspace. */ public void setWorkspaceDescription(String workspaceDescription) { this.workspaceDescription = workspaceDescription; } /** *

* A description for the workspace. This is used only to help you identify this workspace. *

* * @return A description for the workspace. This is used only to help you identify this workspace. */ public String getWorkspaceDescription() { return this.workspaceDescription; } /** *

* A description for the workspace. This is used only to help you identify this workspace. *

* * @param workspaceDescription * A description for the workspace. This is used only to help you identify this workspace. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateWorkspaceRequest withWorkspaceDescription(String workspaceDescription) { setWorkspaceDescription(workspaceDescription); return this; } /** *

* The ID of the workspace to update. *

* * @param workspaceId * The ID of the workspace to update. */ public void setWorkspaceId(String workspaceId) { this.workspaceId = workspaceId; } /** *

* The ID of the workspace to update. *

* * @return The ID of the workspace to update. */ public String getWorkspaceId() { return this.workspaceId; } /** *

* The ID of the workspace to update. *

* * @param workspaceId * The ID of the workspace to update. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateWorkspaceRequest withWorkspaceId(String workspaceId) { setWorkspaceId(workspaceId); return this; } /** *

* A new name for the workspace to update. *

* * @param workspaceName * A new name for the workspace to update. */ public void setWorkspaceName(String workspaceName) { this.workspaceName = workspaceName; } /** *

* A new name for the workspace to update. *

* * @return A new name for the workspace to update. */ public String getWorkspaceName() { return this.workspaceName; } /** *

* A new name for the workspace to update. *

* * @param workspaceName * A new name for the workspace to update. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateWorkspaceRequest withWorkspaceName(String workspaceName) { setWorkspaceName(workspaceName); return this; } /** *

* Specify the Amazon Web Services notification channels that you plan to use in this workspace. Specifying these * data sources here enables Amazon Managed Grafana to create IAM roles and permissions that allow Amazon Managed * Grafana to use these channels. *

* * @return Specify the Amazon Web Services notification channels that you plan to use in this workspace. Specifying * these data sources here enables Amazon Managed Grafana to create IAM roles and permissions that allow * Amazon Managed Grafana to use these channels. * @see NotificationDestinationType */ public java.util.List getWorkspaceNotificationDestinations() { return workspaceNotificationDestinations; } /** *

* Specify the Amazon Web Services notification channels that you plan to use in this workspace. Specifying these * data sources here enables Amazon Managed Grafana to create IAM roles and permissions that allow Amazon Managed * Grafana to use these channels. *

* * @param workspaceNotificationDestinations * Specify the Amazon Web Services notification channels that you plan to use in this workspace. Specifying * these data sources here enables Amazon Managed Grafana to create IAM roles and permissions that allow * Amazon Managed Grafana to use these channels. * @see NotificationDestinationType */ public void setWorkspaceNotificationDestinations(java.util.Collection workspaceNotificationDestinations) { if (workspaceNotificationDestinations == null) { this.workspaceNotificationDestinations = null; return; } this.workspaceNotificationDestinations = new java.util.ArrayList(workspaceNotificationDestinations); } /** *

* Specify the Amazon Web Services notification channels that you plan to use in this workspace. Specifying these * data sources here enables Amazon Managed Grafana to create IAM roles and permissions that allow Amazon Managed * Grafana to use these channels. *

*

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

* * @param workspaceNotificationDestinations * Specify the Amazon Web Services notification channels that you plan to use in this workspace. Specifying * these data sources here enables Amazon Managed Grafana to create IAM roles and permissions that allow * Amazon Managed Grafana to use these channels. * @return Returns a reference to this object so that method calls can be chained together. * @see NotificationDestinationType */ public UpdateWorkspaceRequest withWorkspaceNotificationDestinations(String... workspaceNotificationDestinations) { if (this.workspaceNotificationDestinations == null) { setWorkspaceNotificationDestinations(new java.util.ArrayList(workspaceNotificationDestinations.length)); } for (String ele : workspaceNotificationDestinations) { this.workspaceNotificationDestinations.add(ele); } return this; } /** *

* Specify the Amazon Web Services notification channels that you plan to use in this workspace. Specifying these * data sources here enables Amazon Managed Grafana to create IAM roles and permissions that allow Amazon Managed * Grafana to use these channels. *

* * @param workspaceNotificationDestinations * Specify the Amazon Web Services notification channels that you plan to use in this workspace. Specifying * these data sources here enables Amazon Managed Grafana to create IAM roles and permissions that allow * Amazon Managed Grafana to use these channels. * @return Returns a reference to this object so that method calls can be chained together. * @see NotificationDestinationType */ public UpdateWorkspaceRequest withWorkspaceNotificationDestinations(java.util.Collection workspaceNotificationDestinations) { setWorkspaceNotificationDestinations(workspaceNotificationDestinations); return this; } /** *

* Specify the Amazon Web Services notification channels that you plan to use in this workspace. Specifying these * data sources here enables Amazon Managed Grafana to create IAM roles and permissions that allow Amazon Managed * Grafana to use these channels. *

* * @param workspaceNotificationDestinations * Specify the Amazon Web Services notification channels that you plan to use in this workspace. Specifying * these data sources here enables Amazon Managed Grafana to create IAM roles and permissions that allow * Amazon Managed Grafana to use these channels. * @return Returns a reference to this object so that method calls can be chained together. * @see NotificationDestinationType */ public UpdateWorkspaceRequest withWorkspaceNotificationDestinations(NotificationDestinationType... workspaceNotificationDestinations) { java.util.ArrayList workspaceNotificationDestinationsCopy = new java.util.ArrayList(workspaceNotificationDestinations.length); for (NotificationDestinationType value : workspaceNotificationDestinations) { workspaceNotificationDestinationsCopy.add(value.toString()); } if (getWorkspaceNotificationDestinations() == null) { setWorkspaceNotificationDestinations(workspaceNotificationDestinationsCopy); } else { getWorkspaceNotificationDestinations().addAll(workspaceNotificationDestinationsCopy); } return this; } /** *

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

* * @return 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. */ public java.util.List getWorkspaceOrganizationalUnits() { return workspaceOrganizationalUnits; } /** *

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

* * @param workspaceOrganizationalUnits * 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. */ public void setWorkspaceOrganizationalUnits(java.util.Collection workspaceOrganizationalUnits) { if (workspaceOrganizationalUnits == null) { this.workspaceOrganizationalUnits = null; return; } this.workspaceOrganizationalUnits = new java.util.ArrayList(workspaceOrganizationalUnits); } /** *

* 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 #setWorkspaceOrganizationalUnits(java.util.Collection)} or * {@link #withWorkspaceOrganizationalUnits(java.util.Collection)} if you want to override the existing values. *

* * @param workspaceOrganizationalUnits * 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. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateWorkspaceRequest withWorkspaceOrganizationalUnits(String... workspaceOrganizationalUnits) { if (this.workspaceOrganizationalUnits == null) { setWorkspaceOrganizationalUnits(new java.util.ArrayList(workspaceOrganizationalUnits.length)); } for (String ele : workspaceOrganizationalUnits) { this.workspaceOrganizationalUnits.add(ele); } return this; } /** *

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

* * @param workspaceOrganizationalUnits * 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. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateWorkspaceRequest withWorkspaceOrganizationalUnits(java.util.Collection workspaceOrganizationalUnits) { setWorkspaceOrganizationalUnits(workspaceOrganizationalUnits); return this; } /** *

* Specifies an IAM role that grants permissions to Amazon Web Services resources that the workspace accesses, such * as data sources and notification channels. If this workspace has permissionType * CUSTOMER_MANAGED, then this role is required. *

* * @param workspaceRoleArn * Specifies an IAM role that grants permissions to Amazon Web Services resources that the workspace * accesses, such as data sources and notification channels. If this workspace has * permissionType CUSTOMER_MANAGED, then this role is required. */ public void setWorkspaceRoleArn(String workspaceRoleArn) { this.workspaceRoleArn = workspaceRoleArn; } /** *

* Specifies an IAM role that grants permissions to Amazon Web Services resources that the workspace accesses, such * as data sources and notification channels. If this workspace has permissionType * CUSTOMER_MANAGED, then this role is required. *

* * @return Specifies an IAM role that grants permissions to Amazon Web Services resources that the workspace * accesses, such as data sources and notification channels. If this workspace has * permissionType CUSTOMER_MANAGED, then this role is required. */ public String getWorkspaceRoleArn() { return this.workspaceRoleArn; } /** *

* Specifies an IAM role that grants permissions to Amazon Web Services resources that the workspace accesses, such * as data sources and notification channels. If this workspace has permissionType * CUSTOMER_MANAGED, then this role is required. *

* * @param workspaceRoleArn * Specifies an IAM role that grants permissions to Amazon Web Services resources that the workspace * accesses, such as data sources and notification channels. If this workspace has * permissionType CUSTOMER_MANAGED, then this role is required. * @return Returns a reference to this object so that method calls can be chained together. */ public UpdateWorkspaceRequest 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 (getNetworkAccessControl() != null) sb.append("NetworkAccessControl: ").append(getNetworkAccessControl()).append(","); if (getOrganizationRoleName() != null) sb.append("OrganizationRoleName: ").append("***Sensitive Data Redacted***").append(","); if (getPermissionType() != null) sb.append("PermissionType: ").append(getPermissionType()).append(","); if (getRemoveNetworkAccessConfiguration() != null) sb.append("RemoveNetworkAccessConfiguration: ").append(getRemoveNetworkAccessConfiguration()).append(","); if (getRemoveVpcConfiguration() != null) sb.append("RemoveVpcConfiguration: ").append(getRemoveVpcConfiguration()).append(","); if (getStackSetName() != null) sb.append("StackSetName: ").append(getStackSetName()).append(","); if (getVpcConfiguration() != null) sb.append("VpcConfiguration: ").append(getVpcConfiguration()).append(","); if (getWorkspaceDataSources() != null) sb.append("WorkspaceDataSources: ").append(getWorkspaceDataSources()).append(","); if (getWorkspaceDescription() != null) sb.append("WorkspaceDescription: ").append("***Sensitive Data Redacted***").append(","); if (getWorkspaceId() != null) sb.append("WorkspaceId: ").append(getWorkspaceId()).append(","); if (getWorkspaceName() != null) sb.append("WorkspaceName: ").append("***Sensitive Data Redacted***").append(","); if (getWorkspaceNotificationDestinations() != null) sb.append("WorkspaceNotificationDestinations: ").append(getWorkspaceNotificationDestinations()).append(","); if (getWorkspaceOrganizationalUnits() != null) sb.append("WorkspaceOrganizationalUnits: ").append("***Sensitive Data Redacted***").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 UpdateWorkspaceRequest == false) return false; UpdateWorkspaceRequest other = (UpdateWorkspaceRequest) obj; if (other.getAccountAccessType() == null ^ this.getAccountAccessType() == null) return false; if (other.getAccountAccessType() != null && other.getAccountAccessType().equals(this.getAccountAccessType()) == 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.getOrganizationRoleName() == null ^ this.getOrganizationRoleName() == null) return false; if (other.getOrganizationRoleName() != null && other.getOrganizationRoleName().equals(this.getOrganizationRoleName()) == 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.getRemoveNetworkAccessConfiguration() == null ^ this.getRemoveNetworkAccessConfiguration() == null) return false; if (other.getRemoveNetworkAccessConfiguration() != null && other.getRemoveNetworkAccessConfiguration().equals(this.getRemoveNetworkAccessConfiguration()) == false) return false; if (other.getRemoveVpcConfiguration() == null ^ this.getRemoveVpcConfiguration() == null) return false; if (other.getRemoveVpcConfiguration() != null && other.getRemoveVpcConfiguration().equals(this.getRemoveVpcConfiguration()) == 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.getVpcConfiguration() == null ^ this.getVpcConfiguration() == null) return false; if (other.getVpcConfiguration() != null && other.getVpcConfiguration().equals(this.getVpcConfiguration()) == false) return false; if (other.getWorkspaceDataSources() == null ^ this.getWorkspaceDataSources() == null) return false; if (other.getWorkspaceDataSources() != null && other.getWorkspaceDataSources().equals(this.getWorkspaceDataSources()) == false) return false; if (other.getWorkspaceDescription() == null ^ this.getWorkspaceDescription() == null) return false; if (other.getWorkspaceDescription() != null && other.getWorkspaceDescription().equals(this.getWorkspaceDescription()) == false) return false; if (other.getWorkspaceId() == null ^ this.getWorkspaceId() == null) return false; if (other.getWorkspaceId() != null && other.getWorkspaceId().equals(this.getWorkspaceId()) == false) return false; if (other.getWorkspaceName() == null ^ this.getWorkspaceName() == null) return false; if (other.getWorkspaceName() != null && other.getWorkspaceName().equals(this.getWorkspaceName()) == false) return false; if (other.getWorkspaceNotificationDestinations() == null ^ this.getWorkspaceNotificationDestinations() == null) return false; if (other.getWorkspaceNotificationDestinations() != null && other.getWorkspaceNotificationDestinations().equals(this.getWorkspaceNotificationDestinations()) == false) return false; if (other.getWorkspaceOrganizationalUnits() == null ^ this.getWorkspaceOrganizationalUnits() == null) return false; if (other.getWorkspaceOrganizationalUnits() != null && other.getWorkspaceOrganizationalUnits().equals(this.getWorkspaceOrganizationalUnits()) == 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 + ((getNetworkAccessControl() == null) ? 0 : getNetworkAccessControl().hashCode()); hashCode = prime * hashCode + ((getOrganizationRoleName() == null) ? 0 : getOrganizationRoleName().hashCode()); hashCode = prime * hashCode + ((getPermissionType() == null) ? 0 : getPermissionType().hashCode()); hashCode = prime * hashCode + ((getRemoveNetworkAccessConfiguration() == null) ? 0 : getRemoveNetworkAccessConfiguration().hashCode()); hashCode = prime * hashCode + ((getRemoveVpcConfiguration() == null) ? 0 : getRemoveVpcConfiguration().hashCode()); hashCode = prime * hashCode + ((getStackSetName() == null) ? 0 : getStackSetName().hashCode()); hashCode = prime * hashCode + ((getVpcConfiguration() == null) ? 0 : getVpcConfiguration().hashCode()); hashCode = prime * hashCode + ((getWorkspaceDataSources() == null) ? 0 : getWorkspaceDataSources().hashCode()); hashCode = prime * hashCode + ((getWorkspaceDescription() == null) ? 0 : getWorkspaceDescription().hashCode()); hashCode = prime * hashCode + ((getWorkspaceId() == null) ? 0 : getWorkspaceId().hashCode()); hashCode = prime * hashCode + ((getWorkspaceName() == null) ? 0 : getWorkspaceName().hashCode()); hashCode = prime * hashCode + ((getWorkspaceNotificationDestinations() == null) ? 0 : getWorkspaceNotificationDestinations().hashCode()); hashCode = prime * hashCode + ((getWorkspaceOrganizationalUnits() == null) ? 0 : getWorkspaceOrganizationalUnits().hashCode()); hashCode = prime * hashCode + ((getWorkspaceRoleArn() == null) ? 0 : getWorkspaceRoleArn().hashCode()); return hashCode; } @Override public UpdateWorkspaceRequest clone() { return (UpdateWorkspaceRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy