com.aliyun.ros.cdk.ram.RosManagedPolicy Maven / Gradle / Ivy
package com.aliyun.ros.cdk.ram;
/**
* This class is a base encapsulation around the ROS resource type ALIYUN::RAM::ManagedPolicy
, which is used to create a Resource Access Management (RAM) policy.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.85.0 (build 08ee592)", date = "2024-12-13T06:45:10.842Z")
@software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.ram.$Module.class, fqn = "@alicloud/ros-cdk-ram.RosManagedPolicy")
public class RosManagedPolicy extends com.aliyun.ros.cdk.core.RosResource {
protected RosManagedPolicy(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected RosManagedPolicy(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
static {
ROS_RESOURCE_TYPE_NAME = software.amazon.jsii.JsiiObject.jsiiStaticGet(com.aliyun.ros.cdk.ram.RosManagedPolicy.class, "ROS_RESOURCE_TYPE_NAME", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* @param scope - scope in which this resource is defined.
This parameter is required.
* @param id - scoped id of the resource.
This parameter is required.
* @param props - resource properties.
This parameter is required.
* @param enableResourcePropertyConstraint This parameter is required.
*/
public RosManagedPolicy(final @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.ram.RosManagedPolicyProps props, final @org.jetbrains.annotations.NotNull java.lang.Boolean enableResourcePropertyConstraint) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required"), java.util.Objects.requireNonNull(props, "props is required"), java.util.Objects.requireNonNull(enableResourcePropertyConstraint, "enableResourcePropertyConstraint is required") });
}
@Override
protected @org.jetbrains.annotations.NotNull java.util.Map renderProperties(final @org.jetbrains.annotations.NotNull java.util.Map props) {
return java.util.Collections.unmodifiableMap(software.amazon.jsii.Kernel.call(this, "renderProperties", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class)), new Object[] { java.util.Objects.requireNonNull(props, "props is required") }));
}
/**
* The resource type name for this resource class.
*/
public final static java.lang.String ROS_RESOURCE_TYPE_NAME;
/**
*/
public @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.IResolvable getAttrPolicyName() {
return software.amazon.jsii.Kernel.get(this, "attrPolicyName", software.amazon.jsii.NativeType.forClass(com.aliyun.ros.cdk.core.IResolvable.class));
}
@Override
protected @org.jetbrains.annotations.NotNull java.util.Map getRosProperties() {
return java.util.Collections.unmodifiableMap(software.amazon.jsii.Kernel.get(this, "rosProperties", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class))));
}
public @org.jetbrains.annotations.NotNull java.lang.Boolean getEnableResourcePropertyConstraint() {
return software.amazon.jsii.Kernel.get(this, "enableResourcePropertyConstraint", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
}
public void setEnableResourcePropertyConstraint(final @org.jetbrains.annotations.NotNull java.lang.Boolean value) {
software.amazon.jsii.Kernel.set(this, "enableResourcePropertyConstraint", java.util.Objects.requireNonNull(value, "enableResourcePropertyConstraint is required"));
}
/**
*/
public @org.jetbrains.annotations.NotNull java.lang.Object getPolicyName() {
return software.amazon.jsii.Kernel.get(this, "policyName", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
}
/**
*/
public void setPolicyName(final @org.jetbrains.annotations.NotNull java.lang.String value) {
software.amazon.jsii.Kernel.set(this, "policyName", java.util.Objects.requireNonNull(value, "policyName is required"));
}
/**
*/
public void setPolicyName(final @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.IResolvable value) {
software.amazon.jsii.Kernel.set(this, "policyName", java.util.Objects.requireNonNull(value, "policyName is required"));
}
/**
*/
public @org.jetbrains.annotations.Nullable java.lang.Object getDescription() {
return software.amazon.jsii.Kernel.get(this, "description", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
}
/**
*/
public void setDescription(final @org.jetbrains.annotations.Nullable java.lang.String value) {
software.amazon.jsii.Kernel.set(this, "description", value);
}
/**
*/
public void setDescription(final @org.jetbrains.annotations.Nullable com.aliyun.ros.cdk.core.IResolvable value) {
software.amazon.jsii.Kernel.set(this, "description", value);
}
/**
*/
public @org.jetbrains.annotations.Nullable java.lang.Object getGroups() {
return software.amazon.jsii.Kernel.get(this, "groups", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
}
/**
*/
public void setGroups(final @org.jetbrains.annotations.Nullable java.util.List value) {
if (software.amazon.jsii.Configuration.getRuntimeTypeChecking()) {
for (int __idx_ac66f0 = 0; __idx_ac66f0 < value.size(); __idx_ac66f0++) {
final java.lang.Object __val_ac66f0 = value.get(__idx_ac66f0);
}
}
software.amazon.jsii.Kernel.set(this, "groups", value);
}
/**
*/
public void setGroups(final @org.jetbrains.annotations.Nullable com.aliyun.ros.cdk.core.IResolvable value) {
software.amazon.jsii.Kernel.set(this, "groups", value);
}
/**
*/
public @org.jetbrains.annotations.Nullable java.lang.Object getIgnoreExisting() {
return software.amazon.jsii.Kernel.get(this, "ignoreExisting", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
}
/**
*/
public void setIgnoreExisting(final @org.jetbrains.annotations.Nullable java.lang.Boolean value) {
software.amazon.jsii.Kernel.set(this, "ignoreExisting", value);
}
/**
*/
public void setIgnoreExisting(final @org.jetbrains.annotations.Nullable com.aliyun.ros.cdk.core.IResolvable value) {
software.amazon.jsii.Kernel.set(this, "ignoreExisting", value);
}
/**
*/
public @org.jetbrains.annotations.Nullable java.lang.Object getPolicyDocument() {
return software.amazon.jsii.Kernel.get(this, "policyDocument", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
}
/**
*/
public void setPolicyDocument(final @org.jetbrains.annotations.Nullable com.aliyun.ros.cdk.core.IResolvable value) {
software.amazon.jsii.Kernel.set(this, "policyDocument", value);
}
/**
*/
public void setPolicyDocument(final @org.jetbrains.annotations.Nullable com.aliyun.ros.cdk.ram.RosManagedPolicy.PolicyDocumentProperty value) {
software.amazon.jsii.Kernel.set(this, "policyDocument", value);
}
/**
*/
public @org.jetbrains.annotations.Nullable java.lang.Object getPolicyDocumentUnchecked() {
return software.amazon.jsii.Kernel.get(this, "policyDocumentUnchecked", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
}
/**
*/
public void setPolicyDocumentUnchecked(final @org.jetbrains.annotations.Nullable com.aliyun.ros.cdk.core.IResolvable value) {
software.amazon.jsii.Kernel.set(this, "policyDocumentUnchecked", value);
}
/**
*/
public void setPolicyDocumentUnchecked(final @org.jetbrains.annotations.Nullable java.util.Map value) {
if (software.amazon.jsii.Configuration.getRuntimeTypeChecking()) {
if (!(value.keySet().toArray()[0] instanceof String)) {
throw new IllegalArgumentException(
new java.lang.StringBuilder("Expected ")
.append("value").append(".keySet()")
.append(" to contain class String; received ")
.append(value.keySet().toArray()[0].getClass()).toString());
}
for (final java.util.Map.Entry __item_ac66f0: value.entrySet()) {
final java.lang.Object __val_ac66f0 = __item_ac66f0.getValue();
}
}
software.amazon.jsii.Kernel.set(this, "policyDocumentUnchecked", value);
}
/**
*/
public @org.jetbrains.annotations.Nullable java.lang.Object getRoles() {
return software.amazon.jsii.Kernel.get(this, "roles", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
}
/**
*/
public void setRoles(final @org.jetbrains.annotations.Nullable java.util.List value) {
if (software.amazon.jsii.Configuration.getRuntimeTypeChecking()) {
for (int __idx_ac66f0 = 0; __idx_ac66f0 < value.size(); __idx_ac66f0++) {
final java.lang.Object __val_ac66f0 = value.get(__idx_ac66f0);
}
}
software.amazon.jsii.Kernel.set(this, "roles", value);
}
/**
*/
public void setRoles(final @org.jetbrains.annotations.Nullable com.aliyun.ros.cdk.core.IResolvable value) {
software.amazon.jsii.Kernel.set(this, "roles", value);
}
/**
*/
public @org.jetbrains.annotations.Nullable java.lang.Object getUsers() {
return software.amazon.jsii.Kernel.get(this, "users", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
}
/**
*/
public void setUsers(final @org.jetbrains.annotations.Nullable java.util.List value) {
if (software.amazon.jsii.Configuration.getRuntimeTypeChecking()) {
for (int __idx_ac66f0 = 0; __idx_ac66f0 < value.size(); __idx_ac66f0++) {
final java.lang.Object __val_ac66f0 = value.get(__idx_ac66f0);
}
}
software.amazon.jsii.Kernel.set(this, "users", value);
}
/**
*/
public void setUsers(final @org.jetbrains.annotations.Nullable com.aliyun.ros.cdk.core.IResolvable value) {
software.amazon.jsii.Kernel.set(this, "users", value);
}
/**
*/
@software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.ram.$Module.class, fqn = "@alicloud/ros-cdk-ram.RosManagedPolicy.PolicyDocumentProperty")
@software.amazon.jsii.Jsii.Proxy(PolicyDocumentProperty.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static interface PolicyDocumentProperty extends software.amazon.jsii.JsiiSerializable {
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.Object getStatement();
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@org.jetbrains.annotations.NotNull java.lang.Object getVersion();
/**
* @return a {@link Builder} of {@link PolicyDocumentProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link PolicyDocumentProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
java.lang.Object statement;
java.lang.Object version;
/**
* Sets the value of {@link PolicyDocumentProperty#getStatement}
* @param statement the value to be set. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder statement(com.aliyun.ros.cdk.core.IResolvable statement) {
this.statement = statement;
return this;
}
/**
* Sets the value of {@link PolicyDocumentProperty#getStatement}
* @param statement the value to be set. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder statement(java.util.List extends java.lang.Object> statement) {
this.statement = statement;
return this;
}
/**
* Sets the value of {@link PolicyDocumentProperty#getVersion}
* @param version the value to be set. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder version(java.lang.String version) {
this.version = version;
return this;
}
/**
* Sets the value of {@link PolicyDocumentProperty#getVersion}
* @param version the value to be set. This parameter is required.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder version(com.aliyun.ros.cdk.core.IResolvable version) {
this.version = version;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link PolicyDocumentProperty}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public PolicyDocumentProperty build() {
return new Jsii$Proxy(this);
}
}
/**
* An implementation for {@link PolicyDocumentProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements PolicyDocumentProperty {
private final java.lang.Object statement;
private final java.lang.Object version;
/**
* Constructor that initializes the object based on values retrieved from the JsiiObject.
* @param objRef Reference to the JSII managed object.
*/
protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
this.statement = software.amazon.jsii.Kernel.get(this, "statement", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.version = software.amazon.jsii.Kernel.get(this, "version", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
protected Jsii$Proxy(final Builder builder) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.statement = java.util.Objects.requireNonNull(builder.statement, "statement is required");
this.version = java.util.Objects.requireNonNull(builder.version, "version is required");
}
@Override
public final java.lang.Object getStatement() {
return this.statement;
}
@Override
public final java.lang.Object getVersion() {
return this.version;
}
@Override
@software.amazon.jsii.Internal
public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
data.set("statement", om.valueToTree(this.getStatement()));
data.set("version", om.valueToTree(this.getVersion()));
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-ram.RosManagedPolicy.PolicyDocumentProperty"));
struct.set("data", data);
final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
obj.set("$jsii.struct", struct);
return obj;
}
@Override
public final boolean equals(final Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
PolicyDocumentProperty.Jsii$Proxy that = (PolicyDocumentProperty.Jsii$Proxy) o;
if (!statement.equals(that.statement)) return false;
return this.version.equals(that.version);
}
@Override
public final int hashCode() {
int result = this.statement.hashCode();
result = 31 * result + (this.version.hashCode());
return result;
}
}
}
/**
*/
@software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.ram.$Module.class, fqn = "@alicloud/ros-cdk-ram.RosManagedPolicy.StatementProperty")
@software.amazon.jsii.Jsii.Proxy(StatementProperty.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static interface StatementProperty extends software.amazon.jsii.JsiiSerializable {
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Object getAction() {
return null;
}
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Object getCondition() {
return null;
}
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Object getEffect() {
return null;
}
/**
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
default @org.jetbrains.annotations.Nullable java.lang.Object getResource() {
return null;
}
/**
* @return a {@link Builder} of {@link StatementProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link StatementProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
java.lang.Object action;
java.lang.Object condition;
java.lang.Object effect;
java.lang.Object resource;
/**
* Sets the value of {@link StatementProperty#getAction}
* @param action the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder action(java.util.List extends java.lang.Object> action) {
this.action = action;
return this;
}
/**
* Sets the value of {@link StatementProperty#getAction}
* @param action the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder action(com.aliyun.ros.cdk.core.IResolvable action) {
this.action = action;
return this;
}
/**
* Sets the value of {@link StatementProperty#getCondition}
* @param condition the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder condition(com.aliyun.ros.cdk.core.IResolvable condition) {
this.condition = condition;
return this;
}
/**
* Sets the value of {@link StatementProperty#getCondition}
* @param condition the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder condition(java.util.Map condition) {
this.condition = condition;
return this;
}
/**
* Sets the value of {@link StatementProperty#getEffect}
* @param effect the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder effect(java.lang.String effect) {
this.effect = effect;
return this;
}
/**
* Sets the value of {@link StatementProperty#getEffect}
* @param effect the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder effect(com.aliyun.ros.cdk.core.IResolvable effect) {
this.effect = effect;
return this;
}
/**
* Sets the value of {@link StatementProperty#getResource}
* @param resource the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder resource(java.util.List extends java.lang.Object> resource) {
this.resource = resource;
return this;
}
/**
* Sets the value of {@link StatementProperty#getResource}
* @param resource the value to be set.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public Builder resource(com.aliyun.ros.cdk.core.IResolvable resource) {
this.resource = resource;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link StatementProperty}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public StatementProperty build() {
return new Jsii$Proxy(this);
}
}
/**
* An implementation for {@link StatementProperty}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements StatementProperty {
private final java.lang.Object action;
private final java.lang.Object condition;
private final java.lang.Object effect;
private final java.lang.Object resource;
/**
* Constructor that initializes the object based on values retrieved from the JsiiObject.
* @param objRef Reference to the JSII managed object.
*/
protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
this.action = software.amazon.jsii.Kernel.get(this, "action", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.condition = software.amazon.jsii.Kernel.get(this, "condition", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.effect = software.amazon.jsii.Kernel.get(this, "effect", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
this.resource = software.amazon.jsii.Kernel.get(this, "resource", software.amazon.jsii.NativeType.forClass(java.lang.Object.class));
}
/**
* Constructor that initializes the object based on literal property values passed by the {@link Builder}.
*/
protected Jsii$Proxy(final Builder builder) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.action = builder.action;
this.condition = builder.condition;
this.effect = builder.effect;
this.resource = builder.resource;
}
@Override
public final java.lang.Object getAction() {
return this.action;
}
@Override
public final java.lang.Object getCondition() {
return this.condition;
}
@Override
public final java.lang.Object getEffect() {
return this.effect;
}
@Override
public final java.lang.Object getResource() {
return this.resource;
}
@Override
@software.amazon.jsii.Internal
public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() {
final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE;
final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
if (this.getAction() != null) {
data.set("action", om.valueToTree(this.getAction()));
}
if (this.getCondition() != null) {
data.set("condition", om.valueToTree(this.getCondition()));
}
if (this.getEffect() != null) {
data.set("effect", om.valueToTree(this.getEffect()));
}
if (this.getResource() != null) {
data.set("resource", om.valueToTree(this.getResource()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-ram.RosManagedPolicy.StatementProperty"));
struct.set("data", data);
final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
obj.set("$jsii.struct", struct);
return obj;
}
@Override
public final boolean equals(final Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
StatementProperty.Jsii$Proxy that = (StatementProperty.Jsii$Proxy) o;
if (this.action != null ? !this.action.equals(that.action) : that.action != null) return false;
if (this.condition != null ? !this.condition.equals(that.condition) : that.condition != null) return false;
if (this.effect != null ? !this.effect.equals(that.effect) : that.effect != null) return false;
return this.resource != null ? this.resource.equals(that.resource) : that.resource == null;
}
@Override
public final int hashCode() {
int result = this.action != null ? this.action.hashCode() : 0;
result = 31 * result + (this.condition != null ? this.condition.hashCode() : 0);
result = 31 * result + (this.effect != null ? this.effect.hashCode() : 0);
result = 31 * result + (this.resource != null ? this.resource.hashCode() : 0);
return result;
}
}
}
/**
* A fluent builder for {@link com.aliyun.ros.cdk.ram.RosManagedPolicy}.
*/
public static final class Builder implements software.amazon.jsii.Builder {
/**
* @return a new instance of {@link Builder}.
* @param scope - scope in which this resource is defined.
This parameter is required.
* @param id - scoped id of the resource.
This parameter is required.
* @param enableResourcePropertyConstraint This parameter is required.
*/
public static Builder create(final com.aliyun.ros.cdk.core.Construct scope, final java.lang.String id, final java.lang.Boolean enableResourcePropertyConstraint) {
return new Builder(scope, id, enableResourcePropertyConstraint);
}
private final com.aliyun.ros.cdk.core.Construct scope;
private final java.lang.String id;
private final java.lang.Boolean enableResourcePropertyConstraint;
private final com.aliyun.ros.cdk.ram.RosManagedPolicyProps.Builder props;
private Builder(final com.aliyun.ros.cdk.core.Construct scope, final java.lang.String id, final java.lang.Boolean enableResourcePropertyConstraint) {
this.scope = scope;
this.id = id;
this.enableResourcePropertyConstraint = enableResourcePropertyConstraint;
this.props = new com.aliyun.ros.cdk.ram.RosManagedPolicyProps.Builder();
}
/**
* @return {@code this}
* @param policyName This parameter is required.
*/
public Builder policyName(final java.lang.String policyName) {
this.props.policyName(policyName);
return this;
}
/**
* @return {@code this}
* @param policyName This parameter is required.
*/
public Builder policyName(final com.aliyun.ros.cdk.core.IResolvable policyName) {
this.props.policyName(policyName);
return this;
}
/**
* @return {@code this}
* @param description This parameter is required.
*/
public Builder description(final java.lang.String description) {
this.props.description(description);
return this;
}
/**
* @return {@code this}
* @param description This parameter is required.
*/
public Builder description(final com.aliyun.ros.cdk.core.IResolvable description) {
this.props.description(description);
return this;
}
/**
* @return {@code this}
* @param groups This parameter is required.
*/
public Builder groups(final java.util.List extends java.lang.Object> groups) {
this.props.groups(groups);
return this;
}
/**
* @return {@code this}
* @param groups This parameter is required.
*/
public Builder groups(final com.aliyun.ros.cdk.core.IResolvable groups) {
this.props.groups(groups);
return this;
}
/**
* @return {@code this}
* @param ignoreExisting This parameter is required.
*/
public Builder ignoreExisting(final java.lang.Boolean ignoreExisting) {
this.props.ignoreExisting(ignoreExisting);
return this;
}
/**
* @return {@code this}
* @param ignoreExisting This parameter is required.
*/
public Builder ignoreExisting(final com.aliyun.ros.cdk.core.IResolvable ignoreExisting) {
this.props.ignoreExisting(ignoreExisting);
return this;
}
/**
* @return {@code this}
* @param policyDocument This parameter is required.
*/
public Builder policyDocument(final com.aliyun.ros.cdk.core.IResolvable policyDocument) {
this.props.policyDocument(policyDocument);
return this;
}
/**
* @return {@code this}
* @param policyDocument This parameter is required.
*/
public Builder policyDocument(final com.aliyun.ros.cdk.ram.RosManagedPolicy.PolicyDocumentProperty policyDocument) {
this.props.policyDocument(policyDocument);
return this;
}
/**
* @return {@code this}
* @param policyDocumentUnchecked This parameter is required.
*/
public Builder policyDocumentUnchecked(final com.aliyun.ros.cdk.core.IResolvable policyDocumentUnchecked) {
this.props.policyDocumentUnchecked(policyDocumentUnchecked);
return this;
}
/**
* @return {@code this}
* @param policyDocumentUnchecked This parameter is required.
*/
public Builder policyDocumentUnchecked(final java.util.Map policyDocumentUnchecked) {
this.props.policyDocumentUnchecked(policyDocumentUnchecked);
return this;
}
/**
* @return {@code this}
* @param roles This parameter is required.
*/
public Builder roles(final java.util.List extends java.lang.Object> roles) {
this.props.roles(roles);
return this;
}
/**
* @return {@code this}
* @param roles This parameter is required.
*/
public Builder roles(final com.aliyun.ros.cdk.core.IResolvable roles) {
this.props.roles(roles);
return this;
}
/**
* @return {@code this}
* @param users This parameter is required.
*/
public Builder users(final java.util.List extends java.lang.Object> users) {
this.props.users(users);
return this;
}
/**
* @return {@code this}
* @param users This parameter is required.
*/
public Builder users(final com.aliyun.ros.cdk.core.IResolvable users) {
this.props.users(users);
return this;
}
/**
* @return a newly built instance of {@link com.aliyun.ros.cdk.ram.RosManagedPolicy}.
*/
@Override
public com.aliyun.ros.cdk.ram.RosManagedPolicy build() {
return new com.aliyun.ros.cdk.ram.RosManagedPolicy(
this.scope,
this.id,
this.props.build(),
this.enableResourcePropertyConstraint
);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy