com.pulumi.aws.budgets.outputs.BudgetActionDefinitionIamActionDefinition Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aws Show documentation
Show all versions of aws Show documentation
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud 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.aws.budgets.outputs;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import javax.annotation.Nullable;
@CustomType
public final class BudgetActionDefinitionIamActionDefinition {
/**
* @return A list of groups to be attached. There must be at least one group.
*
*/
private @Nullable List groups;
/**
* @return The Amazon Resource Name (ARN) of the policy to be attached.
*
*/
private String policyArn;
/**
* @return A list of roles to be attached. There must be at least one role.
*
*/
private @Nullable List roles;
/**
* @return A list of users to be attached. There must be at least one user.
*
*/
private @Nullable List users;
private BudgetActionDefinitionIamActionDefinition() {}
/**
* @return A list of groups to be attached. There must be at least one group.
*
*/
public List groups() {
return this.groups == null ? List.of() : this.groups;
}
/**
* @return The Amazon Resource Name (ARN) of the policy to be attached.
*
*/
public String policyArn() {
return this.policyArn;
}
/**
* @return A list of roles to be attached. There must be at least one role.
*
*/
public List roles() {
return this.roles == null ? List.of() : this.roles;
}
/**
* @return A list of users to be attached. There must be at least one user.
*
*/
public List users() {
return this.users == null ? List.of() : this.users;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(BudgetActionDefinitionIamActionDefinition defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable List groups;
private String policyArn;
private @Nullable List roles;
private @Nullable List users;
public Builder() {}
public Builder(BudgetActionDefinitionIamActionDefinition defaults) {
Objects.requireNonNull(defaults);
this.groups = defaults.groups;
this.policyArn = defaults.policyArn;
this.roles = defaults.roles;
this.users = defaults.users;
}
@CustomType.Setter
public Builder groups(@Nullable List groups) {
this.groups = groups;
return this;
}
public Builder groups(String... groups) {
return groups(List.of(groups));
}
@CustomType.Setter
public Builder policyArn(String policyArn) {
if (policyArn == null) {
throw new MissingRequiredPropertyException("BudgetActionDefinitionIamActionDefinition", "policyArn");
}
this.policyArn = policyArn;
return this;
}
@CustomType.Setter
public Builder roles(@Nullable List roles) {
this.roles = roles;
return this;
}
public Builder roles(String... roles) {
return roles(List.of(roles));
}
@CustomType.Setter
public Builder users(@Nullable List users) {
this.users = users;
return this;
}
public Builder users(String... users) {
return users(List.of(users));
}
public BudgetActionDefinitionIamActionDefinition build() {
final var _resultValue = new BudgetActionDefinitionIamActionDefinition();
_resultValue.groups = groups;
_resultValue.policyArn = policyArn;
_resultValue.roles = roles;
_resultValue.users = users;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy