User Permission Args
data class UserPermissionArgs(val permissions: Output<List<UserPermissionPermissionArgs>>? = null, val subAccountUserId: Output<String>? = null) : ConvertibleToJava<UserPermissionArgs>
Provides a Service Mesh UserPermission resource. For information about Service Mesh User Permission and how to use it, see What is User Permission.
NOTE: Available since v1.174.0.
Example Usage
Basic Usage
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.random.integer;
import com.pulumi.random.IntegerArgs;
import com.pulumi.alicloud.servicemesh.ServicemeshFunctions;
import com.pulumi.alicloud.servicemesh.inputs.GetVersionsArgs;
import com.pulumi.alicloud.AlicloudFunctions;
import com.pulumi.alicloud.inputs.GetZonesArgs;
import com.pulumi.alicloud.vpc.VpcFunctions;
import com.pulumi.alicloud.vpc.inputs.GetNetworksArgs;
import com.pulumi.alicloud.vpc.inputs.GetSwitchesArgs;
import com.pulumi.alicloud.ram.User;
import com.pulumi.alicloud.ram.UserArgs;
import com.pulumi.alicloud.servicemesh.ServiceMesh;
import com.pulumi.alicloud.servicemesh.ServiceMeshArgs;
import com.pulumi.alicloud.servicemesh.inputs.ServiceMeshNetworkArgs;
import com.pulumi.alicloud.servicemesh.inputs.ServiceMeshLoadBalancerArgs;
import com.pulumi.alicloud.servicemesh.UserPermission;
import com.pulumi.alicloud.servicemesh.UserPermissionArgs;
import com.pulumi.alicloud.servicemesh.inputs.UserPermissionPermissionArgs;
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("tfexample");
var defaultInteger = new Integer("defaultInteger", IntegerArgs.builder()
.min(10000)
.max(99999)
.build());
final var default = ServicemeshFunctions.getVersions(GetVersionsArgs.builder()
.edition("Default")
.build());
final var defaultGetZones = AlicloudFunctions.getZones(GetZonesArgs.builder()
.availableResourceCreation("VSwitch")
.build());
final var defaultGetNetworks = VpcFunctions.getNetworks(GetNetworksArgs.builder()
.nameRegex("^default-NODELETING$")
.build());
final var defaultGetSwitches = VpcFunctions.getSwitches(GetSwitchesArgs.builder()
.vpcId(defaultGetNetworks.applyValue(getNetworksResult -> getNetworksResult.ids()[0]))
.zoneId(defaultGetZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.build());
var defaultUser = new User("defaultUser", UserArgs.builder()
.name(name)
.build());
var default1 = new ServiceMesh("default1", ServiceMeshArgs.builder()
.serviceMeshName(String.format("%s-%s", name,defaultInteger.result()))
.edition("Default")
.clusterSpec("standard")
.version(default_.versions()[0].version())
.network(ServiceMeshNetworkArgs.builder()
.vpcId(defaultGetNetworks.applyValue(getNetworksResult -> getNetworksResult.ids()[0]))
.vswitcheLists(defaultGetSwitches.applyValue(getSwitchesResult -> getSwitchesResult.ids()[0]))
.build())
.loadBalancer(ServiceMeshLoadBalancerArgs.builder()
.pilotPublicEip(false)
.apiServerPublicEip(false)
.build())
.build());
var defaultUserPermission = new UserPermission("defaultUserPermission", UserPermissionArgs.builder()
.subAccountUserId(defaultUser.id())
.permissions(UserPermissionPermissionArgs.builder()
.roleName("istio-ops")
.serviceMeshId(default1.id())
.roleType("custom")
.isCustom(true)
.build())
.build());
}
}Content copied to clipboard
configuration:
name:
type: string
default: tfexample
resources:
defaultInteger:
type: random:integer
name: default
properties:
min: 10000
max: 99999
defaultUser:
type: alicloud:ram:User
name: default
properties:
name: ${name}
default1:
type: alicloud:servicemesh:ServiceMesh
properties:
serviceMeshName: ${name}-${defaultInteger.result}
edition: Default
clusterSpec: standard
version: ${default.versions[0].version}
network:
vpcId: ${defaultGetNetworks.ids[0]}
vswitcheLists:
- ${defaultGetSwitches.ids[0]}
loadBalancer:
pilotPublicEip: false
apiServerPublicEip: false
defaultUserPermission:
type: alicloud:servicemesh:UserPermission
name: default
properties:
subAccountUserId: ${defaultUser.id}
permissions:
- roleName: istio-ops
serviceMeshId: ${default1.id}
roleType: custom
isCustom: true
variables:
default:
fn::invoke:
Function: alicloud:servicemesh:getVersions
Arguments:
edition: Default
defaultGetZones:
fn::invoke:
Function: alicloud:getZones
Arguments:
availableResourceCreation: VSwitch
defaultGetNetworks:
fn::invoke:
Function: alicloud:vpc:getNetworks
Arguments:
nameRegex: ^default-NODELETING$
defaultGetSwitches:
fn::invoke:
Function: alicloud:vpc:getSwitches
Arguments:
vpcId: ${defaultGetNetworks.ids[0]}
zoneId: ${defaultGetZones.zones[0].id}Content copied to clipboard
Import
Service Mesh User Permission can be imported using the id, e.g.
$ pulumi import alicloud:servicemesh/userPermission:UserPermission example <id>Content copied to clipboard
Constructors
Link copied to clipboard
fun UserPermissionArgs(permissions: Output<List<UserPermissionPermissionArgs>>? = null, subAccountUserId: Output<String>? = null)