cloudflare.getApiTokenPermissionGroups
Use this data source to look up API Token Permission Groups.
Commonly used as references within cloudflare_token
resources.
Example Usage
using System.Collections.Generic;
using Pulumi;
using Cloudflare = Pulumi.Cloudflare;
return await Deployment.RunAsync(() =>
{
var all = Cloudflare.GetApiTokenPermissionGroups.Invoke();
return new Dictionary<string, object?>
{
["dnsReadPermissionId"] = all.Apply(getApiTokenPermissionGroupsResult => getApiTokenPermissionGroupsResult.Zone?.DNS_Read),
["accountLbMonitorsAndReadId"] = all.Apply(getApiTokenPermissionGroupsResult => getApiTokenPermissionGroupsResult.Account?.Load_Balancing__Monitors_and_Pools_Read),
["userMembershipsReadId"] = all.Apply(getApiTokenPermissionGroupsResult => getApiTokenPermissionGroupsResult.User?.Memberships_Read),
};
});
Coming soon!
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.cloudflare.CloudflareFunctions;
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 all = CloudflareFunctions.getApiTokenPermissionGroups();
ctx.export("dnsReadPermissionId", all.applyValue(getApiTokenPermissionGroupsResult -> getApiTokenPermissionGroupsResult.zone().DNS Read()));
ctx.export("accountLbMonitorsAndReadId", all.applyValue(getApiTokenPermissionGroupsResult -> getApiTokenPermissionGroupsResult.account().Load Balancing: Monitors and Pools Read()));
ctx.export("userMembershipsReadId", all.applyValue(getApiTokenPermissionGroupsResult -> getApiTokenPermissionGroupsResult.user().Memberships Read()));
}
}
Coming soon!
import * as pulumi from "@pulumi/pulumi";
import * as cloudflare from "@pulumi/cloudflare";
const all = cloudflare.getApiTokenPermissionGroups({});
export const dnsReadPermissionId = all.then(all => all.zone?.["DNS Read"]);
export const accountLbMonitorsAndReadId = all.then(all => all.account?.["Load Balancing: Monitors and Pools Read"]);
export const userMembershipsReadId = all.then(all => all.user?.["Memberships Read"]);
variables:
all:
fn::invoke:
Function: cloudflare:getApiTokenPermissionGroups
Arguments: {}
outputs:
# Get zone level DNS read permission ID.
dnsReadPermissionId: ${all.zone"DNS Read"[%!s(MISSING)]}
# Get account level "Load Balancing: Monitors and Pools Read" permission ID.
accountLbMonitorsAndReadId: '${all.account"Load Balancing: Monitors and Pools Read"[%!s(MISSING)]}'
# Get user level "Memberships Read" permission ID.
userMembershipsReadId: ${all.user"Memberships Read"[%!s(MISSING)]}
Using getApiTokenPermissionGroups
function getApiTokenPermissionGroups(opts?: InvokeOptions): Promise<GetApiTokenPermissionGroupsResult>
def get_api_token_permission_groups(opts: Optional[InvokeOptions] = None) -> GetApiTokenPermissionGroupsResult
func GetApiTokenPermissionGroups(ctx *Context, opts ...InvokeOption) (*GetApiTokenPermissionGroupsResult, error)
> Note: This function is named GetApiTokenPermissionGroups
in the Go SDK.
public static class GetApiTokenPermissionGroups
{
public static Task<GetApiTokenPermissionGroupsResult> InvokeAsync(InvokeOptions? opts = null)
}
public static CompletableFuture<GetApiTokenPermissionGroupsResult> getApiTokenPermissionGroups(InvokeOptions options)
// Output-based functions aren't available in Java yet
fn::invoke:
function: cloudflare:index/getApiTokenPermissionGroups:getApiTokenPermissionGroups
arguments:
# arguments dictionary
getApiTokenPermissionGroups Result
The following output properties are available:
- Account Dictionary<string, object>
Map of permissions for account level resources.
- Id string
The provider-assigned unique ID for this managed resource.
- Permissions Dictionary<string, object>
Map of all permissions available. Should not be used as some permissions will overlap resource scope. Instead, use resource level specific attributes.
Use specific account, zone or user attributes instead.
- User Dictionary<string, object>
Map of permissions for user level resources.
- Zone Dictionary<string, object>
Map of permissions for zone level resources.
- Account map[string]interface{}
Map of permissions for account level resources.
- Id string
The provider-assigned unique ID for this managed resource.
- Permissions map[string]interface{}
Map of all permissions available. Should not be used as some permissions will overlap resource scope. Instead, use resource level specific attributes.
Use specific account, zone or user attributes instead.
- User map[string]interface{}
Map of permissions for user level resources.
- Zone map[string]interface{}
Map of permissions for zone level resources.
- account Map<String,Object>
Map of permissions for account level resources.
- id String
The provider-assigned unique ID for this managed resource.
- permissions Map<String,Object>
Map of all permissions available. Should not be used as some permissions will overlap resource scope. Instead, use resource level specific attributes.
Use specific account, zone or user attributes instead.
- user Map<String,Object>
Map of permissions for user level resources.
- zone Map<String,Object>
Map of permissions for zone level resources.
- account {[key: string]: any}
Map of permissions for account level resources.
- id string
The provider-assigned unique ID for this managed resource.
- permissions {[key: string]: any}
Map of all permissions available. Should not be used as some permissions will overlap resource scope. Instead, use resource level specific attributes.
Use specific account, zone or user attributes instead.
- user {[key: string]: any}
Map of permissions for user level resources.
- zone {[key: string]: any}
Map of permissions for zone level resources.
- account Mapping[str, Any]
Map of permissions for account level resources.
- id str
The provider-assigned unique ID for this managed resource.
- permissions Mapping[str, Any]
Map of all permissions available. Should not be used as some permissions will overlap resource scope. Instead, use resource level specific attributes.
Use specific account, zone or user attributes instead.
- user Mapping[str, Any]
Map of permissions for user level resources.
- zone Mapping[str, Any]
Map of permissions for zone level resources.
- account Map<Any>
Map of permissions for account level resources.
- id String
The provider-assigned unique ID for this managed resource.
- permissions Map<Any>
Map of all permissions available. Should not be used as some permissions will overlap resource scope. Instead, use resource level specific attributes.
Use specific account, zone or user attributes instead.
- user Map<Any>
Map of permissions for user level resources.
- zone Map<Any>
Map of permissions for zone level resources.
Package Details
- Repository
- Cloudflare pulumi/pulumi-cloudflare
- License
- Apache-2.0
- Notes
This Pulumi package is based on the
cloudflare
Terraform Provider.