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

com.amazonaws.services.ram.model.AssociateResourceShareRequest Maven / Gradle / Ivy

/*
 * Copyright 2016-2021 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.ram.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 AssociateResourceShareRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable {

    /**
     * 

* The Amazon Resource Name (ARN) of the resource share. *

*/ private String resourceShareArn; /** *

* The Amazon Resource Names (ARNs) of the resources. *

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

* The principals to associate with the resource share. The possible values are: *

*
    *
  • *

    * An Amazon Web Services account ID *

    *
  • *
  • *

    * An Amazon Resource Name (ARN) of an organization in Organizations *

    *
  • *
  • *

    * An ARN of an organizational unit (OU) in Organizations *

    *
  • *
  • *

    * An ARN of an IAM role *

    *
  • *
  • *

    * An ARN of an IAM user *

    *
  • *
* *

* Not all resource types can be shared with IAM roles and IAM users. For more information, see Sharing with IAM roles and IAM users in the Resource Access Manager User Guide. *

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

* A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. *

*/ private String clientToken; /** *

* The Amazon Resource Name (ARN) of the resource share. *

* * @param resourceShareArn * The Amazon Resource Name (ARN) of the resource share. */ public void setResourceShareArn(String resourceShareArn) { this.resourceShareArn = resourceShareArn; } /** *

* The Amazon Resource Name (ARN) of the resource share. *

* * @return The Amazon Resource Name (ARN) of the resource share. */ public String getResourceShareArn() { return this.resourceShareArn; } /** *

* The Amazon Resource Name (ARN) of the resource share. *

* * @param resourceShareArn * The Amazon Resource Name (ARN) of the resource share. * @return Returns a reference to this object so that method calls can be chained together. */ public AssociateResourceShareRequest withResourceShareArn(String resourceShareArn) { setResourceShareArn(resourceShareArn); return this; } /** *

* The Amazon Resource Names (ARNs) of the resources. *

* * @return The Amazon Resource Names (ARNs) of the resources. */ public java.util.List getResourceArns() { return resourceArns; } /** *

* The Amazon Resource Names (ARNs) of the resources. *

* * @param resourceArns * The Amazon Resource Names (ARNs) of the resources. */ public void setResourceArns(java.util.Collection resourceArns) { if (resourceArns == null) { this.resourceArns = null; return; } this.resourceArns = new java.util.ArrayList(resourceArns); } /** *

* The Amazon Resource Names (ARNs) of the resources. *

*

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

* * @param resourceArns * The Amazon Resource Names (ARNs) of the resources. * @return Returns a reference to this object so that method calls can be chained together. */ public AssociateResourceShareRequest withResourceArns(String... resourceArns) { if (this.resourceArns == null) { setResourceArns(new java.util.ArrayList(resourceArns.length)); } for (String ele : resourceArns) { this.resourceArns.add(ele); } return this; } /** *

* The Amazon Resource Names (ARNs) of the resources. *

* * @param resourceArns * The Amazon Resource Names (ARNs) of the resources. * @return Returns a reference to this object so that method calls can be chained together. */ public AssociateResourceShareRequest withResourceArns(java.util.Collection resourceArns) { setResourceArns(resourceArns); return this; } /** *

* The principals to associate with the resource share. The possible values are: *

*
    *
  • *

    * An Amazon Web Services account ID *

    *
  • *
  • *

    * An Amazon Resource Name (ARN) of an organization in Organizations *

    *
  • *
  • *

    * An ARN of an organizational unit (OU) in Organizations *

    *
  • *
  • *

    * An ARN of an IAM role *

    *
  • *
  • *

    * An ARN of an IAM user *

    *
  • *
* *

* Not all resource types can be shared with IAM roles and IAM users. For more information, see Sharing with IAM roles and IAM users in the Resource Access Manager User Guide. *

*
* * @return The principals to associate with the resource share. The possible values are:

*
    *
  • *

    * An Amazon Web Services account ID *

    *
  • *
  • *

    * An Amazon Resource Name (ARN) of an organization in Organizations *

    *
  • *
  • *

    * An ARN of an organizational unit (OU) in Organizations *

    *
  • *
  • *

    * An ARN of an IAM role *

    *
  • *
  • *

    * An ARN of an IAM user *

    *
  • *
* *

* Not all resource types can be shared with IAM roles and IAM users. For more information, see Sharing with IAM roles and IAM users in the Resource Access Manager User Guide. *

*/ public java.util.List getPrincipals() { return principals; } /** *

* The principals to associate with the resource share. The possible values are: *

*
    *
  • *

    * An Amazon Web Services account ID *

    *
  • *
  • *

    * An Amazon Resource Name (ARN) of an organization in Organizations *

    *
  • *
  • *

    * An ARN of an organizational unit (OU) in Organizations *

    *
  • *
  • *

    * An ARN of an IAM role *

    *
  • *
  • *

    * An ARN of an IAM user *

    *
  • *
* *

* Not all resource types can be shared with IAM roles and IAM users. For more information, see Sharing with IAM roles and IAM users in the Resource Access Manager User Guide. *

*
* * @param principals * The principals to associate with the resource share. The possible values are:

*
    *
  • *

    * An Amazon Web Services account ID *

    *
  • *
  • *

    * An Amazon Resource Name (ARN) of an organization in Organizations *

    *
  • *
  • *

    * An ARN of an organizational unit (OU) in Organizations *

    *
  • *
  • *

    * An ARN of an IAM role *

    *
  • *
  • *

    * An ARN of an IAM user *

    *
  • *
* *

* Not all resource types can be shared with IAM roles and IAM users. For more information, see Sharing with IAM roles and IAM users in the Resource Access Manager User Guide. *

*/ public void setPrincipals(java.util.Collection principals) { if (principals == null) { this.principals = null; return; } this.principals = new java.util.ArrayList(principals); } /** *

* The principals to associate with the resource share. The possible values are: *

*
    *
  • *

    * An Amazon Web Services account ID *

    *
  • *
  • *

    * An Amazon Resource Name (ARN) of an organization in Organizations *

    *
  • *
  • *

    * An ARN of an organizational unit (OU) in Organizations *

    *
  • *
  • *

    * An ARN of an IAM role *

    *
  • *
  • *

    * An ARN of an IAM user *

    *
  • *
* *

* Not all resource types can be shared with IAM roles and IAM users. For more information, see Sharing with IAM roles and IAM users in the Resource Access Manager User Guide. *

*
*

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

* * @param principals * The principals to associate with the resource share. The possible values are:

*
    *
  • *

    * An Amazon Web Services account ID *

    *
  • *
  • *

    * An Amazon Resource Name (ARN) of an organization in Organizations *

    *
  • *
  • *

    * An ARN of an organizational unit (OU) in Organizations *

    *
  • *
  • *

    * An ARN of an IAM role *

    *
  • *
  • *

    * An ARN of an IAM user *

    *
  • *
* *

* Not all resource types can be shared with IAM roles and IAM users. For more information, see Sharing with IAM roles and IAM users in the Resource Access Manager User Guide. *

* @return Returns a reference to this object so that method calls can be chained together. */ public AssociateResourceShareRequest withPrincipals(String... principals) { if (this.principals == null) { setPrincipals(new java.util.ArrayList(principals.length)); } for (String ele : principals) { this.principals.add(ele); } return this; } /** *

* The principals to associate with the resource share. The possible values are: *

*
    *
  • *

    * An Amazon Web Services account ID *

    *
  • *
  • *

    * An Amazon Resource Name (ARN) of an organization in Organizations *

    *
  • *
  • *

    * An ARN of an organizational unit (OU) in Organizations *

    *
  • *
  • *

    * An ARN of an IAM role *

    *
  • *
  • *

    * An ARN of an IAM user *

    *
  • *
* *

* Not all resource types can be shared with IAM roles and IAM users. For more information, see Sharing with IAM roles and IAM users in the Resource Access Manager User Guide. *

*
* * @param principals * The principals to associate with the resource share. The possible values are:

*
    *
  • *

    * An Amazon Web Services account ID *

    *
  • *
  • *

    * An Amazon Resource Name (ARN) of an organization in Organizations *

    *
  • *
  • *

    * An ARN of an organizational unit (OU) in Organizations *

    *
  • *
  • *

    * An ARN of an IAM role *

    *
  • *
  • *

    * An ARN of an IAM user *

    *
  • *
* *

* Not all resource types can be shared with IAM roles and IAM users. For more information, see Sharing with IAM roles and IAM users in the Resource Access Manager User Guide. *

* @return Returns a reference to this object so that method calls can be chained together. */ public AssociateResourceShareRequest withPrincipals(java.util.Collection principals) { setPrincipals(principals); return this; } /** *

* A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. *

* * @param clientToken * A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. */ public void setClientToken(String clientToken) { this.clientToken = clientToken; } /** *

* A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. *

* * @return A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. */ public String getClientToken() { return this.clientToken; } /** *

* A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. *

* * @param clientToken * A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. * @return Returns a reference to this object so that method calls can be chained together. */ public AssociateResourceShareRequest withClientToken(String clientToken) { setClientToken(clientToken); 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 (getResourceShareArn() != null) sb.append("ResourceShareArn: ").append(getResourceShareArn()).append(","); if (getResourceArns() != null) sb.append("ResourceArns: ").append(getResourceArns()).append(","); if (getPrincipals() != null) sb.append("Principals: ").append(getPrincipals()).append(","); if (getClientToken() != null) sb.append("ClientToken: ").append(getClientToken()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof AssociateResourceShareRequest == false) return false; AssociateResourceShareRequest other = (AssociateResourceShareRequest) obj; if (other.getResourceShareArn() == null ^ this.getResourceShareArn() == null) return false; if (other.getResourceShareArn() != null && other.getResourceShareArn().equals(this.getResourceShareArn()) == false) return false; if (other.getResourceArns() == null ^ this.getResourceArns() == null) return false; if (other.getResourceArns() != null && other.getResourceArns().equals(this.getResourceArns()) == false) return false; if (other.getPrincipals() == null ^ this.getPrincipals() == null) return false; if (other.getPrincipals() != null && other.getPrincipals().equals(this.getPrincipals()) == false) return false; if (other.getClientToken() == null ^ this.getClientToken() == null) return false; if (other.getClientToken() != null && other.getClientToken().equals(this.getClientToken()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getResourceShareArn() == null) ? 0 : getResourceShareArn().hashCode()); hashCode = prime * hashCode + ((getResourceArns() == null) ? 0 : getResourceArns().hashCode()); hashCode = prime * hashCode + ((getPrincipals() == null) ? 0 : getPrincipals().hashCode()); hashCode = prime * hashCode + ((getClientToken() == null) ? 0 : getClientToken().hashCode()); return hashCode; } @Override public AssociateResourceShareRequest clone() { return (AssociateResourceShareRequest) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy