com.pulumi.alicloud.ram.RolePolicyAttachmentArgs Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of alicloud Show documentation
Show all versions of alicloud Show documentation
A Pulumi package for creating and managing AliCloud resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.alicloud.ram;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
public final class RolePolicyAttachmentArgs extends com.pulumi.resources.ResourceArgs {
public static final RolePolicyAttachmentArgs Empty = new RolePolicyAttachmentArgs();
/**
* Name of the RAM policy. This name can have a string of 1 to 128 characters, must contain only alphanumeric characters or hyphen "-", and must not begin with a hyphen.
*
*/
@Import(name="policyName", required=true)
private Output policyName;
/**
* @return Name of the RAM policy. This name can have a string of 1 to 128 characters, must contain only alphanumeric characters or hyphen "-", and must not begin with a hyphen.
*
*/
public Output policyName() {
return this.policyName;
}
/**
* Type of the RAM policy. It must be `Custom` or `System`.
*
*/
@Import(name="policyType", required=true)
private Output policyType;
/**
* @return Type of the RAM policy. It must be `Custom` or `System`.
*
*/
public Output policyType() {
return this.policyType;
}
/**
* Name of the RAM Role. This name can have a string of 1 to 64 characters, must contain only alphanumeric characters or hyphens, such as "-", "_", and must not begin with a hyphen.
*
*/
@Import(name="roleName", required=true)
private Output roleName;
/**
* @return Name of the RAM Role. This name can have a string of 1 to 64 characters, must contain only alphanumeric characters or hyphens, such as "-", "_", and must not begin with a hyphen.
*
*/
public Output roleName() {
return this.roleName;
}
private RolePolicyAttachmentArgs() {}
private RolePolicyAttachmentArgs(RolePolicyAttachmentArgs $) {
this.policyName = $.policyName;
this.policyType = $.policyType;
this.roleName = $.roleName;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(RolePolicyAttachmentArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private RolePolicyAttachmentArgs $;
public Builder() {
$ = new RolePolicyAttachmentArgs();
}
public Builder(RolePolicyAttachmentArgs defaults) {
$ = new RolePolicyAttachmentArgs(Objects.requireNonNull(defaults));
}
/**
* @param policyName Name of the RAM policy. This name can have a string of 1 to 128 characters, must contain only alphanumeric characters or hyphen "-", and must not begin with a hyphen.
*
* @return builder
*
*/
public Builder policyName(Output policyName) {
$.policyName = policyName;
return this;
}
/**
* @param policyName Name of the RAM policy. This name can have a string of 1 to 128 characters, must contain only alphanumeric characters or hyphen "-", and must not begin with a hyphen.
*
* @return builder
*
*/
public Builder policyName(String policyName) {
return policyName(Output.of(policyName));
}
/**
* @param policyType Type of the RAM policy. It must be `Custom` or `System`.
*
* @return builder
*
*/
public Builder policyType(Output policyType) {
$.policyType = policyType;
return this;
}
/**
* @param policyType Type of the RAM policy. It must be `Custom` or `System`.
*
* @return builder
*
*/
public Builder policyType(String policyType) {
return policyType(Output.of(policyType));
}
/**
* @param roleName Name of the RAM Role. This name can have a string of 1 to 64 characters, must contain only alphanumeric characters or hyphens, such as "-", "_", and must not begin with a hyphen.
*
* @return builder
*
*/
public Builder roleName(Output roleName) {
$.roleName = roleName;
return this;
}
/**
* @param roleName Name of the RAM Role. This name can have a string of 1 to 64 characters, must contain only alphanumeric characters or hyphens, such as "-", "_", and must not begin with a hyphen.
*
* @return builder
*
*/
public Builder roleName(String roleName) {
return roleName(Output.of(roleName));
}
public RolePolicyAttachmentArgs build() {
if ($.policyName == null) {
throw new MissingRequiredPropertyException("RolePolicyAttachmentArgs", "policyName");
}
if ($.policyType == null) {
throw new MissingRequiredPropertyException("RolePolicyAttachmentArgs", "policyType");
}
if ($.roleName == null) {
throw new MissingRequiredPropertyException("RolePolicyAttachmentArgs", "roleName");
}
return $;
}
}
}