
com.pulumi.azurenative.awsconnector.outputs.AwsIamInstanceProfilePropertiesResponse Maven / Gradle / Ivy
// *** 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.azurenative.awsconnector.outputs;
import com.pulumi.core.annotations.CustomType;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class AwsIamInstanceProfilePropertiesResponse {
/**
* @return Property arn
*
*/
private @Nullable String arn;
/**
* @return The name of the instance profile to create. This parameter allows (through its [regex pattern](https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex)) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.{@literal @}-
*
*/
private @Nullable String instanceProfileName;
/**
* @return The path to the instance profile. For more information about paths, see [IAM Identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) in the *IAM User Guide*. This parameter is optional. If it is not included, it defaults to a slash (/). This parameter allows (through its [regex pattern](https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex)) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (``\u0021``) through the DEL character (``\u007F``), including most punctuation characters, digits, and upper and lowercased letters.
*
*/
private @Nullable String path;
/**
* @return The name of the role to associate with the instance profile. Only one role can be assigned to an EC2 instance at a time, and all applications on the instance share the same role and permissions.
*
*/
private @Nullable List roles;
private AwsIamInstanceProfilePropertiesResponse() {}
/**
* @return Property arn
*
*/
public Optional arn() {
return Optional.ofNullable(this.arn);
}
/**
* @return The name of the instance profile to create. This parameter allows (through its [regex pattern](https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex)) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.{@literal @}-
*
*/
public Optional instanceProfileName() {
return Optional.ofNullable(this.instanceProfileName);
}
/**
* @return The path to the instance profile. For more information about paths, see [IAM Identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) in the *IAM User Guide*. This parameter is optional. If it is not included, it defaults to a slash (/). This parameter allows (through its [regex pattern](https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex)) a string of characters consisting of either a forward slash (/) by itself or a string that must begin and end with forward slashes. In addition, it can contain any ASCII character from the ! (``\u0021``) through the DEL character (``\u007F``), including most punctuation characters, digits, and upper and lowercased letters.
*
*/
public Optional path() {
return Optional.ofNullable(this.path);
}
/**
* @return The name of the role to associate with the instance profile. Only one role can be assigned to an EC2 instance at a time, and all applications on the instance share the same role and permissions.
*
*/
public List roles() {
return this.roles == null ? List.of() : this.roles;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(AwsIamInstanceProfilePropertiesResponse defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable String arn;
private @Nullable String instanceProfileName;
private @Nullable String path;
private @Nullable List roles;
public Builder() {}
public Builder(AwsIamInstanceProfilePropertiesResponse defaults) {
Objects.requireNonNull(defaults);
this.arn = defaults.arn;
this.instanceProfileName = defaults.instanceProfileName;
this.path = defaults.path;
this.roles = defaults.roles;
}
@CustomType.Setter
public Builder arn(@Nullable String arn) {
this.arn = arn;
return this;
}
@CustomType.Setter
public Builder instanceProfileName(@Nullable String instanceProfileName) {
this.instanceProfileName = instanceProfileName;
return this;
}
@CustomType.Setter
public Builder path(@Nullable String path) {
this.path = path;
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));
}
public AwsIamInstanceProfilePropertiesResponse build() {
final var _resultValue = new AwsIamInstanceProfilePropertiesResponse();
_resultValue.arn = arn;
_resultValue.instanceProfileName = instanceProfileName;
_resultValue.path = path;
_resultValue.roles = roles;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy