com.pulumi.aws.iot.outputs.TopicRuleDestinationVpcConfiguration 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.iot.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 TopicRuleDestinationVpcConfiguration {
/**
* @return The ARN of a role that has permission to create and attach to elastic network interfaces (ENIs).
*
*/
private String roleArn;
/**
* @return The security groups of the VPC destination.
*
*/
private @Nullable List securityGroups;
/**
* @return The subnet IDs of the VPC destination.
*
*/
private List subnetIds;
/**
* @return The ID of the VPC.
*
*/
private String vpcId;
private TopicRuleDestinationVpcConfiguration() {}
/**
* @return The ARN of a role that has permission to create and attach to elastic network interfaces (ENIs).
*
*/
public String roleArn() {
return this.roleArn;
}
/**
* @return The security groups of the VPC destination.
*
*/
public List securityGroups() {
return this.securityGroups == null ? List.of() : this.securityGroups;
}
/**
* @return The subnet IDs of the VPC destination.
*
*/
public List subnetIds() {
return this.subnetIds;
}
/**
* @return The ID of the VPC.
*
*/
public String vpcId() {
return this.vpcId;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(TopicRuleDestinationVpcConfiguration defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private String roleArn;
private @Nullable List securityGroups;
private List subnetIds;
private String vpcId;
public Builder() {}
public Builder(TopicRuleDestinationVpcConfiguration defaults) {
Objects.requireNonNull(defaults);
this.roleArn = defaults.roleArn;
this.securityGroups = defaults.securityGroups;
this.subnetIds = defaults.subnetIds;
this.vpcId = defaults.vpcId;
}
@CustomType.Setter
public Builder roleArn(String roleArn) {
if (roleArn == null) {
throw new MissingRequiredPropertyException("TopicRuleDestinationVpcConfiguration", "roleArn");
}
this.roleArn = roleArn;
return this;
}
@CustomType.Setter
public Builder securityGroups(@Nullable List securityGroups) {
this.securityGroups = securityGroups;
return this;
}
public Builder securityGroups(String... securityGroups) {
return securityGroups(List.of(securityGroups));
}
@CustomType.Setter
public Builder subnetIds(List subnetIds) {
if (subnetIds == null) {
throw new MissingRequiredPropertyException("TopicRuleDestinationVpcConfiguration", "subnetIds");
}
this.subnetIds = subnetIds;
return this;
}
public Builder subnetIds(String... subnetIds) {
return subnetIds(List.of(subnetIds));
}
@CustomType.Setter
public Builder vpcId(String vpcId) {
if (vpcId == null) {
throw new MissingRequiredPropertyException("TopicRuleDestinationVpcConfiguration", "vpcId");
}
this.vpcId = vpcId;
return this;
}
public TopicRuleDestinationVpcConfiguration build() {
final var _resultValue = new TopicRuleDestinationVpcConfiguration();
_resultValue.roleArn = roleArn;
_resultValue.securityGroups = securityGroups;
_resultValue.subnetIds = subnetIds;
_resultValue.vpcId = vpcId;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy