UserAttachmentArgs

data class UserAttachmentArgs(val instanceId: Output<String>? = null, val userGroupId: Output<String>? = null, val userId: Output<String>? = null) : ConvertibleToJava<UserAttachmentArgs>

Provides a Bastion Host User Attachment resource to add user to one user group.

NOTE: Available since v1.134.0.

Example Usage

Basic Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.AlicloudFunctions;
import com.pulumi.alicloud.inputs.GetZonesArgs;
import com.pulumi.alicloud.vpc.Network;
import com.pulumi.alicloud.vpc.NetworkArgs;
import com.pulumi.alicloud.vpc.Switch;
import com.pulumi.alicloud.vpc.SwitchArgs;
import com.pulumi.alicloud.ecs.SecurityGroup;
import com.pulumi.alicloud.ecs.SecurityGroupArgs;
import com.pulumi.alicloud.bastionhost.Instance;
import com.pulumi.alicloud.bastionhost.InstanceArgs;
import com.pulumi.alicloud.bastionhost.UserGroup;
import com.pulumi.alicloud.bastionhost.UserGroupArgs;
import com.pulumi.alicloud.bastionhost.User;
import com.pulumi.alicloud.bastionhost.UserArgs;
import com.pulumi.alicloud.bastionhost.UserAttachment;
import com.pulumi.alicloud.bastionhost.UserAttachmentArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var config = ctx.config();
final var name = config.get("name").orElse("tf_example");
final var defaultZones = AlicloudFunctions.getZones(GetZonesArgs.builder()
.availableResourceCreation("VSwitch")
.build());
var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder()
.vpcName(name)
.cidrBlock("10.4.0.0/16")
.build());
var defaultSwitch = new Switch("defaultSwitch", SwitchArgs.builder()
.vswitchName(name)
.cidrBlock("10.4.0.0/24")
.vpcId(defaultNetwork.id())
.zoneId(defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.build());
var defaultSecurityGroup = new SecurityGroup("defaultSecurityGroup", SecurityGroupArgs.builder()
.vpcId(defaultNetwork.id())
.build());
var defaultInstance = new Instance("defaultInstance", InstanceArgs.builder()
.description(name)
.licenseCode("bhah_ent_50_asset")
.planCode("cloudbastion")
.storage("5")
.bandwidth("5")
.period("1")
.vswitchId(defaultSwitch.id())
.securityGroupIds(defaultSecurityGroup.id())
.build());
var defaultUserGroup = new UserGroup("defaultUserGroup", UserGroupArgs.builder()
.instanceId(defaultInstance.id())
.userGroupName(name)
.build());
var localUser = new User("localUser", UserArgs.builder()
.instanceId(defaultInstance.id())
.mobileCountryCode("CN")
.mobile("13312345678")
.password("YourPassword-123")
.source("Local")
.userName(String.format("%s_local_user", name))
.build());
var defaultUserAttachment = new UserAttachment("defaultUserAttachment", UserAttachmentArgs.builder()
.instanceId(defaultInstance.id())
.userGroupId(defaultUserGroup.userGroupId())
.userId(localUser.userId())
.build());
}
}

Import

Bastion Host User Attachment can be imported using the id, e.g.

$ pulumi import alicloud:bastionhost/userAttachment:UserAttachment example <instance_id>:<user_group_id>:<user_id>

Constructors

Link copied to clipboard
fun UserAttachmentArgs(instanceId: Output<String>? = null, userGroupId: Output<String>? = null, userId: Output<String>? = null)

Functions

Link copied to clipboard
open override fun toJava(): UserAttachmentArgs

Properties

Link copied to clipboard
val instanceId: Output<String>? = null

Specifies the user group to add the user's bastion host ID of.

Link copied to clipboard
val userGroupId: Output<String>? = null

Specifies the user group to which you want to add the user ID.

Link copied to clipboard
val userId: Output<String>? = null

Specify that you want to add to the policy attached to the user group ID. This includes response parameters in a Json-formatted string supports up to set up 100 USER ID.