accesscontextmanager

package
v5.26.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 1, 2021 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccessLevel

type AccessLevel struct {
	pulumi.CustomResourceState

	// A set of predefined conditions for the access level and a combining function.
	// Structure is documented below.
	Basic AccessLevelBasicPtrOutput `pulumi:"basic"`
	// Custom access level conditions are set using the Cloud Common Expression Language to represent the necessary conditions for the level to apply to a request.
	// See CEL spec at: https://github.com/google/cel-spec.
	// Structure is documented below.
	Custom AccessLevelCustomPtrOutput `pulumi:"custom"`
	// Description of the expression
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Resource name for the Access Level. The shortName component must begin
	// with a letter and only include alphanumeric and '_'.
	// Format: accessPolicies/{policy_id}/accessLevels/{short_name}
	Name pulumi.StringOutput `pulumi:"name"`
	// The AccessPolicy this AccessLevel lives in.
	// Format: accessPolicies/{policy_id}
	Parent pulumi.StringOutput `pulumi:"parent"`
	// Title for the expression, i.e. a short string describing its purpose.
	Title pulumi.StringOutput `pulumi:"title"`
}

An AccessLevel is a label that can be applied to requests to GCP services, along with a list of requirements necessary for the label to be applied.

To get more information about AccessLevel, see:

* [API documentation](https://cloud.google.com/access-context-manager/docs/reference/rest/v1/accessPolicies.accessLevels) * How-to Guides

> **Warning:** If you are using User ADCs (Application Default Credentials) with this resource, you must specify a `billingProject` and set `userProjectOverride` to true in the provider configuration. Otherwise the ACM API will return a 403 error. Your account must have the `serviceusage.services.use` permission on the `billingProject` you defined.

## Example Usage ### Access Context Manager Access Level Basic

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := accesscontextmanager.NewAccessPolicy(ctx, "access_policy", &accesscontextmanager.AccessPolicyArgs{
			Parent: pulumi.String("organizations/123456789"),
			Title:  pulumi.String("my policy"),
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewAccessLevel(ctx, "access_level", &accesscontextmanager.AccessLevelArgs{
			Basic: &accesscontextmanager.AccessLevelBasicArgs{
				Conditions: accesscontextmanager.AccessLevelBasicConditionArray{
					&accesscontextmanager.AccessLevelBasicConditionArgs{
						DevicePolicy: &accesscontextmanager.AccessLevelBasicConditionDevicePolicyArgs{
							OsConstraints: accesscontextmanager.AccessLevelBasicConditionDevicePolicyOsConstraintArray{
								&accesscontextmanager.AccessLevelBasicConditionDevicePolicyOsConstraintArgs{
									OsType: pulumi.String("DESKTOP_CHROME_OS"),
								},
							},
							RequireScreenLock: pulumi.Bool(true),
						},
						Regions: pulumi.StringArray{
							pulumi.String("CH"),
							pulumi.String("IT"),
							pulumi.String("US"),
						},
					},
				},
			},
			Parent: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("%v%v", "accessPolicies/", name), nil
			}).(pulumi.StringOutput),
			Title: pulumi.String("chromeos_no_lock"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

AccessLevel can be imported using any of these accepted formats

```sh

$ pulumi import gcp:accesscontextmanager/accessLevel:AccessLevel default {{name}}

```

func GetAccessLevel

func GetAccessLevel(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AccessLevelState, opts ...pulumi.ResourceOption) (*AccessLevel, error)

GetAccessLevel gets an existing AccessLevel resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAccessLevel

func NewAccessLevel(ctx *pulumi.Context,
	name string, args *AccessLevelArgs, opts ...pulumi.ResourceOption) (*AccessLevel, error)

NewAccessLevel registers a new resource with the given unique name, arguments, and options.

func (*AccessLevel) ElementType

func (*AccessLevel) ElementType() reflect.Type

func (*AccessLevel) ToAccessLevelOutput

func (i *AccessLevel) ToAccessLevelOutput() AccessLevelOutput

func (*AccessLevel) ToAccessLevelOutputWithContext

func (i *AccessLevel) ToAccessLevelOutputWithContext(ctx context.Context) AccessLevelOutput

func (*AccessLevel) ToAccessLevelPtrOutput

func (i *AccessLevel) ToAccessLevelPtrOutput() AccessLevelPtrOutput

func (*AccessLevel) ToAccessLevelPtrOutputWithContext

func (i *AccessLevel) ToAccessLevelPtrOutputWithContext(ctx context.Context) AccessLevelPtrOutput

type AccessLevelArgs

type AccessLevelArgs struct {
	// A set of predefined conditions for the access level and a combining function.
	// Structure is documented below.
	Basic AccessLevelBasicPtrInput
	// Custom access level conditions are set using the Cloud Common Expression Language to represent the necessary conditions for the level to apply to a request.
	// See CEL spec at: https://github.com/google/cel-spec.
	// Structure is documented below.
	Custom AccessLevelCustomPtrInput
	// Description of the expression
	Description pulumi.StringPtrInput
	// Resource name for the Access Level. The shortName component must begin
	// with a letter and only include alphanumeric and '_'.
	// Format: accessPolicies/{policy_id}/accessLevels/{short_name}
	Name pulumi.StringPtrInput
	// The AccessPolicy this AccessLevel lives in.
	// Format: accessPolicies/{policy_id}
	Parent pulumi.StringInput
	// Title for the expression, i.e. a short string describing its purpose.
	Title pulumi.StringInput
}

The set of arguments for constructing a AccessLevel resource.

func (AccessLevelArgs) ElementType

func (AccessLevelArgs) ElementType() reflect.Type

type AccessLevelArray

type AccessLevelArray []AccessLevelInput

func (AccessLevelArray) ElementType

func (AccessLevelArray) ElementType() reflect.Type

func (AccessLevelArray) ToAccessLevelArrayOutput

func (i AccessLevelArray) ToAccessLevelArrayOutput() AccessLevelArrayOutput

func (AccessLevelArray) ToAccessLevelArrayOutputWithContext

func (i AccessLevelArray) ToAccessLevelArrayOutputWithContext(ctx context.Context) AccessLevelArrayOutput

type AccessLevelArrayInput

type AccessLevelArrayInput interface {
	pulumi.Input

	ToAccessLevelArrayOutput() AccessLevelArrayOutput
	ToAccessLevelArrayOutputWithContext(context.Context) AccessLevelArrayOutput
}

AccessLevelArrayInput is an input type that accepts AccessLevelArray and AccessLevelArrayOutput values. You can construct a concrete instance of `AccessLevelArrayInput` via:

AccessLevelArray{ AccessLevelArgs{...} }

type AccessLevelArrayOutput

type AccessLevelArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelArrayOutput) ElementType

func (AccessLevelArrayOutput) ElementType() reflect.Type

func (AccessLevelArrayOutput) Index

func (AccessLevelArrayOutput) ToAccessLevelArrayOutput

func (o AccessLevelArrayOutput) ToAccessLevelArrayOutput() AccessLevelArrayOutput

func (AccessLevelArrayOutput) ToAccessLevelArrayOutputWithContext

func (o AccessLevelArrayOutput) ToAccessLevelArrayOutputWithContext(ctx context.Context) AccessLevelArrayOutput

type AccessLevelBasic

type AccessLevelBasic struct {
	// How the conditions list should be combined to determine if a request
	// is granted this AccessLevel. If AND is used, each Condition in
	// conditions must be satisfied for the AccessLevel to be applied. If
	// OR is used, at least one Condition in conditions must be satisfied
	// for the AccessLevel to be applied.
	// Default value is `AND`.
	// Possible values are `AND` and `OR`.
	CombiningFunction *string `pulumi:"combiningFunction"`
	// A set of requirements for the AccessLevel to be granted.
	// Structure is documented below.
	Conditions []AccessLevelBasicCondition `pulumi:"conditions"`
}

type AccessLevelBasicArgs

type AccessLevelBasicArgs struct {
	// How the conditions list should be combined to determine if a request
	// is granted this AccessLevel. If AND is used, each Condition in
	// conditions must be satisfied for the AccessLevel to be applied. If
	// OR is used, at least one Condition in conditions must be satisfied
	// for the AccessLevel to be applied.
	// Default value is `AND`.
	// Possible values are `AND` and `OR`.
	CombiningFunction pulumi.StringPtrInput `pulumi:"combiningFunction"`
	// A set of requirements for the AccessLevel to be granted.
	// Structure is documented below.
	Conditions AccessLevelBasicConditionArrayInput `pulumi:"conditions"`
}

func (AccessLevelBasicArgs) ElementType

func (AccessLevelBasicArgs) ElementType() reflect.Type

func (AccessLevelBasicArgs) ToAccessLevelBasicOutput

func (i AccessLevelBasicArgs) ToAccessLevelBasicOutput() AccessLevelBasicOutput

func (AccessLevelBasicArgs) ToAccessLevelBasicOutputWithContext

func (i AccessLevelBasicArgs) ToAccessLevelBasicOutputWithContext(ctx context.Context) AccessLevelBasicOutput

func (AccessLevelBasicArgs) ToAccessLevelBasicPtrOutput

func (i AccessLevelBasicArgs) ToAccessLevelBasicPtrOutput() AccessLevelBasicPtrOutput

func (AccessLevelBasicArgs) ToAccessLevelBasicPtrOutputWithContext

func (i AccessLevelBasicArgs) ToAccessLevelBasicPtrOutputWithContext(ctx context.Context) AccessLevelBasicPtrOutput

type AccessLevelBasicCondition

type AccessLevelBasicCondition struct {
	// Device specific restrictions, all restrictions must hold for
	// the Condition to be true. If not specified, all devices are
	// allowed.
	// Structure is documented below.
	DevicePolicy *AccessLevelBasicConditionDevicePolicy `pulumi:"devicePolicy"`
	// A list of CIDR block IP subnetwork specification. May be IPv4
	// or IPv6.
	// Note that for a CIDR IP address block, the specified IP address
	// portion must be properly truncated (i.e. all the host bits must
	// be zero) or the input is considered malformed. For example,
	// "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly,
	// for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32"
	// is not. The originating IP of a request must be in one of the
	// listed subnets in order for this Condition to be true.
	// If empty, all IP addresses are allowed.
	IpSubnetworks []string `pulumi:"ipSubnetworks"`
	// An allowed list of members (users, service accounts).
	// Using groups is not supported yet.
	// The signed-in user originating the request must be a part of one
	// of the provided members. If not specified, a request may come
	// from any user (logged in/not logged in, not present in any
	// groups, etc.).
	// Formats: `user:{emailid}`, `serviceAccount:{emailid}`
	Members []string `pulumi:"members"`
	// Whether to negate the Condition. If true, the Condition becomes
	// a NAND over its non-empty fields, each field must be false for
	// the Condition overall to be satisfied. Defaults to false.
	Negate *bool `pulumi:"negate"`
	// The request must originate from one of the provided
	// countries/regions.
	// Format: A valid ISO 3166-1 alpha-2 code.
	Regions []string `pulumi:"regions"`
	// A list of other access levels defined in the same Policy,
	// referenced by resource name. Referencing an AccessLevel which
	// does not exist is an error. All access levels listed must be
	// granted for the Condition to be true.
	// Format: accessPolicies/{policy_id}/accessLevels/{short_name}
	RequiredAccessLevels []string `pulumi:"requiredAccessLevels"`
}

type AccessLevelBasicConditionArgs

type AccessLevelBasicConditionArgs struct {
	// Device specific restrictions, all restrictions must hold for
	// the Condition to be true. If not specified, all devices are
	// allowed.
	// Structure is documented below.
	DevicePolicy AccessLevelBasicConditionDevicePolicyPtrInput `pulumi:"devicePolicy"`
	// A list of CIDR block IP subnetwork specification. May be IPv4
	// or IPv6.
	// Note that for a CIDR IP address block, the specified IP address
	// portion must be properly truncated (i.e. all the host bits must
	// be zero) or the input is considered malformed. For example,
	// "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly,
	// for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32"
	// is not. The originating IP of a request must be in one of the
	// listed subnets in order for this Condition to be true.
	// If empty, all IP addresses are allowed.
	IpSubnetworks pulumi.StringArrayInput `pulumi:"ipSubnetworks"`
	// An allowed list of members (users, service accounts).
	// Using groups is not supported yet.
	// The signed-in user originating the request must be a part of one
	// of the provided members. If not specified, a request may come
	// from any user (logged in/not logged in, not present in any
	// groups, etc.).
	// Formats: `user:{emailid}`, `serviceAccount:{emailid}`
	Members pulumi.StringArrayInput `pulumi:"members"`
	// Whether to negate the Condition. If true, the Condition becomes
	// a NAND over its non-empty fields, each field must be false for
	// the Condition overall to be satisfied. Defaults to false.
	Negate pulumi.BoolPtrInput `pulumi:"negate"`
	// The request must originate from one of the provided
	// countries/regions.
	// Format: A valid ISO 3166-1 alpha-2 code.
	Regions pulumi.StringArrayInput `pulumi:"regions"`
	// A list of other access levels defined in the same Policy,
	// referenced by resource name. Referencing an AccessLevel which
	// does not exist is an error. All access levels listed must be
	// granted for the Condition to be true.
	// Format: accessPolicies/{policy_id}/accessLevels/{short_name}
	RequiredAccessLevels pulumi.StringArrayInput `pulumi:"requiredAccessLevels"`
}

func (AccessLevelBasicConditionArgs) ElementType

func (AccessLevelBasicConditionArgs) ToAccessLevelBasicConditionOutput

func (i AccessLevelBasicConditionArgs) ToAccessLevelBasicConditionOutput() AccessLevelBasicConditionOutput

func (AccessLevelBasicConditionArgs) ToAccessLevelBasicConditionOutputWithContext

func (i AccessLevelBasicConditionArgs) ToAccessLevelBasicConditionOutputWithContext(ctx context.Context) AccessLevelBasicConditionOutput

type AccessLevelBasicConditionArray

type AccessLevelBasicConditionArray []AccessLevelBasicConditionInput

func (AccessLevelBasicConditionArray) ElementType

func (AccessLevelBasicConditionArray) ToAccessLevelBasicConditionArrayOutput

func (i AccessLevelBasicConditionArray) ToAccessLevelBasicConditionArrayOutput() AccessLevelBasicConditionArrayOutput

func (AccessLevelBasicConditionArray) ToAccessLevelBasicConditionArrayOutputWithContext

func (i AccessLevelBasicConditionArray) ToAccessLevelBasicConditionArrayOutputWithContext(ctx context.Context) AccessLevelBasicConditionArrayOutput

type AccessLevelBasicConditionArrayInput

type AccessLevelBasicConditionArrayInput interface {
	pulumi.Input

	ToAccessLevelBasicConditionArrayOutput() AccessLevelBasicConditionArrayOutput
	ToAccessLevelBasicConditionArrayOutputWithContext(context.Context) AccessLevelBasicConditionArrayOutput
}

AccessLevelBasicConditionArrayInput is an input type that accepts AccessLevelBasicConditionArray and AccessLevelBasicConditionArrayOutput values. You can construct a concrete instance of `AccessLevelBasicConditionArrayInput` via:

AccessLevelBasicConditionArray{ AccessLevelBasicConditionArgs{...} }

type AccessLevelBasicConditionArrayOutput

type AccessLevelBasicConditionArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelBasicConditionArrayOutput) ElementType

func (AccessLevelBasicConditionArrayOutput) Index

func (AccessLevelBasicConditionArrayOutput) ToAccessLevelBasicConditionArrayOutput

func (o AccessLevelBasicConditionArrayOutput) ToAccessLevelBasicConditionArrayOutput() AccessLevelBasicConditionArrayOutput

func (AccessLevelBasicConditionArrayOutput) ToAccessLevelBasicConditionArrayOutputWithContext

func (o AccessLevelBasicConditionArrayOutput) ToAccessLevelBasicConditionArrayOutputWithContext(ctx context.Context) AccessLevelBasicConditionArrayOutput

type AccessLevelBasicConditionDevicePolicy

type AccessLevelBasicConditionDevicePolicy struct {
	// A list of allowed device management levels.
	// An empty list allows all management levels.
	// Each value may be one of `MANAGEMENT_UNSPECIFIED`, `NONE`, `BASIC`, and `COMPLETE`.
	AllowedDeviceManagementLevels []string `pulumi:"allowedDeviceManagementLevels"`
	// A list of allowed encryptions statuses.
	// An empty list allows all statuses.
	// Each value may be one of `ENCRYPTION_UNSPECIFIED`, `ENCRYPTION_UNSUPPORTED`, `UNENCRYPTED`, and `ENCRYPTED`.
	AllowedEncryptionStatuses []string `pulumi:"allowedEncryptionStatuses"`
	// A list of allowed OS versions.
	// An empty list allows all types and all versions.
	// Structure is documented below.
	OsConstraints []AccessLevelBasicConditionDevicePolicyOsConstraint `pulumi:"osConstraints"`
	// Whether the device needs to be approved by the customer admin.
	RequireAdminApproval *bool `pulumi:"requireAdminApproval"`
	// Whether the device needs to be corp owned.
	RequireCorpOwned *bool `pulumi:"requireCorpOwned"`
	// Whether or not screenlock is required for the DevicePolicy
	// to be true. Defaults to false.
	RequireScreenLock *bool `pulumi:"requireScreenLock"`
}

type AccessLevelBasicConditionDevicePolicyArgs

type AccessLevelBasicConditionDevicePolicyArgs struct {
	// A list of allowed device management levels.
	// An empty list allows all management levels.
	// Each value may be one of `MANAGEMENT_UNSPECIFIED`, `NONE`, `BASIC`, and `COMPLETE`.
	AllowedDeviceManagementLevels pulumi.StringArrayInput `pulumi:"allowedDeviceManagementLevels"`
	// A list of allowed encryptions statuses.
	// An empty list allows all statuses.
	// Each value may be one of `ENCRYPTION_UNSPECIFIED`, `ENCRYPTION_UNSUPPORTED`, `UNENCRYPTED`, and `ENCRYPTED`.
	AllowedEncryptionStatuses pulumi.StringArrayInput `pulumi:"allowedEncryptionStatuses"`
	// A list of allowed OS versions.
	// An empty list allows all types and all versions.
	// Structure is documented below.
	OsConstraints AccessLevelBasicConditionDevicePolicyOsConstraintArrayInput `pulumi:"osConstraints"`
	// Whether the device needs to be approved by the customer admin.
	RequireAdminApproval pulumi.BoolPtrInput `pulumi:"requireAdminApproval"`
	// Whether the device needs to be corp owned.
	RequireCorpOwned pulumi.BoolPtrInput `pulumi:"requireCorpOwned"`
	// Whether or not screenlock is required for the DevicePolicy
	// to be true. Defaults to false.
	RequireScreenLock pulumi.BoolPtrInput `pulumi:"requireScreenLock"`
}

func (AccessLevelBasicConditionDevicePolicyArgs) ElementType

func (AccessLevelBasicConditionDevicePolicyArgs) ToAccessLevelBasicConditionDevicePolicyOutput

func (i AccessLevelBasicConditionDevicePolicyArgs) ToAccessLevelBasicConditionDevicePolicyOutput() AccessLevelBasicConditionDevicePolicyOutput

func (AccessLevelBasicConditionDevicePolicyArgs) ToAccessLevelBasicConditionDevicePolicyOutputWithContext

func (i AccessLevelBasicConditionDevicePolicyArgs) ToAccessLevelBasicConditionDevicePolicyOutputWithContext(ctx context.Context) AccessLevelBasicConditionDevicePolicyOutput

func (AccessLevelBasicConditionDevicePolicyArgs) ToAccessLevelBasicConditionDevicePolicyPtrOutput

func (i AccessLevelBasicConditionDevicePolicyArgs) ToAccessLevelBasicConditionDevicePolicyPtrOutput() AccessLevelBasicConditionDevicePolicyPtrOutput

func (AccessLevelBasicConditionDevicePolicyArgs) ToAccessLevelBasicConditionDevicePolicyPtrOutputWithContext

func (i AccessLevelBasicConditionDevicePolicyArgs) ToAccessLevelBasicConditionDevicePolicyPtrOutputWithContext(ctx context.Context) AccessLevelBasicConditionDevicePolicyPtrOutput

type AccessLevelBasicConditionDevicePolicyInput

type AccessLevelBasicConditionDevicePolicyInput interface {
	pulumi.Input

	ToAccessLevelBasicConditionDevicePolicyOutput() AccessLevelBasicConditionDevicePolicyOutput
	ToAccessLevelBasicConditionDevicePolicyOutputWithContext(context.Context) AccessLevelBasicConditionDevicePolicyOutput
}

AccessLevelBasicConditionDevicePolicyInput is an input type that accepts AccessLevelBasicConditionDevicePolicyArgs and AccessLevelBasicConditionDevicePolicyOutput values. You can construct a concrete instance of `AccessLevelBasicConditionDevicePolicyInput` via:

AccessLevelBasicConditionDevicePolicyArgs{...}

type AccessLevelBasicConditionDevicePolicyOsConstraint

type AccessLevelBasicConditionDevicePolicyOsConstraint struct {
	// The minimum allowed OS version. If not set, any version
	// of this OS satisfies the constraint.
	// Format: "major.minor.patch" such as "10.5.301", "9.2.1".
	MinimumVersion *string `pulumi:"minimumVersion"`
	// The operating system type of the device.
	// Possible values are `OS_UNSPECIFIED`, `DESKTOP_MAC`, `DESKTOP_WINDOWS`, `DESKTOP_LINUX`, `DESKTOP_CHROME_OS`, `ANDROID`, and `IOS`.
	OsType string `pulumi:"osType"`
	// If you specify DESKTOP_CHROME_OS for osType, you can optionally include requireVerifiedChromeOs to require Chrome Verified Access.
	RequireVerifiedChromeOs *bool `pulumi:"requireVerifiedChromeOs"`
}

type AccessLevelBasicConditionDevicePolicyOsConstraintArgs

type AccessLevelBasicConditionDevicePolicyOsConstraintArgs struct {
	// The minimum allowed OS version. If not set, any version
	// of this OS satisfies the constraint.
	// Format: "major.minor.patch" such as "10.5.301", "9.2.1".
	MinimumVersion pulumi.StringPtrInput `pulumi:"minimumVersion"`
	// The operating system type of the device.
	// Possible values are `OS_UNSPECIFIED`, `DESKTOP_MAC`, `DESKTOP_WINDOWS`, `DESKTOP_LINUX`, `DESKTOP_CHROME_OS`, `ANDROID`, and `IOS`.
	OsType pulumi.StringInput `pulumi:"osType"`
	// If you specify DESKTOP_CHROME_OS for osType, you can optionally include requireVerifiedChromeOs to require Chrome Verified Access.
	RequireVerifiedChromeOs pulumi.BoolPtrInput `pulumi:"requireVerifiedChromeOs"`
}

func (AccessLevelBasicConditionDevicePolicyOsConstraintArgs) ElementType

func (AccessLevelBasicConditionDevicePolicyOsConstraintArgs) ToAccessLevelBasicConditionDevicePolicyOsConstraintOutput

func (i AccessLevelBasicConditionDevicePolicyOsConstraintArgs) ToAccessLevelBasicConditionDevicePolicyOsConstraintOutput() AccessLevelBasicConditionDevicePolicyOsConstraintOutput

func (AccessLevelBasicConditionDevicePolicyOsConstraintArgs) ToAccessLevelBasicConditionDevicePolicyOsConstraintOutputWithContext

func (i AccessLevelBasicConditionDevicePolicyOsConstraintArgs) ToAccessLevelBasicConditionDevicePolicyOsConstraintOutputWithContext(ctx context.Context) AccessLevelBasicConditionDevicePolicyOsConstraintOutput

type AccessLevelBasicConditionDevicePolicyOsConstraintArray

type AccessLevelBasicConditionDevicePolicyOsConstraintArray []AccessLevelBasicConditionDevicePolicyOsConstraintInput

func (AccessLevelBasicConditionDevicePolicyOsConstraintArray) ElementType

func (AccessLevelBasicConditionDevicePolicyOsConstraintArray) ToAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput

func (i AccessLevelBasicConditionDevicePolicyOsConstraintArray) ToAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput() AccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput

func (AccessLevelBasicConditionDevicePolicyOsConstraintArray) ToAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutputWithContext

func (i AccessLevelBasicConditionDevicePolicyOsConstraintArray) ToAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutputWithContext(ctx context.Context) AccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput

type AccessLevelBasicConditionDevicePolicyOsConstraintArrayInput

type AccessLevelBasicConditionDevicePolicyOsConstraintArrayInput interface {
	pulumi.Input

	ToAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput() AccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput
	ToAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutputWithContext(context.Context) AccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput
}

AccessLevelBasicConditionDevicePolicyOsConstraintArrayInput is an input type that accepts AccessLevelBasicConditionDevicePolicyOsConstraintArray and AccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput values. You can construct a concrete instance of `AccessLevelBasicConditionDevicePolicyOsConstraintArrayInput` via:

AccessLevelBasicConditionDevicePolicyOsConstraintArray{ AccessLevelBasicConditionDevicePolicyOsConstraintArgs{...} }

type AccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput

type AccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput) ElementType

func (AccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput) Index

func (AccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput) ToAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput

func (AccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput) ToAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutputWithContext

func (o AccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput) ToAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutputWithContext(ctx context.Context) AccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput

type AccessLevelBasicConditionDevicePolicyOsConstraintInput

type AccessLevelBasicConditionDevicePolicyOsConstraintInput interface {
	pulumi.Input

	ToAccessLevelBasicConditionDevicePolicyOsConstraintOutput() AccessLevelBasicConditionDevicePolicyOsConstraintOutput
	ToAccessLevelBasicConditionDevicePolicyOsConstraintOutputWithContext(context.Context) AccessLevelBasicConditionDevicePolicyOsConstraintOutput
}

AccessLevelBasicConditionDevicePolicyOsConstraintInput is an input type that accepts AccessLevelBasicConditionDevicePolicyOsConstraintArgs and AccessLevelBasicConditionDevicePolicyOsConstraintOutput values. You can construct a concrete instance of `AccessLevelBasicConditionDevicePolicyOsConstraintInput` via:

AccessLevelBasicConditionDevicePolicyOsConstraintArgs{...}

type AccessLevelBasicConditionDevicePolicyOsConstraintOutput

type AccessLevelBasicConditionDevicePolicyOsConstraintOutput struct{ *pulumi.OutputState }

func (AccessLevelBasicConditionDevicePolicyOsConstraintOutput) ElementType

func (AccessLevelBasicConditionDevicePolicyOsConstraintOutput) MinimumVersion

The minimum allowed OS version. If not set, any version of this OS satisfies the constraint. Format: "major.minor.patch" such as "10.5.301", "9.2.1".

func (AccessLevelBasicConditionDevicePolicyOsConstraintOutput) OsType

The operating system type of the device. Possible values are `OS_UNSPECIFIED`, `DESKTOP_MAC`, `DESKTOP_WINDOWS`, `DESKTOP_LINUX`, `DESKTOP_CHROME_OS`, `ANDROID`, and `IOS`.

func (AccessLevelBasicConditionDevicePolicyOsConstraintOutput) RequireVerifiedChromeOs added in v5.3.0

If you specify DESKTOP_CHROME_OS for osType, you can optionally include requireVerifiedChromeOs to require Chrome Verified Access.

func (AccessLevelBasicConditionDevicePolicyOsConstraintOutput) ToAccessLevelBasicConditionDevicePolicyOsConstraintOutput

func (AccessLevelBasicConditionDevicePolicyOsConstraintOutput) ToAccessLevelBasicConditionDevicePolicyOsConstraintOutputWithContext

func (o AccessLevelBasicConditionDevicePolicyOsConstraintOutput) ToAccessLevelBasicConditionDevicePolicyOsConstraintOutputWithContext(ctx context.Context) AccessLevelBasicConditionDevicePolicyOsConstraintOutput

type AccessLevelBasicConditionDevicePolicyOutput

type AccessLevelBasicConditionDevicePolicyOutput struct{ *pulumi.OutputState }

func (AccessLevelBasicConditionDevicePolicyOutput) AllowedDeviceManagementLevels

func (o AccessLevelBasicConditionDevicePolicyOutput) AllowedDeviceManagementLevels() pulumi.StringArrayOutput

A list of allowed device management levels. An empty list allows all management levels. Each value may be one of `MANAGEMENT_UNSPECIFIED`, `NONE`, `BASIC`, and `COMPLETE`.

func (AccessLevelBasicConditionDevicePolicyOutput) AllowedEncryptionStatuses

A list of allowed encryptions statuses. An empty list allows all statuses. Each value may be one of `ENCRYPTION_UNSPECIFIED`, `ENCRYPTION_UNSUPPORTED`, `UNENCRYPTED`, and `ENCRYPTED`.

func (AccessLevelBasicConditionDevicePolicyOutput) ElementType

func (AccessLevelBasicConditionDevicePolicyOutput) OsConstraints

A list of allowed OS versions. An empty list allows all types and all versions. Structure is documented below.

func (AccessLevelBasicConditionDevicePolicyOutput) RequireAdminApproval

Whether the device needs to be approved by the customer admin.

func (AccessLevelBasicConditionDevicePolicyOutput) RequireCorpOwned

Whether the device needs to be corp owned.

func (AccessLevelBasicConditionDevicePolicyOutput) RequireScreenLock

Whether or not screenlock is required for the DevicePolicy to be true. Defaults to false.

func (AccessLevelBasicConditionDevicePolicyOutput) ToAccessLevelBasicConditionDevicePolicyOutput

func (o AccessLevelBasicConditionDevicePolicyOutput) ToAccessLevelBasicConditionDevicePolicyOutput() AccessLevelBasicConditionDevicePolicyOutput

func (AccessLevelBasicConditionDevicePolicyOutput) ToAccessLevelBasicConditionDevicePolicyOutputWithContext

func (o AccessLevelBasicConditionDevicePolicyOutput) ToAccessLevelBasicConditionDevicePolicyOutputWithContext(ctx context.Context) AccessLevelBasicConditionDevicePolicyOutput

func (AccessLevelBasicConditionDevicePolicyOutput) ToAccessLevelBasicConditionDevicePolicyPtrOutput

func (o AccessLevelBasicConditionDevicePolicyOutput) ToAccessLevelBasicConditionDevicePolicyPtrOutput() AccessLevelBasicConditionDevicePolicyPtrOutput

func (AccessLevelBasicConditionDevicePolicyOutput) ToAccessLevelBasicConditionDevicePolicyPtrOutputWithContext

func (o AccessLevelBasicConditionDevicePolicyOutput) ToAccessLevelBasicConditionDevicePolicyPtrOutputWithContext(ctx context.Context) AccessLevelBasicConditionDevicePolicyPtrOutput

type AccessLevelBasicConditionDevicePolicyPtrInput

type AccessLevelBasicConditionDevicePolicyPtrInput interface {
	pulumi.Input

	ToAccessLevelBasicConditionDevicePolicyPtrOutput() AccessLevelBasicConditionDevicePolicyPtrOutput
	ToAccessLevelBasicConditionDevicePolicyPtrOutputWithContext(context.Context) AccessLevelBasicConditionDevicePolicyPtrOutput
}

AccessLevelBasicConditionDevicePolicyPtrInput is an input type that accepts AccessLevelBasicConditionDevicePolicyArgs, AccessLevelBasicConditionDevicePolicyPtr and AccessLevelBasicConditionDevicePolicyPtrOutput values. You can construct a concrete instance of `AccessLevelBasicConditionDevicePolicyPtrInput` via:

        AccessLevelBasicConditionDevicePolicyArgs{...}

or:

        nil

type AccessLevelBasicConditionDevicePolicyPtrOutput

type AccessLevelBasicConditionDevicePolicyPtrOutput struct{ *pulumi.OutputState }

func (AccessLevelBasicConditionDevicePolicyPtrOutput) AllowedDeviceManagementLevels

A list of allowed device management levels. An empty list allows all management levels. Each value may be one of `MANAGEMENT_UNSPECIFIED`, `NONE`, `BASIC`, and `COMPLETE`.

func (AccessLevelBasicConditionDevicePolicyPtrOutput) AllowedEncryptionStatuses

A list of allowed encryptions statuses. An empty list allows all statuses. Each value may be one of `ENCRYPTION_UNSPECIFIED`, `ENCRYPTION_UNSUPPORTED`, `UNENCRYPTED`, and `ENCRYPTED`.

func (AccessLevelBasicConditionDevicePolicyPtrOutput) Elem

func (AccessLevelBasicConditionDevicePolicyPtrOutput) ElementType

func (AccessLevelBasicConditionDevicePolicyPtrOutput) OsConstraints

A list of allowed OS versions. An empty list allows all types and all versions. Structure is documented below.

func (AccessLevelBasicConditionDevicePolicyPtrOutput) RequireAdminApproval

Whether the device needs to be approved by the customer admin.

func (AccessLevelBasicConditionDevicePolicyPtrOutput) RequireCorpOwned

Whether the device needs to be corp owned.

func (AccessLevelBasicConditionDevicePolicyPtrOutput) RequireScreenLock

Whether or not screenlock is required for the DevicePolicy to be true. Defaults to false.

func (AccessLevelBasicConditionDevicePolicyPtrOutput) ToAccessLevelBasicConditionDevicePolicyPtrOutput

func (o AccessLevelBasicConditionDevicePolicyPtrOutput) ToAccessLevelBasicConditionDevicePolicyPtrOutput() AccessLevelBasicConditionDevicePolicyPtrOutput

func (AccessLevelBasicConditionDevicePolicyPtrOutput) ToAccessLevelBasicConditionDevicePolicyPtrOutputWithContext

func (o AccessLevelBasicConditionDevicePolicyPtrOutput) ToAccessLevelBasicConditionDevicePolicyPtrOutputWithContext(ctx context.Context) AccessLevelBasicConditionDevicePolicyPtrOutput

type AccessLevelBasicConditionInput

type AccessLevelBasicConditionInput interface {
	pulumi.Input

	ToAccessLevelBasicConditionOutput() AccessLevelBasicConditionOutput
	ToAccessLevelBasicConditionOutputWithContext(context.Context) AccessLevelBasicConditionOutput
}

AccessLevelBasicConditionInput is an input type that accepts AccessLevelBasicConditionArgs and AccessLevelBasicConditionOutput values. You can construct a concrete instance of `AccessLevelBasicConditionInput` via:

AccessLevelBasicConditionArgs{...}

type AccessLevelBasicConditionOutput

type AccessLevelBasicConditionOutput struct{ *pulumi.OutputState }

func (AccessLevelBasicConditionOutput) DevicePolicy

Device specific restrictions, all restrictions must hold for the Condition to be true. If not specified, all devices are allowed. Structure is documented below.

func (AccessLevelBasicConditionOutput) ElementType

func (AccessLevelBasicConditionOutput) IpSubnetworks

A list of CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for a CIDR IP address block, the specified IP address portion must be properly truncated (i.e. all the host bits must be zero) or the input is considered malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly, for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32" is not. The originating IP of a request must be in one of the listed subnets in order for this Condition to be true. If empty, all IP addresses are allowed.

func (AccessLevelBasicConditionOutput) Members

An allowed list of members (users, service accounts). Using groups is not supported yet. The signed-in user originating the request must be a part of one of the provided members. If not specified, a request may come from any user (logged in/not logged in, not present in any groups, etc.). Formats: `user:{emailid}`, `serviceAccount:{emailid}`

func (AccessLevelBasicConditionOutput) Negate

Whether to negate the Condition. If true, the Condition becomes a NAND over its non-empty fields, each field must be false for the Condition overall to be satisfied. Defaults to false.

func (AccessLevelBasicConditionOutput) Regions

The request must originate from one of the provided countries/regions. Format: A valid ISO 3166-1 alpha-2 code.

func (AccessLevelBasicConditionOutput) RequiredAccessLevels

func (o AccessLevelBasicConditionOutput) RequiredAccessLevels() pulumi.StringArrayOutput

A list of other access levels defined in the same Policy, referenced by resource name. Referencing an AccessLevel which does not exist is an error. All access levels listed must be granted for the Condition to be true. Format: accessPolicies/{policy_id}/accessLevels/{short_name}

func (AccessLevelBasicConditionOutput) ToAccessLevelBasicConditionOutput

func (o AccessLevelBasicConditionOutput) ToAccessLevelBasicConditionOutput() AccessLevelBasicConditionOutput

func (AccessLevelBasicConditionOutput) ToAccessLevelBasicConditionOutputWithContext

func (o AccessLevelBasicConditionOutput) ToAccessLevelBasicConditionOutputWithContext(ctx context.Context) AccessLevelBasicConditionOutput

type AccessLevelBasicInput

type AccessLevelBasicInput interface {
	pulumi.Input

	ToAccessLevelBasicOutput() AccessLevelBasicOutput
	ToAccessLevelBasicOutputWithContext(context.Context) AccessLevelBasicOutput
}

AccessLevelBasicInput is an input type that accepts AccessLevelBasicArgs and AccessLevelBasicOutput values. You can construct a concrete instance of `AccessLevelBasicInput` via:

AccessLevelBasicArgs{...}

type AccessLevelBasicOutput

type AccessLevelBasicOutput struct{ *pulumi.OutputState }

func (AccessLevelBasicOutput) CombiningFunction

func (o AccessLevelBasicOutput) CombiningFunction() pulumi.StringPtrOutput

How the conditions list should be combined to determine if a request is granted this AccessLevel. If AND is used, each Condition in conditions must be satisfied for the AccessLevel to be applied. If OR is used, at least one Condition in conditions must be satisfied for the AccessLevel to be applied. Default value is `AND`. Possible values are `AND` and `OR`.

func (AccessLevelBasicOutput) Conditions

A set of requirements for the AccessLevel to be granted. Structure is documented below.

func (AccessLevelBasicOutput) ElementType

func (AccessLevelBasicOutput) ElementType() reflect.Type

func (AccessLevelBasicOutput) ToAccessLevelBasicOutput

func (o AccessLevelBasicOutput) ToAccessLevelBasicOutput() AccessLevelBasicOutput

func (AccessLevelBasicOutput) ToAccessLevelBasicOutputWithContext

func (o AccessLevelBasicOutput) ToAccessLevelBasicOutputWithContext(ctx context.Context) AccessLevelBasicOutput

func (AccessLevelBasicOutput) ToAccessLevelBasicPtrOutput

func (o AccessLevelBasicOutput) ToAccessLevelBasicPtrOutput() AccessLevelBasicPtrOutput

func (AccessLevelBasicOutput) ToAccessLevelBasicPtrOutputWithContext

func (o AccessLevelBasicOutput) ToAccessLevelBasicPtrOutputWithContext(ctx context.Context) AccessLevelBasicPtrOutput

type AccessLevelBasicPtrInput

type AccessLevelBasicPtrInput interface {
	pulumi.Input

	ToAccessLevelBasicPtrOutput() AccessLevelBasicPtrOutput
	ToAccessLevelBasicPtrOutputWithContext(context.Context) AccessLevelBasicPtrOutput
}

AccessLevelBasicPtrInput is an input type that accepts AccessLevelBasicArgs, AccessLevelBasicPtr and AccessLevelBasicPtrOutput values. You can construct a concrete instance of `AccessLevelBasicPtrInput` via:

        AccessLevelBasicArgs{...}

or:

        nil

type AccessLevelBasicPtrOutput

type AccessLevelBasicPtrOutput struct{ *pulumi.OutputState }

func (AccessLevelBasicPtrOutput) CombiningFunction

func (o AccessLevelBasicPtrOutput) CombiningFunction() pulumi.StringPtrOutput

How the conditions list should be combined to determine if a request is granted this AccessLevel. If AND is used, each Condition in conditions must be satisfied for the AccessLevel to be applied. If OR is used, at least one Condition in conditions must be satisfied for the AccessLevel to be applied. Default value is `AND`. Possible values are `AND` and `OR`.

func (AccessLevelBasicPtrOutput) Conditions

A set of requirements for the AccessLevel to be granted. Structure is documented below.

func (AccessLevelBasicPtrOutput) Elem

func (AccessLevelBasicPtrOutput) ElementType

func (AccessLevelBasicPtrOutput) ElementType() reflect.Type

func (AccessLevelBasicPtrOutput) ToAccessLevelBasicPtrOutput

func (o AccessLevelBasicPtrOutput) ToAccessLevelBasicPtrOutput() AccessLevelBasicPtrOutput

func (AccessLevelBasicPtrOutput) ToAccessLevelBasicPtrOutputWithContext

func (o AccessLevelBasicPtrOutput) ToAccessLevelBasicPtrOutputWithContext(ctx context.Context) AccessLevelBasicPtrOutput

type AccessLevelCondition

type AccessLevelCondition struct {
	pulumi.CustomResourceState

	// The name of the Access Level to add this condition to.
	AccessLevel pulumi.StringOutput `pulumi:"accessLevel"`
	// Device specific restrictions, all restrictions must hold for
	// the Condition to be true. If not specified, all devices are
	// allowed.
	// Structure is documented below.
	DevicePolicy AccessLevelConditionDevicePolicyPtrOutput `pulumi:"devicePolicy"`
	// A list of CIDR block IP subnetwork specification. May be IPv4
	// or IPv6.
	// Note that for a CIDR IP address block, the specified IP address
	// portion must be properly truncated (i.e. all the host bits must
	// be zero) or the input is considered malformed. For example,
	// "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly,
	// for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32"
	// is not. The originating IP of a request must be in one of the
	// listed subnets in order for this Condition to be true.
	// If empty, all IP addresses are allowed.
	IpSubnetworks pulumi.StringArrayOutput `pulumi:"ipSubnetworks"`
	// An allowed list of members (users, service accounts).
	// Using groups is not supported yet.
	// The signed-in user originating the request must be a part of one
	// of the provided members. If not specified, a request may come
	// from any user (logged in/not logged in, not present in any
	// groups, etc.).
	// Formats: `user:{emailid}`, `serviceAccount:{emailid}`
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// Whether to negate the Condition. If true, the Condition becomes
	// a NAND over its non-empty fields, each field must be false for
	// the Condition overall to be satisfied. Defaults to false.
	Negate pulumi.BoolPtrOutput `pulumi:"negate"`
	// The request must originate from one of the provided
	// countries/regions.
	// Format: A valid ISO 3166-1 alpha-2 code.
	Regions pulumi.StringArrayOutput `pulumi:"regions"`
	// A list of other access levels defined in the same Policy,
	// referenced by resource name. Referencing an AccessLevel which
	// does not exist is an error. All access levels listed must be
	// granted for the Condition to be true.
	// Format: accessPolicies/{policy_id}/accessLevels/{short_name}
	RequiredAccessLevels pulumi.StringArrayOutput `pulumi:"requiredAccessLevels"`
}

Allows configuring a single access level condition to be appended to an access level's conditions. This resource is intended to be used in cases where it is not possible to compile a full list of conditions to include in a `accesscontextmanager.AccessLevel` resource, to enable them to be added separately.

> **Note:** If this resource is used alongside a `accesscontextmanager.AccessLevel` resource, the access level resource must have a `lifecycle` block with `ignoreChanges = [basic[0].conditions]` so they don't fight over which service accounts should be included.

To get more information about AccessLevelCondition, see:

* [API documentation](https://cloud.google.com/access-context-manager/docs/reference/rest/v1/accessPolicies.accessLevels) * How-to Guides

> **Warning:** If you are using User ADCs (Application Default Credentials) with this resource, you must specify a `billingProject` and set `userProjectOverride` to true in the provider configuration. Otherwise the ACM API will return a 403 error. Your account must have the `serviceusage.services.use` permission on the `billingProject` you defined.

## Example Usage

## Import

This resource does not support import.

func GetAccessLevelCondition

func GetAccessLevelCondition(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AccessLevelConditionState, opts ...pulumi.ResourceOption) (*AccessLevelCondition, error)

GetAccessLevelCondition gets an existing AccessLevelCondition resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAccessLevelCondition

func NewAccessLevelCondition(ctx *pulumi.Context,
	name string, args *AccessLevelConditionArgs, opts ...pulumi.ResourceOption) (*AccessLevelCondition, error)

NewAccessLevelCondition registers a new resource with the given unique name, arguments, and options.

func (*AccessLevelCondition) ElementType

func (*AccessLevelCondition) ElementType() reflect.Type

func (*AccessLevelCondition) ToAccessLevelConditionOutput

func (i *AccessLevelCondition) ToAccessLevelConditionOutput() AccessLevelConditionOutput

func (*AccessLevelCondition) ToAccessLevelConditionOutputWithContext

func (i *AccessLevelCondition) ToAccessLevelConditionOutputWithContext(ctx context.Context) AccessLevelConditionOutput

func (*AccessLevelCondition) ToAccessLevelConditionPtrOutput

func (i *AccessLevelCondition) ToAccessLevelConditionPtrOutput() AccessLevelConditionPtrOutput

func (*AccessLevelCondition) ToAccessLevelConditionPtrOutputWithContext

func (i *AccessLevelCondition) ToAccessLevelConditionPtrOutputWithContext(ctx context.Context) AccessLevelConditionPtrOutput

type AccessLevelConditionArgs

type AccessLevelConditionArgs struct {
	// The name of the Access Level to add this condition to.
	AccessLevel pulumi.StringInput
	// Device specific restrictions, all restrictions must hold for
	// the Condition to be true. If not specified, all devices are
	// allowed.
	// Structure is documented below.
	DevicePolicy AccessLevelConditionDevicePolicyPtrInput
	// A list of CIDR block IP subnetwork specification. May be IPv4
	// or IPv6.
	// Note that for a CIDR IP address block, the specified IP address
	// portion must be properly truncated (i.e. all the host bits must
	// be zero) or the input is considered malformed. For example,
	// "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly,
	// for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32"
	// is not. The originating IP of a request must be in one of the
	// listed subnets in order for this Condition to be true.
	// If empty, all IP addresses are allowed.
	IpSubnetworks pulumi.StringArrayInput
	// An allowed list of members (users, service accounts).
	// Using groups is not supported yet.
	// The signed-in user originating the request must be a part of one
	// of the provided members. If not specified, a request may come
	// from any user (logged in/not logged in, not present in any
	// groups, etc.).
	// Formats: `user:{emailid}`, `serviceAccount:{emailid}`
	Members pulumi.StringArrayInput
	// Whether to negate the Condition. If true, the Condition becomes
	// a NAND over its non-empty fields, each field must be false for
	// the Condition overall to be satisfied. Defaults to false.
	Negate pulumi.BoolPtrInput
	// The request must originate from one of the provided
	// countries/regions.
	// Format: A valid ISO 3166-1 alpha-2 code.
	Regions pulumi.StringArrayInput
	// A list of other access levels defined in the same Policy,
	// referenced by resource name. Referencing an AccessLevel which
	// does not exist is an error. All access levels listed must be
	// granted for the Condition to be true.
	// Format: accessPolicies/{policy_id}/accessLevels/{short_name}
	RequiredAccessLevels pulumi.StringArrayInput
}

The set of arguments for constructing a AccessLevelCondition resource.

func (AccessLevelConditionArgs) ElementType

func (AccessLevelConditionArgs) ElementType() reflect.Type

type AccessLevelConditionArray

type AccessLevelConditionArray []AccessLevelConditionInput

func (AccessLevelConditionArray) ElementType

func (AccessLevelConditionArray) ElementType() reflect.Type

func (AccessLevelConditionArray) ToAccessLevelConditionArrayOutput

func (i AccessLevelConditionArray) ToAccessLevelConditionArrayOutput() AccessLevelConditionArrayOutput

func (AccessLevelConditionArray) ToAccessLevelConditionArrayOutputWithContext

func (i AccessLevelConditionArray) ToAccessLevelConditionArrayOutputWithContext(ctx context.Context) AccessLevelConditionArrayOutput

type AccessLevelConditionArrayInput

type AccessLevelConditionArrayInput interface {
	pulumi.Input

	ToAccessLevelConditionArrayOutput() AccessLevelConditionArrayOutput
	ToAccessLevelConditionArrayOutputWithContext(context.Context) AccessLevelConditionArrayOutput
}

AccessLevelConditionArrayInput is an input type that accepts AccessLevelConditionArray and AccessLevelConditionArrayOutput values. You can construct a concrete instance of `AccessLevelConditionArrayInput` via:

AccessLevelConditionArray{ AccessLevelConditionArgs{...} }

type AccessLevelConditionArrayOutput

type AccessLevelConditionArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionArrayOutput) ElementType

func (AccessLevelConditionArrayOutput) Index

func (AccessLevelConditionArrayOutput) ToAccessLevelConditionArrayOutput

func (o AccessLevelConditionArrayOutput) ToAccessLevelConditionArrayOutput() AccessLevelConditionArrayOutput

func (AccessLevelConditionArrayOutput) ToAccessLevelConditionArrayOutputWithContext

func (o AccessLevelConditionArrayOutput) ToAccessLevelConditionArrayOutputWithContext(ctx context.Context) AccessLevelConditionArrayOutput

type AccessLevelConditionDevicePolicy

type AccessLevelConditionDevicePolicy struct {
	// A list of allowed device management levels.
	// An empty list allows all management levels.
	// Each value may be one of `MANAGEMENT_UNSPECIFIED`, `NONE`, `BASIC`, and `COMPLETE`.
	AllowedDeviceManagementLevels []string `pulumi:"allowedDeviceManagementLevels"`
	// A list of allowed encryptions statuses.
	// An empty list allows all statuses.
	// Each value may be one of `ENCRYPTION_UNSPECIFIED`, `ENCRYPTION_UNSUPPORTED`, `UNENCRYPTED`, and `ENCRYPTED`.
	AllowedEncryptionStatuses []string `pulumi:"allowedEncryptionStatuses"`
	// A list of allowed OS versions.
	// An empty list allows all types and all versions.
	// Structure is documented below.
	OsConstraints []AccessLevelConditionDevicePolicyOsConstraint `pulumi:"osConstraints"`
	// Whether the device needs to be approved by the customer admin.
	RequireAdminApproval *bool `pulumi:"requireAdminApproval"`
	// Whether the device needs to be corp owned.
	RequireCorpOwned *bool `pulumi:"requireCorpOwned"`
	// Whether or not screenlock is required for the DevicePolicy
	// to be true. Defaults to false.
	RequireScreenLock *bool `pulumi:"requireScreenLock"`
}

type AccessLevelConditionDevicePolicyArgs

type AccessLevelConditionDevicePolicyArgs struct {
	// A list of allowed device management levels.
	// An empty list allows all management levels.
	// Each value may be one of `MANAGEMENT_UNSPECIFIED`, `NONE`, `BASIC`, and `COMPLETE`.
	AllowedDeviceManagementLevels pulumi.StringArrayInput `pulumi:"allowedDeviceManagementLevels"`
	// A list of allowed encryptions statuses.
	// An empty list allows all statuses.
	// Each value may be one of `ENCRYPTION_UNSPECIFIED`, `ENCRYPTION_UNSUPPORTED`, `UNENCRYPTED`, and `ENCRYPTED`.
	AllowedEncryptionStatuses pulumi.StringArrayInput `pulumi:"allowedEncryptionStatuses"`
	// A list of allowed OS versions.
	// An empty list allows all types and all versions.
	// Structure is documented below.
	OsConstraints AccessLevelConditionDevicePolicyOsConstraintArrayInput `pulumi:"osConstraints"`
	// Whether the device needs to be approved by the customer admin.
	RequireAdminApproval pulumi.BoolPtrInput `pulumi:"requireAdminApproval"`
	// Whether the device needs to be corp owned.
	RequireCorpOwned pulumi.BoolPtrInput `pulumi:"requireCorpOwned"`
	// Whether or not screenlock is required for the DevicePolicy
	// to be true. Defaults to false.
	RequireScreenLock pulumi.BoolPtrInput `pulumi:"requireScreenLock"`
}

func (AccessLevelConditionDevicePolicyArgs) ElementType

func (AccessLevelConditionDevicePolicyArgs) ToAccessLevelConditionDevicePolicyOutput

func (i AccessLevelConditionDevicePolicyArgs) ToAccessLevelConditionDevicePolicyOutput() AccessLevelConditionDevicePolicyOutput

func (AccessLevelConditionDevicePolicyArgs) ToAccessLevelConditionDevicePolicyOutputWithContext

func (i AccessLevelConditionDevicePolicyArgs) ToAccessLevelConditionDevicePolicyOutputWithContext(ctx context.Context) AccessLevelConditionDevicePolicyOutput

func (AccessLevelConditionDevicePolicyArgs) ToAccessLevelConditionDevicePolicyPtrOutput

func (i AccessLevelConditionDevicePolicyArgs) ToAccessLevelConditionDevicePolicyPtrOutput() AccessLevelConditionDevicePolicyPtrOutput

func (AccessLevelConditionDevicePolicyArgs) ToAccessLevelConditionDevicePolicyPtrOutputWithContext

func (i AccessLevelConditionDevicePolicyArgs) ToAccessLevelConditionDevicePolicyPtrOutputWithContext(ctx context.Context) AccessLevelConditionDevicePolicyPtrOutput

type AccessLevelConditionDevicePolicyInput

type AccessLevelConditionDevicePolicyInput interface {
	pulumi.Input

	ToAccessLevelConditionDevicePolicyOutput() AccessLevelConditionDevicePolicyOutput
	ToAccessLevelConditionDevicePolicyOutputWithContext(context.Context) AccessLevelConditionDevicePolicyOutput
}

AccessLevelConditionDevicePolicyInput is an input type that accepts AccessLevelConditionDevicePolicyArgs and AccessLevelConditionDevicePolicyOutput values. You can construct a concrete instance of `AccessLevelConditionDevicePolicyInput` via:

AccessLevelConditionDevicePolicyArgs{...}

type AccessLevelConditionDevicePolicyOsConstraint

type AccessLevelConditionDevicePolicyOsConstraint struct {
	// The minimum allowed OS version. If not set, any version
	// of this OS satisfies the constraint.
	// Format: "major.minor.patch" such as "10.5.301", "9.2.1".
	MinimumVersion *string `pulumi:"minimumVersion"`
	// The operating system type of the device.
	// Possible values are `OS_UNSPECIFIED`, `DESKTOP_MAC`, `DESKTOP_WINDOWS`, `DESKTOP_LINUX`, `DESKTOP_CHROME_OS`, `ANDROID`, and `IOS`.
	OsType string `pulumi:"osType"`
}

type AccessLevelConditionDevicePolicyOsConstraintArgs

type AccessLevelConditionDevicePolicyOsConstraintArgs struct {
	// The minimum allowed OS version. If not set, any version
	// of this OS satisfies the constraint.
	// Format: "major.minor.patch" such as "10.5.301", "9.2.1".
	MinimumVersion pulumi.StringPtrInput `pulumi:"minimumVersion"`
	// The operating system type of the device.
	// Possible values are `OS_UNSPECIFIED`, `DESKTOP_MAC`, `DESKTOP_WINDOWS`, `DESKTOP_LINUX`, `DESKTOP_CHROME_OS`, `ANDROID`, and `IOS`.
	OsType pulumi.StringInput `pulumi:"osType"`
}

func (AccessLevelConditionDevicePolicyOsConstraintArgs) ElementType

func (AccessLevelConditionDevicePolicyOsConstraintArgs) ToAccessLevelConditionDevicePolicyOsConstraintOutput

func (i AccessLevelConditionDevicePolicyOsConstraintArgs) ToAccessLevelConditionDevicePolicyOsConstraintOutput() AccessLevelConditionDevicePolicyOsConstraintOutput

func (AccessLevelConditionDevicePolicyOsConstraintArgs) ToAccessLevelConditionDevicePolicyOsConstraintOutputWithContext

func (i AccessLevelConditionDevicePolicyOsConstraintArgs) ToAccessLevelConditionDevicePolicyOsConstraintOutputWithContext(ctx context.Context) AccessLevelConditionDevicePolicyOsConstraintOutput

type AccessLevelConditionDevicePolicyOsConstraintArray

type AccessLevelConditionDevicePolicyOsConstraintArray []AccessLevelConditionDevicePolicyOsConstraintInput

func (AccessLevelConditionDevicePolicyOsConstraintArray) ElementType

func (AccessLevelConditionDevicePolicyOsConstraintArray) ToAccessLevelConditionDevicePolicyOsConstraintArrayOutput

func (i AccessLevelConditionDevicePolicyOsConstraintArray) ToAccessLevelConditionDevicePolicyOsConstraintArrayOutput() AccessLevelConditionDevicePolicyOsConstraintArrayOutput

func (AccessLevelConditionDevicePolicyOsConstraintArray) ToAccessLevelConditionDevicePolicyOsConstraintArrayOutputWithContext

func (i AccessLevelConditionDevicePolicyOsConstraintArray) ToAccessLevelConditionDevicePolicyOsConstraintArrayOutputWithContext(ctx context.Context) AccessLevelConditionDevicePolicyOsConstraintArrayOutput

type AccessLevelConditionDevicePolicyOsConstraintArrayInput

type AccessLevelConditionDevicePolicyOsConstraintArrayInput interface {
	pulumi.Input

	ToAccessLevelConditionDevicePolicyOsConstraintArrayOutput() AccessLevelConditionDevicePolicyOsConstraintArrayOutput
	ToAccessLevelConditionDevicePolicyOsConstraintArrayOutputWithContext(context.Context) AccessLevelConditionDevicePolicyOsConstraintArrayOutput
}

AccessLevelConditionDevicePolicyOsConstraintArrayInput is an input type that accepts AccessLevelConditionDevicePolicyOsConstraintArray and AccessLevelConditionDevicePolicyOsConstraintArrayOutput values. You can construct a concrete instance of `AccessLevelConditionDevicePolicyOsConstraintArrayInput` via:

AccessLevelConditionDevicePolicyOsConstraintArray{ AccessLevelConditionDevicePolicyOsConstraintArgs{...} }

type AccessLevelConditionDevicePolicyOsConstraintArrayOutput

type AccessLevelConditionDevicePolicyOsConstraintArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionDevicePolicyOsConstraintArrayOutput) ElementType

func (AccessLevelConditionDevicePolicyOsConstraintArrayOutput) Index

func (AccessLevelConditionDevicePolicyOsConstraintArrayOutput) ToAccessLevelConditionDevicePolicyOsConstraintArrayOutput

func (AccessLevelConditionDevicePolicyOsConstraintArrayOutput) ToAccessLevelConditionDevicePolicyOsConstraintArrayOutputWithContext

func (o AccessLevelConditionDevicePolicyOsConstraintArrayOutput) ToAccessLevelConditionDevicePolicyOsConstraintArrayOutputWithContext(ctx context.Context) AccessLevelConditionDevicePolicyOsConstraintArrayOutput

type AccessLevelConditionDevicePolicyOsConstraintInput

type AccessLevelConditionDevicePolicyOsConstraintInput interface {
	pulumi.Input

	ToAccessLevelConditionDevicePolicyOsConstraintOutput() AccessLevelConditionDevicePolicyOsConstraintOutput
	ToAccessLevelConditionDevicePolicyOsConstraintOutputWithContext(context.Context) AccessLevelConditionDevicePolicyOsConstraintOutput
}

AccessLevelConditionDevicePolicyOsConstraintInput is an input type that accepts AccessLevelConditionDevicePolicyOsConstraintArgs and AccessLevelConditionDevicePolicyOsConstraintOutput values. You can construct a concrete instance of `AccessLevelConditionDevicePolicyOsConstraintInput` via:

AccessLevelConditionDevicePolicyOsConstraintArgs{...}

type AccessLevelConditionDevicePolicyOsConstraintOutput

type AccessLevelConditionDevicePolicyOsConstraintOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionDevicePolicyOsConstraintOutput) ElementType

func (AccessLevelConditionDevicePolicyOsConstraintOutput) MinimumVersion

The minimum allowed OS version. If not set, any version of this OS satisfies the constraint. Format: "major.minor.patch" such as "10.5.301", "9.2.1".

func (AccessLevelConditionDevicePolicyOsConstraintOutput) OsType

The operating system type of the device. Possible values are `OS_UNSPECIFIED`, `DESKTOP_MAC`, `DESKTOP_WINDOWS`, `DESKTOP_LINUX`, `DESKTOP_CHROME_OS`, `ANDROID`, and `IOS`.

func (AccessLevelConditionDevicePolicyOsConstraintOutput) ToAccessLevelConditionDevicePolicyOsConstraintOutput

func (o AccessLevelConditionDevicePolicyOsConstraintOutput) ToAccessLevelConditionDevicePolicyOsConstraintOutput() AccessLevelConditionDevicePolicyOsConstraintOutput

func (AccessLevelConditionDevicePolicyOsConstraintOutput) ToAccessLevelConditionDevicePolicyOsConstraintOutputWithContext

func (o AccessLevelConditionDevicePolicyOsConstraintOutput) ToAccessLevelConditionDevicePolicyOsConstraintOutputWithContext(ctx context.Context) AccessLevelConditionDevicePolicyOsConstraintOutput

type AccessLevelConditionDevicePolicyOutput

type AccessLevelConditionDevicePolicyOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionDevicePolicyOutput) AllowedDeviceManagementLevels

func (o AccessLevelConditionDevicePolicyOutput) AllowedDeviceManagementLevels() pulumi.StringArrayOutput

A list of allowed device management levels. An empty list allows all management levels. Each value may be one of `MANAGEMENT_UNSPECIFIED`, `NONE`, `BASIC`, and `COMPLETE`.

func (AccessLevelConditionDevicePolicyOutput) AllowedEncryptionStatuses

func (o AccessLevelConditionDevicePolicyOutput) AllowedEncryptionStatuses() pulumi.StringArrayOutput

A list of allowed encryptions statuses. An empty list allows all statuses. Each value may be one of `ENCRYPTION_UNSPECIFIED`, `ENCRYPTION_UNSUPPORTED`, `UNENCRYPTED`, and `ENCRYPTED`.

func (AccessLevelConditionDevicePolicyOutput) ElementType

func (AccessLevelConditionDevicePolicyOutput) OsConstraints

A list of allowed OS versions. An empty list allows all types and all versions. Structure is documented below.

func (AccessLevelConditionDevicePolicyOutput) RequireAdminApproval

Whether the device needs to be approved by the customer admin.

func (AccessLevelConditionDevicePolicyOutput) RequireCorpOwned

Whether the device needs to be corp owned.

func (AccessLevelConditionDevicePolicyOutput) RequireScreenLock

Whether or not screenlock is required for the DevicePolicy to be true. Defaults to false.

func (AccessLevelConditionDevicePolicyOutput) ToAccessLevelConditionDevicePolicyOutput

func (o AccessLevelConditionDevicePolicyOutput) ToAccessLevelConditionDevicePolicyOutput() AccessLevelConditionDevicePolicyOutput

func (AccessLevelConditionDevicePolicyOutput) ToAccessLevelConditionDevicePolicyOutputWithContext

func (o AccessLevelConditionDevicePolicyOutput) ToAccessLevelConditionDevicePolicyOutputWithContext(ctx context.Context) AccessLevelConditionDevicePolicyOutput

func (AccessLevelConditionDevicePolicyOutput) ToAccessLevelConditionDevicePolicyPtrOutput

func (o AccessLevelConditionDevicePolicyOutput) ToAccessLevelConditionDevicePolicyPtrOutput() AccessLevelConditionDevicePolicyPtrOutput

func (AccessLevelConditionDevicePolicyOutput) ToAccessLevelConditionDevicePolicyPtrOutputWithContext

func (o AccessLevelConditionDevicePolicyOutput) ToAccessLevelConditionDevicePolicyPtrOutputWithContext(ctx context.Context) AccessLevelConditionDevicePolicyPtrOutput

type AccessLevelConditionDevicePolicyPtrInput

type AccessLevelConditionDevicePolicyPtrInput interface {
	pulumi.Input

	ToAccessLevelConditionDevicePolicyPtrOutput() AccessLevelConditionDevicePolicyPtrOutput
	ToAccessLevelConditionDevicePolicyPtrOutputWithContext(context.Context) AccessLevelConditionDevicePolicyPtrOutput
}

AccessLevelConditionDevicePolicyPtrInput is an input type that accepts AccessLevelConditionDevicePolicyArgs, AccessLevelConditionDevicePolicyPtr and AccessLevelConditionDevicePolicyPtrOutput values. You can construct a concrete instance of `AccessLevelConditionDevicePolicyPtrInput` via:

        AccessLevelConditionDevicePolicyArgs{...}

or:

        nil

type AccessLevelConditionDevicePolicyPtrOutput

type AccessLevelConditionDevicePolicyPtrOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionDevicePolicyPtrOutput) AllowedDeviceManagementLevels

func (o AccessLevelConditionDevicePolicyPtrOutput) AllowedDeviceManagementLevels() pulumi.StringArrayOutput

A list of allowed device management levels. An empty list allows all management levels. Each value may be one of `MANAGEMENT_UNSPECIFIED`, `NONE`, `BASIC`, and `COMPLETE`.

func (AccessLevelConditionDevicePolicyPtrOutput) AllowedEncryptionStatuses

A list of allowed encryptions statuses. An empty list allows all statuses. Each value may be one of `ENCRYPTION_UNSPECIFIED`, `ENCRYPTION_UNSUPPORTED`, `UNENCRYPTED`, and `ENCRYPTED`.

func (AccessLevelConditionDevicePolicyPtrOutput) Elem

func (AccessLevelConditionDevicePolicyPtrOutput) ElementType

func (AccessLevelConditionDevicePolicyPtrOutput) OsConstraints

A list of allowed OS versions. An empty list allows all types and all versions. Structure is documented below.

func (AccessLevelConditionDevicePolicyPtrOutput) RequireAdminApproval

Whether the device needs to be approved by the customer admin.

func (AccessLevelConditionDevicePolicyPtrOutput) RequireCorpOwned

Whether the device needs to be corp owned.

func (AccessLevelConditionDevicePolicyPtrOutput) RequireScreenLock

Whether or not screenlock is required for the DevicePolicy to be true. Defaults to false.

func (AccessLevelConditionDevicePolicyPtrOutput) ToAccessLevelConditionDevicePolicyPtrOutput

func (o AccessLevelConditionDevicePolicyPtrOutput) ToAccessLevelConditionDevicePolicyPtrOutput() AccessLevelConditionDevicePolicyPtrOutput

func (AccessLevelConditionDevicePolicyPtrOutput) ToAccessLevelConditionDevicePolicyPtrOutputWithContext

func (o AccessLevelConditionDevicePolicyPtrOutput) ToAccessLevelConditionDevicePolicyPtrOutputWithContext(ctx context.Context) AccessLevelConditionDevicePolicyPtrOutput

type AccessLevelConditionInput

type AccessLevelConditionInput interface {
	pulumi.Input

	ToAccessLevelConditionOutput() AccessLevelConditionOutput
	ToAccessLevelConditionOutputWithContext(ctx context.Context) AccessLevelConditionOutput
}

type AccessLevelConditionMap

type AccessLevelConditionMap map[string]AccessLevelConditionInput

func (AccessLevelConditionMap) ElementType

func (AccessLevelConditionMap) ElementType() reflect.Type

func (AccessLevelConditionMap) ToAccessLevelConditionMapOutput

func (i AccessLevelConditionMap) ToAccessLevelConditionMapOutput() AccessLevelConditionMapOutput

func (AccessLevelConditionMap) ToAccessLevelConditionMapOutputWithContext

func (i AccessLevelConditionMap) ToAccessLevelConditionMapOutputWithContext(ctx context.Context) AccessLevelConditionMapOutput

type AccessLevelConditionMapInput

type AccessLevelConditionMapInput interface {
	pulumi.Input

	ToAccessLevelConditionMapOutput() AccessLevelConditionMapOutput
	ToAccessLevelConditionMapOutputWithContext(context.Context) AccessLevelConditionMapOutput
}

AccessLevelConditionMapInput is an input type that accepts AccessLevelConditionMap and AccessLevelConditionMapOutput values. You can construct a concrete instance of `AccessLevelConditionMapInput` via:

AccessLevelConditionMap{ "key": AccessLevelConditionArgs{...} }

type AccessLevelConditionMapOutput

type AccessLevelConditionMapOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionMapOutput) ElementType

func (AccessLevelConditionMapOutput) MapIndex

func (AccessLevelConditionMapOutput) ToAccessLevelConditionMapOutput

func (o AccessLevelConditionMapOutput) ToAccessLevelConditionMapOutput() AccessLevelConditionMapOutput

func (AccessLevelConditionMapOutput) ToAccessLevelConditionMapOutputWithContext

func (o AccessLevelConditionMapOutput) ToAccessLevelConditionMapOutputWithContext(ctx context.Context) AccessLevelConditionMapOutput

type AccessLevelConditionOutput

type AccessLevelConditionOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionOutput) ElementType

func (AccessLevelConditionOutput) ElementType() reflect.Type

func (AccessLevelConditionOutput) ToAccessLevelConditionOutput

func (o AccessLevelConditionOutput) ToAccessLevelConditionOutput() AccessLevelConditionOutput

func (AccessLevelConditionOutput) ToAccessLevelConditionOutputWithContext

func (o AccessLevelConditionOutput) ToAccessLevelConditionOutputWithContext(ctx context.Context) AccessLevelConditionOutput

func (AccessLevelConditionOutput) ToAccessLevelConditionPtrOutput

func (o AccessLevelConditionOutput) ToAccessLevelConditionPtrOutput() AccessLevelConditionPtrOutput

func (AccessLevelConditionOutput) ToAccessLevelConditionPtrOutputWithContext

func (o AccessLevelConditionOutput) ToAccessLevelConditionPtrOutputWithContext(ctx context.Context) AccessLevelConditionPtrOutput

type AccessLevelConditionPtrInput

type AccessLevelConditionPtrInput interface {
	pulumi.Input

	ToAccessLevelConditionPtrOutput() AccessLevelConditionPtrOutput
	ToAccessLevelConditionPtrOutputWithContext(ctx context.Context) AccessLevelConditionPtrOutput
}

type AccessLevelConditionPtrOutput

type AccessLevelConditionPtrOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionPtrOutput) Elem added in v5.21.0

func (AccessLevelConditionPtrOutput) ElementType

func (AccessLevelConditionPtrOutput) ToAccessLevelConditionPtrOutput

func (o AccessLevelConditionPtrOutput) ToAccessLevelConditionPtrOutput() AccessLevelConditionPtrOutput

func (AccessLevelConditionPtrOutput) ToAccessLevelConditionPtrOutputWithContext

func (o AccessLevelConditionPtrOutput) ToAccessLevelConditionPtrOutputWithContext(ctx context.Context) AccessLevelConditionPtrOutput

type AccessLevelConditionState

type AccessLevelConditionState struct {
	// The name of the Access Level to add this condition to.
	AccessLevel pulumi.StringPtrInput
	// Device specific restrictions, all restrictions must hold for
	// the Condition to be true. If not specified, all devices are
	// allowed.
	// Structure is documented below.
	DevicePolicy AccessLevelConditionDevicePolicyPtrInput
	// A list of CIDR block IP subnetwork specification. May be IPv4
	// or IPv6.
	// Note that for a CIDR IP address block, the specified IP address
	// portion must be properly truncated (i.e. all the host bits must
	// be zero) or the input is considered malformed. For example,
	// "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly,
	// for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32"
	// is not. The originating IP of a request must be in one of the
	// listed subnets in order for this Condition to be true.
	// If empty, all IP addresses are allowed.
	IpSubnetworks pulumi.StringArrayInput
	// An allowed list of members (users, service accounts).
	// Using groups is not supported yet.
	// The signed-in user originating the request must be a part of one
	// of the provided members. If not specified, a request may come
	// from any user (logged in/not logged in, not present in any
	// groups, etc.).
	// Formats: `user:{emailid}`, `serviceAccount:{emailid}`
	Members pulumi.StringArrayInput
	// Whether to negate the Condition. If true, the Condition becomes
	// a NAND over its non-empty fields, each field must be false for
	// the Condition overall to be satisfied. Defaults to false.
	Negate pulumi.BoolPtrInput
	// The request must originate from one of the provided
	// countries/regions.
	// Format: A valid ISO 3166-1 alpha-2 code.
	Regions pulumi.StringArrayInput
	// A list of other access levels defined in the same Policy,
	// referenced by resource name. Referencing an AccessLevel which
	// does not exist is an error. All access levels listed must be
	// granted for the Condition to be true.
	// Format: accessPolicies/{policy_id}/accessLevels/{short_name}
	RequiredAccessLevels pulumi.StringArrayInput
}

func (AccessLevelConditionState) ElementType

func (AccessLevelConditionState) ElementType() reflect.Type

type AccessLevelCustom

type AccessLevelCustom struct {
	// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language.
	// This page details the objects and attributes that are used to the build the CEL expressions for
	// custom access levels - https://cloud.google.com/access-context-manager/docs/custom-access-level-spec.
	// Structure is documented below.
	Expr AccessLevelCustomExpr `pulumi:"expr"`
}

type AccessLevelCustomArgs

type AccessLevelCustomArgs struct {
	// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language.
	// This page details the objects and attributes that are used to the build the CEL expressions for
	// custom access levels - https://cloud.google.com/access-context-manager/docs/custom-access-level-spec.
	// Structure is documented below.
	Expr AccessLevelCustomExprInput `pulumi:"expr"`
}

func (AccessLevelCustomArgs) ElementType

func (AccessLevelCustomArgs) ElementType() reflect.Type

func (AccessLevelCustomArgs) ToAccessLevelCustomOutput

func (i AccessLevelCustomArgs) ToAccessLevelCustomOutput() AccessLevelCustomOutput

func (AccessLevelCustomArgs) ToAccessLevelCustomOutputWithContext

func (i AccessLevelCustomArgs) ToAccessLevelCustomOutputWithContext(ctx context.Context) AccessLevelCustomOutput

func (AccessLevelCustomArgs) ToAccessLevelCustomPtrOutput

func (i AccessLevelCustomArgs) ToAccessLevelCustomPtrOutput() AccessLevelCustomPtrOutput

func (AccessLevelCustomArgs) ToAccessLevelCustomPtrOutputWithContext

func (i AccessLevelCustomArgs) ToAccessLevelCustomPtrOutputWithContext(ctx context.Context) AccessLevelCustomPtrOutput

type AccessLevelCustomExpr

type AccessLevelCustomExpr struct {
	// Description of the expression
	Description *string `pulumi:"description"`
	// Textual representation of an expression in Common Expression Language syntax.
	Expression string `pulumi:"expression"`
	// String indicating the location of the expression for error reporting, e.g. a file name and a position in the file
	Location *string `pulumi:"location"`
	// Title for the expression, i.e. a short string describing its purpose.
	Title *string `pulumi:"title"`
}

type AccessLevelCustomExprArgs

type AccessLevelCustomExprArgs struct {
	// Description of the expression
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Textual representation of an expression in Common Expression Language syntax.
	Expression pulumi.StringInput `pulumi:"expression"`
	// String indicating the location of the expression for error reporting, e.g. a file name and a position in the file
	Location pulumi.StringPtrInput `pulumi:"location"`
	// Title for the expression, i.e. a short string describing its purpose.
	Title pulumi.StringPtrInput `pulumi:"title"`
}

func (AccessLevelCustomExprArgs) ElementType

func (AccessLevelCustomExprArgs) ElementType() reflect.Type

func (AccessLevelCustomExprArgs) ToAccessLevelCustomExprOutput

func (i AccessLevelCustomExprArgs) ToAccessLevelCustomExprOutput() AccessLevelCustomExprOutput

func (AccessLevelCustomExprArgs) ToAccessLevelCustomExprOutputWithContext

func (i AccessLevelCustomExprArgs) ToAccessLevelCustomExprOutputWithContext(ctx context.Context) AccessLevelCustomExprOutput

func (AccessLevelCustomExprArgs) ToAccessLevelCustomExprPtrOutput

func (i AccessLevelCustomExprArgs) ToAccessLevelCustomExprPtrOutput() AccessLevelCustomExprPtrOutput

func (AccessLevelCustomExprArgs) ToAccessLevelCustomExprPtrOutputWithContext

func (i AccessLevelCustomExprArgs) ToAccessLevelCustomExprPtrOutputWithContext(ctx context.Context) AccessLevelCustomExprPtrOutput

type AccessLevelCustomExprInput

type AccessLevelCustomExprInput interface {
	pulumi.Input

	ToAccessLevelCustomExprOutput() AccessLevelCustomExprOutput
	ToAccessLevelCustomExprOutputWithContext(context.Context) AccessLevelCustomExprOutput
}

AccessLevelCustomExprInput is an input type that accepts AccessLevelCustomExprArgs and AccessLevelCustomExprOutput values. You can construct a concrete instance of `AccessLevelCustomExprInput` via:

AccessLevelCustomExprArgs{...}

type AccessLevelCustomExprOutput

type AccessLevelCustomExprOutput struct{ *pulumi.OutputState }

func (AccessLevelCustomExprOutput) Description

Description of the expression

func (AccessLevelCustomExprOutput) ElementType

func (AccessLevelCustomExprOutput) Expression

Textual representation of an expression in Common Expression Language syntax.

func (AccessLevelCustomExprOutput) Location

String indicating the location of the expression for error reporting, e.g. a file name and a position in the file

func (AccessLevelCustomExprOutput) Title

Title for the expression, i.e. a short string describing its purpose.

func (AccessLevelCustomExprOutput) ToAccessLevelCustomExprOutput

func (o AccessLevelCustomExprOutput) ToAccessLevelCustomExprOutput() AccessLevelCustomExprOutput

func (AccessLevelCustomExprOutput) ToAccessLevelCustomExprOutputWithContext

func (o AccessLevelCustomExprOutput) ToAccessLevelCustomExprOutputWithContext(ctx context.Context) AccessLevelCustomExprOutput

func (AccessLevelCustomExprOutput) ToAccessLevelCustomExprPtrOutput

func (o AccessLevelCustomExprOutput) ToAccessLevelCustomExprPtrOutput() AccessLevelCustomExprPtrOutput

func (AccessLevelCustomExprOutput) ToAccessLevelCustomExprPtrOutputWithContext

func (o AccessLevelCustomExprOutput) ToAccessLevelCustomExprPtrOutputWithContext(ctx context.Context) AccessLevelCustomExprPtrOutput

type AccessLevelCustomExprPtrInput

type AccessLevelCustomExprPtrInput interface {
	pulumi.Input

	ToAccessLevelCustomExprPtrOutput() AccessLevelCustomExprPtrOutput
	ToAccessLevelCustomExprPtrOutputWithContext(context.Context) AccessLevelCustomExprPtrOutput
}

AccessLevelCustomExprPtrInput is an input type that accepts AccessLevelCustomExprArgs, AccessLevelCustomExprPtr and AccessLevelCustomExprPtrOutput values. You can construct a concrete instance of `AccessLevelCustomExprPtrInput` via:

        AccessLevelCustomExprArgs{...}

or:

        nil

type AccessLevelCustomExprPtrOutput

type AccessLevelCustomExprPtrOutput struct{ *pulumi.OutputState }

func (AccessLevelCustomExprPtrOutput) Description

Description of the expression

func (AccessLevelCustomExprPtrOutput) Elem

func (AccessLevelCustomExprPtrOutput) ElementType

func (AccessLevelCustomExprPtrOutput) Expression

Textual representation of an expression in Common Expression Language syntax.

func (AccessLevelCustomExprPtrOutput) Location

String indicating the location of the expression for error reporting, e.g. a file name and a position in the file

func (AccessLevelCustomExprPtrOutput) Title

Title for the expression, i.e. a short string describing its purpose.

func (AccessLevelCustomExprPtrOutput) ToAccessLevelCustomExprPtrOutput

func (o AccessLevelCustomExprPtrOutput) ToAccessLevelCustomExprPtrOutput() AccessLevelCustomExprPtrOutput

func (AccessLevelCustomExprPtrOutput) ToAccessLevelCustomExprPtrOutputWithContext

func (o AccessLevelCustomExprPtrOutput) ToAccessLevelCustomExprPtrOutputWithContext(ctx context.Context) AccessLevelCustomExprPtrOutput

type AccessLevelCustomInput

type AccessLevelCustomInput interface {
	pulumi.Input

	ToAccessLevelCustomOutput() AccessLevelCustomOutput
	ToAccessLevelCustomOutputWithContext(context.Context) AccessLevelCustomOutput
}

AccessLevelCustomInput is an input type that accepts AccessLevelCustomArgs and AccessLevelCustomOutput values. You can construct a concrete instance of `AccessLevelCustomInput` via:

AccessLevelCustomArgs{...}

type AccessLevelCustomOutput

type AccessLevelCustomOutput struct{ *pulumi.OutputState }

func (AccessLevelCustomOutput) ElementType

func (AccessLevelCustomOutput) ElementType() reflect.Type

func (AccessLevelCustomOutput) Expr

Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. This page details the objects and attributes that are used to the build the CEL expressions for custom access levels - https://cloud.google.com/access-context-manager/docs/custom-access-level-spec. Structure is documented below.

func (AccessLevelCustomOutput) ToAccessLevelCustomOutput

func (o AccessLevelCustomOutput) ToAccessLevelCustomOutput() AccessLevelCustomOutput

func (AccessLevelCustomOutput) ToAccessLevelCustomOutputWithContext

func (o AccessLevelCustomOutput) ToAccessLevelCustomOutputWithContext(ctx context.Context) AccessLevelCustomOutput

func (AccessLevelCustomOutput) ToAccessLevelCustomPtrOutput

func (o AccessLevelCustomOutput) ToAccessLevelCustomPtrOutput() AccessLevelCustomPtrOutput

func (AccessLevelCustomOutput) ToAccessLevelCustomPtrOutputWithContext

func (o AccessLevelCustomOutput) ToAccessLevelCustomPtrOutputWithContext(ctx context.Context) AccessLevelCustomPtrOutput

type AccessLevelCustomPtrInput

type AccessLevelCustomPtrInput interface {
	pulumi.Input

	ToAccessLevelCustomPtrOutput() AccessLevelCustomPtrOutput
	ToAccessLevelCustomPtrOutputWithContext(context.Context) AccessLevelCustomPtrOutput
}

AccessLevelCustomPtrInput is an input type that accepts AccessLevelCustomArgs, AccessLevelCustomPtr and AccessLevelCustomPtrOutput values. You can construct a concrete instance of `AccessLevelCustomPtrInput` via:

        AccessLevelCustomArgs{...}

or:

        nil

type AccessLevelCustomPtrOutput

type AccessLevelCustomPtrOutput struct{ *pulumi.OutputState }

func (AccessLevelCustomPtrOutput) Elem

func (AccessLevelCustomPtrOutput) ElementType

func (AccessLevelCustomPtrOutput) ElementType() reflect.Type

func (AccessLevelCustomPtrOutput) Expr

Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. This page details the objects and attributes that are used to the build the CEL expressions for custom access levels - https://cloud.google.com/access-context-manager/docs/custom-access-level-spec. Structure is documented below.

func (AccessLevelCustomPtrOutput) ToAccessLevelCustomPtrOutput

func (o AccessLevelCustomPtrOutput) ToAccessLevelCustomPtrOutput() AccessLevelCustomPtrOutput

func (AccessLevelCustomPtrOutput) ToAccessLevelCustomPtrOutputWithContext

func (o AccessLevelCustomPtrOutput) ToAccessLevelCustomPtrOutputWithContext(ctx context.Context) AccessLevelCustomPtrOutput

type AccessLevelInput

type AccessLevelInput interface {
	pulumi.Input

	ToAccessLevelOutput() AccessLevelOutput
	ToAccessLevelOutputWithContext(ctx context.Context) AccessLevelOutput
}

type AccessLevelMap

type AccessLevelMap map[string]AccessLevelInput

func (AccessLevelMap) ElementType

func (AccessLevelMap) ElementType() reflect.Type

func (AccessLevelMap) ToAccessLevelMapOutput

func (i AccessLevelMap) ToAccessLevelMapOutput() AccessLevelMapOutput

func (AccessLevelMap) ToAccessLevelMapOutputWithContext

func (i AccessLevelMap) ToAccessLevelMapOutputWithContext(ctx context.Context) AccessLevelMapOutput

type AccessLevelMapInput

type AccessLevelMapInput interface {
	pulumi.Input

	ToAccessLevelMapOutput() AccessLevelMapOutput
	ToAccessLevelMapOutputWithContext(context.Context) AccessLevelMapOutput
}

AccessLevelMapInput is an input type that accepts AccessLevelMap and AccessLevelMapOutput values. You can construct a concrete instance of `AccessLevelMapInput` via:

AccessLevelMap{ "key": AccessLevelArgs{...} }

type AccessLevelMapOutput

type AccessLevelMapOutput struct{ *pulumi.OutputState }

func (AccessLevelMapOutput) ElementType

func (AccessLevelMapOutput) ElementType() reflect.Type

func (AccessLevelMapOutput) MapIndex

func (AccessLevelMapOutput) ToAccessLevelMapOutput

func (o AccessLevelMapOutput) ToAccessLevelMapOutput() AccessLevelMapOutput

func (AccessLevelMapOutput) ToAccessLevelMapOutputWithContext

func (o AccessLevelMapOutput) ToAccessLevelMapOutputWithContext(ctx context.Context) AccessLevelMapOutput

type AccessLevelOutput

type AccessLevelOutput struct{ *pulumi.OutputState }

func (AccessLevelOutput) ElementType

func (AccessLevelOutput) ElementType() reflect.Type

func (AccessLevelOutput) ToAccessLevelOutput

func (o AccessLevelOutput) ToAccessLevelOutput() AccessLevelOutput

func (AccessLevelOutput) ToAccessLevelOutputWithContext

func (o AccessLevelOutput) ToAccessLevelOutputWithContext(ctx context.Context) AccessLevelOutput

func (AccessLevelOutput) ToAccessLevelPtrOutput

func (o AccessLevelOutput) ToAccessLevelPtrOutput() AccessLevelPtrOutput

func (AccessLevelOutput) ToAccessLevelPtrOutputWithContext

func (o AccessLevelOutput) ToAccessLevelPtrOutputWithContext(ctx context.Context) AccessLevelPtrOutput

type AccessLevelPtrInput

type AccessLevelPtrInput interface {
	pulumi.Input

	ToAccessLevelPtrOutput() AccessLevelPtrOutput
	ToAccessLevelPtrOutputWithContext(ctx context.Context) AccessLevelPtrOutput
}

type AccessLevelPtrOutput

type AccessLevelPtrOutput struct{ *pulumi.OutputState }

func (AccessLevelPtrOutput) Elem added in v5.21.0

func (AccessLevelPtrOutput) ElementType

func (AccessLevelPtrOutput) ElementType() reflect.Type

func (AccessLevelPtrOutput) ToAccessLevelPtrOutput

func (o AccessLevelPtrOutput) ToAccessLevelPtrOutput() AccessLevelPtrOutput

func (AccessLevelPtrOutput) ToAccessLevelPtrOutputWithContext

func (o AccessLevelPtrOutput) ToAccessLevelPtrOutputWithContext(ctx context.Context) AccessLevelPtrOutput

type AccessLevelState

type AccessLevelState struct {
	// A set of predefined conditions for the access level and a combining function.
	// Structure is documented below.
	Basic AccessLevelBasicPtrInput
	// Custom access level conditions are set using the Cloud Common Expression Language to represent the necessary conditions for the level to apply to a request.
	// See CEL spec at: https://github.com/google/cel-spec.
	// Structure is documented below.
	Custom AccessLevelCustomPtrInput
	// Description of the expression
	Description pulumi.StringPtrInput
	// Resource name for the Access Level. The shortName component must begin
	// with a letter and only include alphanumeric and '_'.
	// Format: accessPolicies/{policy_id}/accessLevels/{short_name}
	Name pulumi.StringPtrInput
	// The AccessPolicy this AccessLevel lives in.
	// Format: accessPolicies/{policy_id}
	Parent pulumi.StringPtrInput
	// Title for the expression, i.e. a short string describing its purpose.
	Title pulumi.StringPtrInput
}

func (AccessLevelState) ElementType

func (AccessLevelState) ElementType() reflect.Type

type AccessLevels

type AccessLevels struct {
	pulumi.CustomResourceState

	// The desired Access Levels that should replace all existing Access Levels in the Access Policy.
	// Structure is documented below.
	AccessLevels AccessLevelsAccessLevelArrayOutput `pulumi:"accessLevels"`
	// The AccessPolicy this AccessLevel lives in.
	// Format: accessPolicies/{policy_id}
	Parent pulumi.StringOutput `pulumi:"parent"`
}

Replace all existing Access Levels in an Access Policy with the Access Levels provided. This is done atomically. This is a bulk edit of all Access Levels and may override existing Access Levels created by `accesscontextmanager.AccessLevel`, thus causing a permadiff if used alongside `accesscontextmanager.AccessLevel` on the same parent.

To get more information about AccessLevels, see:

* [API documentation](https://cloud.google.com/access-context-manager/docs/reference/rest/v1/accessPolicies.accessLevels) * How-to Guides

## Example Usage ### Access Context Manager Access Levels Basic

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := accesscontextmanager.NewAccessPolicy(ctx, "access_policy", &accesscontextmanager.AccessPolicyArgs{
			Parent: pulumi.String("organizations/123456789"),
			Title:  pulumi.String("my policy"),
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewAccessLevels(ctx, "access_levels", &accesscontextmanager.AccessLevelsArgs{
			AccessLevels: accesscontextmanager.AccessLevelsAccessLevelArray{
				&accesscontextmanager.AccessLevelsAccessLevelArgs{
					Basic: &accesscontextmanager.AccessLevelsAccessLevelBasicArgs{
						Conditions: accesscontextmanager.AccessLevelsAccessLevelBasicConditionArray{
							&accesscontextmanager.AccessLevelsAccessLevelBasicConditionArgs{
								DevicePolicy: &accesscontextmanager.AccessLevelsAccessLevelBasicConditionDevicePolicyArgs{
									OsConstraints: accesscontextmanager.AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArray{
										&accesscontextmanager.AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArgs{
											OsType: pulumi.String("DESKTOP_CHROME_OS"),
										},
									},
									RequireScreenLock: pulumi.Bool(true),
								},
								Regions: pulumi.StringArray{
									pulumi.String("CH"),
									pulumi.String("IT"),
									pulumi.String("US"),
								},
							},
						},
					},
					Name: access_policy.Name.ApplyT(func(name string) (string, error) {
						return fmt.Sprintf("%v%v%v", "accessPolicies/", name, "/accessLevels/chromeos_no_lock"), nil
					}).(pulumi.StringOutput),
					Title: pulumi.String("chromeos_no_lock"),
				},
				&accesscontextmanager.AccessLevelsAccessLevelArgs{
					Basic: &accesscontextmanager.AccessLevelsAccessLevelBasicArgs{
						Conditions: accesscontextmanager.AccessLevelsAccessLevelBasicConditionArray{
							&accesscontextmanager.AccessLevelsAccessLevelBasicConditionArgs{
								DevicePolicy: &accesscontextmanager.AccessLevelsAccessLevelBasicConditionDevicePolicyArgs{
									OsConstraints: accesscontextmanager.AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArray{
										&accesscontextmanager.AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArgs{
											OsType: pulumi.String("DESKTOP_MAC"),
										},
									},
									RequireScreenLock: pulumi.Bool(true),
								},
								Regions: pulumi.StringArray{
									pulumi.String("CH"),
									pulumi.String("IT"),
									pulumi.String("US"),
								},
							},
						},
					},
					Name: access_policy.Name.ApplyT(func(name string) (string, error) {
						return fmt.Sprintf("%v%v%v", "accessPolicies/", name, "/accessLevels/mac_no_lock"), nil
					}).(pulumi.StringOutput),
					Title: pulumi.String("mac_no_lock"),
				},
			},
			Parent: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("%v%v", "accessPolicies/", name), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

AccessLevels can be imported using any of these accepted formats

```sh

$ pulumi import gcp:accesscontextmanager/accessLevels:AccessLevels default {{parent}}/accessLevels

```

```sh

$ pulumi import gcp:accesscontextmanager/accessLevels:AccessLevels default {{parent}}

```

func GetAccessLevels

func GetAccessLevels(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AccessLevelsState, opts ...pulumi.ResourceOption) (*AccessLevels, error)

GetAccessLevels gets an existing AccessLevels resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAccessLevels

func NewAccessLevels(ctx *pulumi.Context,
	name string, args *AccessLevelsArgs, opts ...pulumi.ResourceOption) (*AccessLevels, error)

NewAccessLevels registers a new resource with the given unique name, arguments, and options.

func (*AccessLevels) ElementType

func (*AccessLevels) ElementType() reflect.Type

func (*AccessLevels) ToAccessLevelsOutput

func (i *AccessLevels) ToAccessLevelsOutput() AccessLevelsOutput

func (*AccessLevels) ToAccessLevelsOutputWithContext

func (i *AccessLevels) ToAccessLevelsOutputWithContext(ctx context.Context) AccessLevelsOutput

func (*AccessLevels) ToAccessLevelsPtrOutput

func (i *AccessLevels) ToAccessLevelsPtrOutput() AccessLevelsPtrOutput

func (*AccessLevels) ToAccessLevelsPtrOutputWithContext

func (i *AccessLevels) ToAccessLevelsPtrOutputWithContext(ctx context.Context) AccessLevelsPtrOutput

type AccessLevelsAccessLevel

type AccessLevelsAccessLevel struct {
	// A set of predefined conditions for the access level and a combining function.
	// Structure is documented below.
	Basic *AccessLevelsAccessLevelBasic `pulumi:"basic"`
	// Custom access level conditions are set using the Cloud Common Expression Language to represent the necessary conditions for the level to apply to a request.
	// See CEL spec at: https://github.com/google/cel-spec.
	// Structure is documented below.
	Custom *AccessLevelsAccessLevelCustom `pulumi:"custom"`
	// Description of the expression
	Description *string `pulumi:"description"`
	// Resource name for the Access Level. The shortName component must begin
	// with a letter and only include alphanumeric and '_'.
	// Format: accessPolicies/{policy_id}/accessLevels/{short_name}
	Name string `pulumi:"name"`
	// Title for the expression, i.e. a short string describing its purpose.
	Title string `pulumi:"title"`
}

type AccessLevelsAccessLevelArgs

type AccessLevelsAccessLevelArgs struct {
	// A set of predefined conditions for the access level and a combining function.
	// Structure is documented below.
	Basic AccessLevelsAccessLevelBasicPtrInput `pulumi:"basic"`
	// Custom access level conditions are set using the Cloud Common Expression Language to represent the necessary conditions for the level to apply to a request.
	// See CEL spec at: https://github.com/google/cel-spec.
	// Structure is documented below.
	Custom AccessLevelsAccessLevelCustomPtrInput `pulumi:"custom"`
	// Description of the expression
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Resource name for the Access Level. The shortName component must begin
	// with a letter and only include alphanumeric and '_'.
	// Format: accessPolicies/{policy_id}/accessLevels/{short_name}
	Name pulumi.StringInput `pulumi:"name"`
	// Title for the expression, i.e. a short string describing its purpose.
	Title pulumi.StringInput `pulumi:"title"`
}

func (AccessLevelsAccessLevelArgs) ElementType

func (AccessLevelsAccessLevelArgs) ToAccessLevelsAccessLevelOutput

func (i AccessLevelsAccessLevelArgs) ToAccessLevelsAccessLevelOutput() AccessLevelsAccessLevelOutput

func (AccessLevelsAccessLevelArgs) ToAccessLevelsAccessLevelOutputWithContext

func (i AccessLevelsAccessLevelArgs) ToAccessLevelsAccessLevelOutputWithContext(ctx context.Context) AccessLevelsAccessLevelOutput

type AccessLevelsAccessLevelArray

type AccessLevelsAccessLevelArray []AccessLevelsAccessLevelInput

func (AccessLevelsAccessLevelArray) ElementType

func (AccessLevelsAccessLevelArray) ToAccessLevelsAccessLevelArrayOutput

func (i AccessLevelsAccessLevelArray) ToAccessLevelsAccessLevelArrayOutput() AccessLevelsAccessLevelArrayOutput

func (AccessLevelsAccessLevelArray) ToAccessLevelsAccessLevelArrayOutputWithContext

func (i AccessLevelsAccessLevelArray) ToAccessLevelsAccessLevelArrayOutputWithContext(ctx context.Context) AccessLevelsAccessLevelArrayOutput

type AccessLevelsAccessLevelArrayInput

type AccessLevelsAccessLevelArrayInput interface {
	pulumi.Input

	ToAccessLevelsAccessLevelArrayOutput() AccessLevelsAccessLevelArrayOutput
	ToAccessLevelsAccessLevelArrayOutputWithContext(context.Context) AccessLevelsAccessLevelArrayOutput
}

AccessLevelsAccessLevelArrayInput is an input type that accepts AccessLevelsAccessLevelArray and AccessLevelsAccessLevelArrayOutput values. You can construct a concrete instance of `AccessLevelsAccessLevelArrayInput` via:

AccessLevelsAccessLevelArray{ AccessLevelsAccessLevelArgs{...} }

type AccessLevelsAccessLevelArrayOutput

type AccessLevelsAccessLevelArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelArrayOutput) ElementType

func (AccessLevelsAccessLevelArrayOutput) Index

func (AccessLevelsAccessLevelArrayOutput) ToAccessLevelsAccessLevelArrayOutput

func (o AccessLevelsAccessLevelArrayOutput) ToAccessLevelsAccessLevelArrayOutput() AccessLevelsAccessLevelArrayOutput

func (AccessLevelsAccessLevelArrayOutput) ToAccessLevelsAccessLevelArrayOutputWithContext

func (o AccessLevelsAccessLevelArrayOutput) ToAccessLevelsAccessLevelArrayOutputWithContext(ctx context.Context) AccessLevelsAccessLevelArrayOutput

type AccessLevelsAccessLevelBasic

type AccessLevelsAccessLevelBasic struct {
	// How the conditions list should be combined to determine if a request
	// is granted this AccessLevel. If AND is used, each Condition in
	// conditions must be satisfied for the AccessLevel to be applied. If
	// OR is used, at least one Condition in conditions must be satisfied
	// for the AccessLevel to be applied.
	// Default value is `AND`.
	// Possible values are `AND` and `OR`.
	CombiningFunction *string `pulumi:"combiningFunction"`
	// A set of requirements for the AccessLevel to be granted.
	// Structure is documented below.
	Conditions []AccessLevelsAccessLevelBasicCondition `pulumi:"conditions"`
}

type AccessLevelsAccessLevelBasicArgs

type AccessLevelsAccessLevelBasicArgs struct {
	// How the conditions list should be combined to determine if a request
	// is granted this AccessLevel. If AND is used, each Condition in
	// conditions must be satisfied for the AccessLevel to be applied. If
	// OR is used, at least one Condition in conditions must be satisfied
	// for the AccessLevel to be applied.
	// Default value is `AND`.
	// Possible values are `AND` and `OR`.
	CombiningFunction pulumi.StringPtrInput `pulumi:"combiningFunction"`
	// A set of requirements for the AccessLevel to be granted.
	// Structure is documented below.
	Conditions AccessLevelsAccessLevelBasicConditionArrayInput `pulumi:"conditions"`
}

func (AccessLevelsAccessLevelBasicArgs) ElementType

func (AccessLevelsAccessLevelBasicArgs) ToAccessLevelsAccessLevelBasicOutput

func (i AccessLevelsAccessLevelBasicArgs) ToAccessLevelsAccessLevelBasicOutput() AccessLevelsAccessLevelBasicOutput

func (AccessLevelsAccessLevelBasicArgs) ToAccessLevelsAccessLevelBasicOutputWithContext

func (i AccessLevelsAccessLevelBasicArgs) ToAccessLevelsAccessLevelBasicOutputWithContext(ctx context.Context) AccessLevelsAccessLevelBasicOutput

func (AccessLevelsAccessLevelBasicArgs) ToAccessLevelsAccessLevelBasicPtrOutput

func (i AccessLevelsAccessLevelBasicArgs) ToAccessLevelsAccessLevelBasicPtrOutput() AccessLevelsAccessLevelBasicPtrOutput

func (AccessLevelsAccessLevelBasicArgs) ToAccessLevelsAccessLevelBasicPtrOutputWithContext

func (i AccessLevelsAccessLevelBasicArgs) ToAccessLevelsAccessLevelBasicPtrOutputWithContext(ctx context.Context) AccessLevelsAccessLevelBasicPtrOutput

type AccessLevelsAccessLevelBasicCondition

type AccessLevelsAccessLevelBasicCondition struct {
	// Device specific restrictions, all restrictions must hold for
	// the Condition to be true. If not specified, all devices are
	// allowed.
	// Structure is documented below.
	DevicePolicy *AccessLevelsAccessLevelBasicConditionDevicePolicy `pulumi:"devicePolicy"`
	// A list of CIDR block IP subnetwork specification. May be IPv4
	// or IPv6.
	// Note that for a CIDR IP address block, the specified IP address
	// portion must be properly truncated (i.e. all the host bits must
	// be zero) or the input is considered malformed. For example,
	// "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly,
	// for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32"
	// is not. The originating IP of a request must be in one of the
	// listed subnets in order for this Condition to be true.
	// If empty, all IP addresses are allowed.
	IpSubnetworks []string `pulumi:"ipSubnetworks"`
	// An allowed list of members (users, service accounts).
	// Using groups is not supported yet.
	// The signed-in user originating the request must be a part of one
	// of the provided members. If not specified, a request may come
	// from any user (logged in/not logged in, not present in any
	// groups, etc.).
	// Formats: `user:{emailid}`, `serviceAccount:{emailid}`
	Members []string `pulumi:"members"`
	// Whether to negate the Condition. If true, the Condition becomes
	// a NAND over its non-empty fields, each field must be false for
	// the Condition overall to be satisfied. Defaults to false.
	Negate *bool `pulumi:"negate"`
	// The request must originate from one of the provided
	// countries/regions.
	// Format: A valid ISO 3166-1 alpha-2 code.
	Regions []string `pulumi:"regions"`
	// A list of other access levels defined in the same Policy,
	// referenced by resource name. Referencing an AccessLevel which
	// does not exist is an error. All access levels listed must be
	// granted for the Condition to be true.
	// Format: accessPolicies/{policy_id}/accessLevels/{short_name}
	RequiredAccessLevels []string `pulumi:"requiredAccessLevels"`
}

type AccessLevelsAccessLevelBasicConditionArgs

type AccessLevelsAccessLevelBasicConditionArgs struct {
	// Device specific restrictions, all restrictions must hold for
	// the Condition to be true. If not specified, all devices are
	// allowed.
	// Structure is documented below.
	DevicePolicy AccessLevelsAccessLevelBasicConditionDevicePolicyPtrInput `pulumi:"devicePolicy"`
	// A list of CIDR block IP subnetwork specification. May be IPv4
	// or IPv6.
	// Note that for a CIDR IP address block, the specified IP address
	// portion must be properly truncated (i.e. all the host bits must
	// be zero) or the input is considered malformed. For example,
	// "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly,
	// for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32"
	// is not. The originating IP of a request must be in one of the
	// listed subnets in order for this Condition to be true.
	// If empty, all IP addresses are allowed.
	IpSubnetworks pulumi.StringArrayInput `pulumi:"ipSubnetworks"`
	// An allowed list of members (users, service accounts).
	// Using groups is not supported yet.
	// The signed-in user originating the request must be a part of one
	// of the provided members. If not specified, a request may come
	// from any user (logged in/not logged in, not present in any
	// groups, etc.).
	// Formats: `user:{emailid}`, `serviceAccount:{emailid}`
	Members pulumi.StringArrayInput `pulumi:"members"`
	// Whether to negate the Condition. If true, the Condition becomes
	// a NAND over its non-empty fields, each field must be false for
	// the Condition overall to be satisfied. Defaults to false.
	Negate pulumi.BoolPtrInput `pulumi:"negate"`
	// The request must originate from one of the provided
	// countries/regions.
	// Format: A valid ISO 3166-1 alpha-2 code.
	Regions pulumi.StringArrayInput `pulumi:"regions"`
	// A list of other access levels defined in the same Policy,
	// referenced by resource name. Referencing an AccessLevel which
	// does not exist is an error. All access levels listed must be
	// granted for the Condition to be true.
	// Format: accessPolicies/{policy_id}/accessLevels/{short_name}
	RequiredAccessLevels pulumi.StringArrayInput `pulumi:"requiredAccessLevels"`
}

func (AccessLevelsAccessLevelBasicConditionArgs) ElementType

func (AccessLevelsAccessLevelBasicConditionArgs) ToAccessLevelsAccessLevelBasicConditionOutput

func (i AccessLevelsAccessLevelBasicConditionArgs) ToAccessLevelsAccessLevelBasicConditionOutput() AccessLevelsAccessLevelBasicConditionOutput

func (AccessLevelsAccessLevelBasicConditionArgs) ToAccessLevelsAccessLevelBasicConditionOutputWithContext

func (i AccessLevelsAccessLevelBasicConditionArgs) ToAccessLevelsAccessLevelBasicConditionOutputWithContext(ctx context.Context) AccessLevelsAccessLevelBasicConditionOutput

type AccessLevelsAccessLevelBasicConditionArray

type AccessLevelsAccessLevelBasicConditionArray []AccessLevelsAccessLevelBasicConditionInput

func (AccessLevelsAccessLevelBasicConditionArray) ElementType

func (AccessLevelsAccessLevelBasicConditionArray) ToAccessLevelsAccessLevelBasicConditionArrayOutput

func (i AccessLevelsAccessLevelBasicConditionArray) ToAccessLevelsAccessLevelBasicConditionArrayOutput() AccessLevelsAccessLevelBasicConditionArrayOutput

func (AccessLevelsAccessLevelBasicConditionArray) ToAccessLevelsAccessLevelBasicConditionArrayOutputWithContext

func (i AccessLevelsAccessLevelBasicConditionArray) ToAccessLevelsAccessLevelBasicConditionArrayOutputWithContext(ctx context.Context) AccessLevelsAccessLevelBasicConditionArrayOutput

type AccessLevelsAccessLevelBasicConditionArrayInput

type AccessLevelsAccessLevelBasicConditionArrayInput interface {
	pulumi.Input

	ToAccessLevelsAccessLevelBasicConditionArrayOutput() AccessLevelsAccessLevelBasicConditionArrayOutput
	ToAccessLevelsAccessLevelBasicConditionArrayOutputWithContext(context.Context) AccessLevelsAccessLevelBasicConditionArrayOutput
}

AccessLevelsAccessLevelBasicConditionArrayInput is an input type that accepts AccessLevelsAccessLevelBasicConditionArray and AccessLevelsAccessLevelBasicConditionArrayOutput values. You can construct a concrete instance of `AccessLevelsAccessLevelBasicConditionArrayInput` via:

AccessLevelsAccessLevelBasicConditionArray{ AccessLevelsAccessLevelBasicConditionArgs{...} }

type AccessLevelsAccessLevelBasicConditionArrayOutput

type AccessLevelsAccessLevelBasicConditionArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelBasicConditionArrayOutput) ElementType

func (AccessLevelsAccessLevelBasicConditionArrayOutput) Index

func (AccessLevelsAccessLevelBasicConditionArrayOutput) ToAccessLevelsAccessLevelBasicConditionArrayOutput

func (o AccessLevelsAccessLevelBasicConditionArrayOutput) ToAccessLevelsAccessLevelBasicConditionArrayOutput() AccessLevelsAccessLevelBasicConditionArrayOutput

func (AccessLevelsAccessLevelBasicConditionArrayOutput) ToAccessLevelsAccessLevelBasicConditionArrayOutputWithContext

func (o AccessLevelsAccessLevelBasicConditionArrayOutput) ToAccessLevelsAccessLevelBasicConditionArrayOutputWithContext(ctx context.Context) AccessLevelsAccessLevelBasicConditionArrayOutput

type AccessLevelsAccessLevelBasicConditionDevicePolicy

type AccessLevelsAccessLevelBasicConditionDevicePolicy struct {
	// A list of allowed device management levels.
	// An empty list allows all management levels.
	// Each value may be one of `MANAGEMENT_UNSPECIFIED`, `NONE`, `BASIC`, and `COMPLETE`.
	AllowedDeviceManagementLevels []string `pulumi:"allowedDeviceManagementLevels"`
	// A list of allowed encryptions statuses.
	// An empty list allows all statuses.
	// Each value may be one of `ENCRYPTION_UNSPECIFIED`, `ENCRYPTION_UNSUPPORTED`, `UNENCRYPTED`, and `ENCRYPTED`.
	AllowedEncryptionStatuses []string `pulumi:"allowedEncryptionStatuses"`
	// A list of allowed OS versions.
	// An empty list allows all types and all versions.
	// Structure is documented below.
	OsConstraints []AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraint `pulumi:"osConstraints"`
	// Whether the device needs to be approved by the customer admin.
	RequireAdminApproval *bool `pulumi:"requireAdminApproval"`
	// Whether the device needs to be corp owned.
	RequireCorpOwned *bool `pulumi:"requireCorpOwned"`
	// Whether or not screenlock is required for the DevicePolicy
	// to be true. Defaults to false.
	RequireScreenLock *bool `pulumi:"requireScreenLock"`
}

type AccessLevelsAccessLevelBasicConditionDevicePolicyArgs

type AccessLevelsAccessLevelBasicConditionDevicePolicyArgs struct {
	// A list of allowed device management levels.
	// An empty list allows all management levels.
	// Each value may be one of `MANAGEMENT_UNSPECIFIED`, `NONE`, `BASIC`, and `COMPLETE`.
	AllowedDeviceManagementLevels pulumi.StringArrayInput `pulumi:"allowedDeviceManagementLevels"`
	// A list of allowed encryptions statuses.
	// An empty list allows all statuses.
	// Each value may be one of `ENCRYPTION_UNSPECIFIED`, `ENCRYPTION_UNSUPPORTED`, `UNENCRYPTED`, and `ENCRYPTED`.
	AllowedEncryptionStatuses pulumi.StringArrayInput `pulumi:"allowedEncryptionStatuses"`
	// A list of allowed OS versions.
	// An empty list allows all types and all versions.
	// Structure is documented below.
	OsConstraints AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayInput `pulumi:"osConstraints"`
	// Whether the device needs to be approved by the customer admin.
	RequireAdminApproval pulumi.BoolPtrInput `pulumi:"requireAdminApproval"`
	// Whether the device needs to be corp owned.
	RequireCorpOwned pulumi.BoolPtrInput `pulumi:"requireCorpOwned"`
	// Whether or not screenlock is required for the DevicePolicy
	// to be true. Defaults to false.
	RequireScreenLock pulumi.BoolPtrInput `pulumi:"requireScreenLock"`
}

func (AccessLevelsAccessLevelBasicConditionDevicePolicyArgs) ElementType

func (AccessLevelsAccessLevelBasicConditionDevicePolicyArgs) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOutput

func (i AccessLevelsAccessLevelBasicConditionDevicePolicyArgs) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOutput() AccessLevelsAccessLevelBasicConditionDevicePolicyOutput

func (AccessLevelsAccessLevelBasicConditionDevicePolicyArgs) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOutputWithContext

func (i AccessLevelsAccessLevelBasicConditionDevicePolicyArgs) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOutputWithContext(ctx context.Context) AccessLevelsAccessLevelBasicConditionDevicePolicyOutput

func (AccessLevelsAccessLevelBasicConditionDevicePolicyArgs) ToAccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutput

func (i AccessLevelsAccessLevelBasicConditionDevicePolicyArgs) ToAccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutput() AccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutput

func (AccessLevelsAccessLevelBasicConditionDevicePolicyArgs) ToAccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutputWithContext

func (i AccessLevelsAccessLevelBasicConditionDevicePolicyArgs) ToAccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutputWithContext(ctx context.Context) AccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutput

type AccessLevelsAccessLevelBasicConditionDevicePolicyInput

type AccessLevelsAccessLevelBasicConditionDevicePolicyInput interface {
	pulumi.Input

	ToAccessLevelsAccessLevelBasicConditionDevicePolicyOutput() AccessLevelsAccessLevelBasicConditionDevicePolicyOutput
	ToAccessLevelsAccessLevelBasicConditionDevicePolicyOutputWithContext(context.Context) AccessLevelsAccessLevelBasicConditionDevicePolicyOutput
}

AccessLevelsAccessLevelBasicConditionDevicePolicyInput is an input type that accepts AccessLevelsAccessLevelBasicConditionDevicePolicyArgs and AccessLevelsAccessLevelBasicConditionDevicePolicyOutput values. You can construct a concrete instance of `AccessLevelsAccessLevelBasicConditionDevicePolicyInput` via:

AccessLevelsAccessLevelBasicConditionDevicePolicyArgs{...}

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraint

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraint struct {
	// The minimum allowed OS version. If not set, any version
	// of this OS satisfies the constraint.
	// Format: "major.minor.patch" such as "10.5.301", "9.2.1".
	MinimumVersion *string `pulumi:"minimumVersion"`
	// The operating system type of the device.
	// Possible values are `OS_UNSPECIFIED`, `DESKTOP_MAC`, `DESKTOP_WINDOWS`, `DESKTOP_LINUX`, `DESKTOP_CHROME_OS`, `ANDROID`, and `IOS`.
	OsType string `pulumi:"osType"`
}

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArgs

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArgs struct {
	// The minimum allowed OS version. If not set, any version
	// of this OS satisfies the constraint.
	// Format: "major.minor.patch" such as "10.5.301", "9.2.1".
	MinimumVersion pulumi.StringPtrInput `pulumi:"minimumVersion"`
	// The operating system type of the device.
	// Possible values are `OS_UNSPECIFIED`, `DESKTOP_MAC`, `DESKTOP_WINDOWS`, `DESKTOP_LINUX`, `DESKTOP_CHROME_OS`, `ANDROID`, and `IOS`.
	OsType pulumi.StringInput `pulumi:"osType"`
}

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArgs) ElementType

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArgs) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArgs) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutputWithContext

func (i AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArgs) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutputWithContext(ctx context.Context) AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArray

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArray []AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintInput

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArray) ElementType

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArray) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArray) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutputWithContext

func (i AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArray) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutputWithContext(ctx context.Context) AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayInput

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayInput interface {
	pulumi.Input

	ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput() AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput
	ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutputWithContext(context.Context) AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput
}

AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayInput is an input type that accepts AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArray and AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput values. You can construct a concrete instance of `AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayInput` via:

AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArray{ AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArgs{...} }

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput) ElementType

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutputWithContext

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintInput

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintInput interface {
	pulumi.Input

	ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput() AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput
	ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutputWithContext(context.Context) AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput
}

AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintInput is an input type that accepts AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArgs and AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput values. You can construct a concrete instance of `AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintInput` via:

AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArgs{...}

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput) ElementType

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput) MinimumVersion

The minimum allowed OS version. If not set, any version of this OS satisfies the constraint. Format: "major.minor.patch" such as "10.5.301", "9.2.1".

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput) OsType

The operating system type of the device. Possible values are `OS_UNSPECIFIED`, `DESKTOP_MAC`, `DESKTOP_WINDOWS`, `DESKTOP_LINUX`, `DESKTOP_CHROME_OS`, `ANDROID`, and `IOS`.

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutputWithContext

func (o AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutputWithContext(ctx context.Context) AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput

type AccessLevelsAccessLevelBasicConditionDevicePolicyOutput

type AccessLevelsAccessLevelBasicConditionDevicePolicyOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOutput) AllowedDeviceManagementLevels

A list of allowed device management levels. An empty list allows all management levels. Each value may be one of `MANAGEMENT_UNSPECIFIED`, `NONE`, `BASIC`, and `COMPLETE`.

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOutput) AllowedEncryptionStatuses

A list of allowed encryptions statuses. An empty list allows all statuses. Each value may be one of `ENCRYPTION_UNSPECIFIED`, `ENCRYPTION_UNSUPPORTED`, `UNENCRYPTED`, and `ENCRYPTED`.

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOutput) ElementType

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOutput) OsConstraints

A list of allowed OS versions. An empty list allows all types and all versions. Structure is documented below.

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOutput) RequireAdminApproval

Whether the device needs to be approved by the customer admin.

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOutput) RequireCorpOwned

Whether the device needs to be corp owned.

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOutput) RequireScreenLock

Whether or not screenlock is required for the DevicePolicy to be true. Defaults to false.

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOutput) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOutput

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOutput) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOutputWithContext

func (o AccessLevelsAccessLevelBasicConditionDevicePolicyOutput) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOutputWithContext(ctx context.Context) AccessLevelsAccessLevelBasicConditionDevicePolicyOutput

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOutput) ToAccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutput

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOutput) ToAccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutputWithContext

func (o AccessLevelsAccessLevelBasicConditionDevicePolicyOutput) ToAccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutputWithContext(ctx context.Context) AccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutput

type AccessLevelsAccessLevelBasicConditionDevicePolicyPtrInput

type AccessLevelsAccessLevelBasicConditionDevicePolicyPtrInput interface {
	pulumi.Input

	ToAccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutput() AccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutput
	ToAccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutputWithContext(context.Context) AccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutput
}

AccessLevelsAccessLevelBasicConditionDevicePolicyPtrInput is an input type that accepts AccessLevelsAccessLevelBasicConditionDevicePolicyArgs, AccessLevelsAccessLevelBasicConditionDevicePolicyPtr and AccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutput values. You can construct a concrete instance of `AccessLevelsAccessLevelBasicConditionDevicePolicyPtrInput` via:

        AccessLevelsAccessLevelBasicConditionDevicePolicyArgs{...}

or:

        nil

type AccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutput

type AccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutput) AllowedDeviceManagementLevels

A list of allowed device management levels. An empty list allows all management levels. Each value may be one of `MANAGEMENT_UNSPECIFIED`, `NONE`, `BASIC`, and `COMPLETE`.

func (AccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutput) AllowedEncryptionStatuses

A list of allowed encryptions statuses. An empty list allows all statuses. Each value may be one of `ENCRYPTION_UNSPECIFIED`, `ENCRYPTION_UNSUPPORTED`, `UNENCRYPTED`, and `ENCRYPTED`.

func (AccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutput) Elem

func (AccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutput) ElementType

func (AccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutput) OsConstraints

A list of allowed OS versions. An empty list allows all types and all versions. Structure is documented below.

func (AccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutput) RequireAdminApproval

Whether the device needs to be approved by the customer admin.

func (AccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutput) RequireCorpOwned

Whether the device needs to be corp owned.

func (AccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutput) RequireScreenLock

Whether or not screenlock is required for the DevicePolicy to be true. Defaults to false.

func (AccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutput) ToAccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutput

func (AccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutput) ToAccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutputWithContext

func (o AccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutput) ToAccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutputWithContext(ctx context.Context) AccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutput

type AccessLevelsAccessLevelBasicConditionInput

type AccessLevelsAccessLevelBasicConditionInput interface {
	pulumi.Input

	ToAccessLevelsAccessLevelBasicConditionOutput() AccessLevelsAccessLevelBasicConditionOutput
	ToAccessLevelsAccessLevelBasicConditionOutputWithContext(context.Context) AccessLevelsAccessLevelBasicConditionOutput
}

AccessLevelsAccessLevelBasicConditionInput is an input type that accepts AccessLevelsAccessLevelBasicConditionArgs and AccessLevelsAccessLevelBasicConditionOutput values. You can construct a concrete instance of `AccessLevelsAccessLevelBasicConditionInput` via:

AccessLevelsAccessLevelBasicConditionArgs{...}

type AccessLevelsAccessLevelBasicConditionOutput

type AccessLevelsAccessLevelBasicConditionOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelBasicConditionOutput) DevicePolicy

Device specific restrictions, all restrictions must hold for the Condition to be true. If not specified, all devices are allowed. Structure is documented below.

func (AccessLevelsAccessLevelBasicConditionOutput) ElementType

func (AccessLevelsAccessLevelBasicConditionOutput) IpSubnetworks

A list of CIDR block IP subnetwork specification. May be IPv4 or IPv6. Note that for a CIDR IP address block, the specified IP address portion must be properly truncated (i.e. all the host bits must be zero) or the input is considered malformed. For example, "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly, for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32" is not. The originating IP of a request must be in one of the listed subnets in order for this Condition to be true. If empty, all IP addresses are allowed.

func (AccessLevelsAccessLevelBasicConditionOutput) Members

An allowed list of members (users, service accounts). Using groups is not supported yet. The signed-in user originating the request must be a part of one of the provided members. If not specified, a request may come from any user (logged in/not logged in, not present in any groups, etc.). Formats: `user:{emailid}`, `serviceAccount:{emailid}`

func (AccessLevelsAccessLevelBasicConditionOutput) Negate

Whether to negate the Condition. If true, the Condition becomes a NAND over its non-empty fields, each field must be false for the Condition overall to be satisfied. Defaults to false.

func (AccessLevelsAccessLevelBasicConditionOutput) Regions

The request must originate from one of the provided countries/regions. Format: A valid ISO 3166-1 alpha-2 code.

func (AccessLevelsAccessLevelBasicConditionOutput) RequiredAccessLevels

A list of other access levels defined in the same Policy, referenced by resource name. Referencing an AccessLevel which does not exist is an error. All access levels listed must be granted for the Condition to be true. Format: accessPolicies/{policy_id}/accessLevels/{short_name}

func (AccessLevelsAccessLevelBasicConditionOutput) ToAccessLevelsAccessLevelBasicConditionOutput

func (o AccessLevelsAccessLevelBasicConditionOutput) ToAccessLevelsAccessLevelBasicConditionOutput() AccessLevelsAccessLevelBasicConditionOutput

func (AccessLevelsAccessLevelBasicConditionOutput) ToAccessLevelsAccessLevelBasicConditionOutputWithContext

func (o AccessLevelsAccessLevelBasicConditionOutput) ToAccessLevelsAccessLevelBasicConditionOutputWithContext(ctx context.Context) AccessLevelsAccessLevelBasicConditionOutput

type AccessLevelsAccessLevelBasicInput

type AccessLevelsAccessLevelBasicInput interface {
	pulumi.Input

	ToAccessLevelsAccessLevelBasicOutput() AccessLevelsAccessLevelBasicOutput
	ToAccessLevelsAccessLevelBasicOutputWithContext(context.Context) AccessLevelsAccessLevelBasicOutput
}

AccessLevelsAccessLevelBasicInput is an input type that accepts AccessLevelsAccessLevelBasicArgs and AccessLevelsAccessLevelBasicOutput values. You can construct a concrete instance of `AccessLevelsAccessLevelBasicInput` via:

AccessLevelsAccessLevelBasicArgs{...}

type AccessLevelsAccessLevelBasicOutput

type AccessLevelsAccessLevelBasicOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelBasicOutput) CombiningFunction

How the conditions list should be combined to determine if a request is granted this AccessLevel. If AND is used, each Condition in conditions must be satisfied for the AccessLevel to be applied. If OR is used, at least one Condition in conditions must be satisfied for the AccessLevel to be applied. Default value is `AND`. Possible values are `AND` and `OR`.

func (AccessLevelsAccessLevelBasicOutput) Conditions

A set of requirements for the AccessLevel to be granted. Structure is documented below.

func (AccessLevelsAccessLevelBasicOutput) ElementType

func (AccessLevelsAccessLevelBasicOutput) ToAccessLevelsAccessLevelBasicOutput

func (o AccessLevelsAccessLevelBasicOutput) ToAccessLevelsAccessLevelBasicOutput() AccessLevelsAccessLevelBasicOutput

func (AccessLevelsAccessLevelBasicOutput) ToAccessLevelsAccessLevelBasicOutputWithContext

func (o AccessLevelsAccessLevelBasicOutput) ToAccessLevelsAccessLevelBasicOutputWithContext(ctx context.Context) AccessLevelsAccessLevelBasicOutput

func (AccessLevelsAccessLevelBasicOutput) ToAccessLevelsAccessLevelBasicPtrOutput

func (o AccessLevelsAccessLevelBasicOutput) ToAccessLevelsAccessLevelBasicPtrOutput() AccessLevelsAccessLevelBasicPtrOutput

func (AccessLevelsAccessLevelBasicOutput) ToAccessLevelsAccessLevelBasicPtrOutputWithContext

func (o AccessLevelsAccessLevelBasicOutput) ToAccessLevelsAccessLevelBasicPtrOutputWithContext(ctx context.Context) AccessLevelsAccessLevelBasicPtrOutput

type AccessLevelsAccessLevelBasicPtrInput

type AccessLevelsAccessLevelBasicPtrInput interface {
	pulumi.Input

	ToAccessLevelsAccessLevelBasicPtrOutput() AccessLevelsAccessLevelBasicPtrOutput
	ToAccessLevelsAccessLevelBasicPtrOutputWithContext(context.Context) AccessLevelsAccessLevelBasicPtrOutput
}

AccessLevelsAccessLevelBasicPtrInput is an input type that accepts AccessLevelsAccessLevelBasicArgs, AccessLevelsAccessLevelBasicPtr and AccessLevelsAccessLevelBasicPtrOutput values. You can construct a concrete instance of `AccessLevelsAccessLevelBasicPtrInput` via:

        AccessLevelsAccessLevelBasicArgs{...}

or:

        nil

type AccessLevelsAccessLevelBasicPtrOutput

type AccessLevelsAccessLevelBasicPtrOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelBasicPtrOutput) CombiningFunction

How the conditions list should be combined to determine if a request is granted this AccessLevel. If AND is used, each Condition in conditions must be satisfied for the AccessLevel to be applied. If OR is used, at least one Condition in conditions must be satisfied for the AccessLevel to be applied. Default value is `AND`. Possible values are `AND` and `OR`.

func (AccessLevelsAccessLevelBasicPtrOutput) Conditions

A set of requirements for the AccessLevel to be granted. Structure is documented below.

func (AccessLevelsAccessLevelBasicPtrOutput) Elem

func (AccessLevelsAccessLevelBasicPtrOutput) ElementType

func (AccessLevelsAccessLevelBasicPtrOutput) ToAccessLevelsAccessLevelBasicPtrOutput

func (o AccessLevelsAccessLevelBasicPtrOutput) ToAccessLevelsAccessLevelBasicPtrOutput() AccessLevelsAccessLevelBasicPtrOutput

func (AccessLevelsAccessLevelBasicPtrOutput) ToAccessLevelsAccessLevelBasicPtrOutputWithContext

func (o AccessLevelsAccessLevelBasicPtrOutput) ToAccessLevelsAccessLevelBasicPtrOutputWithContext(ctx context.Context) AccessLevelsAccessLevelBasicPtrOutput

type AccessLevelsAccessLevelCustom

type AccessLevelsAccessLevelCustom struct {
	// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language.
	// This page details the objects and attributes that are used to the build the CEL expressions for
	// custom access levels - https://cloud.google.com/access-context-manager/docs/custom-access-level-spec.
	// Structure is documented below.
	Expr AccessLevelsAccessLevelCustomExpr `pulumi:"expr"`
}

type AccessLevelsAccessLevelCustomArgs

type AccessLevelsAccessLevelCustomArgs struct {
	// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language.
	// This page details the objects and attributes that are used to the build the CEL expressions for
	// custom access levels - https://cloud.google.com/access-context-manager/docs/custom-access-level-spec.
	// Structure is documented below.
	Expr AccessLevelsAccessLevelCustomExprInput `pulumi:"expr"`
}

func (AccessLevelsAccessLevelCustomArgs) ElementType

func (AccessLevelsAccessLevelCustomArgs) ToAccessLevelsAccessLevelCustomOutput

func (i AccessLevelsAccessLevelCustomArgs) ToAccessLevelsAccessLevelCustomOutput() AccessLevelsAccessLevelCustomOutput

func (AccessLevelsAccessLevelCustomArgs) ToAccessLevelsAccessLevelCustomOutputWithContext

func (i AccessLevelsAccessLevelCustomArgs) ToAccessLevelsAccessLevelCustomOutputWithContext(ctx context.Context) AccessLevelsAccessLevelCustomOutput

func (AccessLevelsAccessLevelCustomArgs) ToAccessLevelsAccessLevelCustomPtrOutput

func (i AccessLevelsAccessLevelCustomArgs) ToAccessLevelsAccessLevelCustomPtrOutput() AccessLevelsAccessLevelCustomPtrOutput

func (AccessLevelsAccessLevelCustomArgs) ToAccessLevelsAccessLevelCustomPtrOutputWithContext

func (i AccessLevelsAccessLevelCustomArgs) ToAccessLevelsAccessLevelCustomPtrOutputWithContext(ctx context.Context) AccessLevelsAccessLevelCustomPtrOutput

type AccessLevelsAccessLevelCustomExpr

type AccessLevelsAccessLevelCustomExpr struct {
	// Description of the expression
	Description *string `pulumi:"description"`
	// Textual representation of an expression in Common Expression Language syntax.
	Expression string `pulumi:"expression"`
	// String indicating the location of the expression for error reporting, e.g. a file name and a position in the file
	Location *string `pulumi:"location"`
	// Title for the expression, i.e. a short string describing its purpose.
	Title *string `pulumi:"title"`
}

type AccessLevelsAccessLevelCustomExprArgs

type AccessLevelsAccessLevelCustomExprArgs struct {
	// Description of the expression
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Textual representation of an expression in Common Expression Language syntax.
	Expression pulumi.StringInput `pulumi:"expression"`
	// String indicating the location of the expression for error reporting, e.g. a file name and a position in the file
	Location pulumi.StringPtrInput `pulumi:"location"`
	// Title for the expression, i.e. a short string describing its purpose.
	Title pulumi.StringPtrInput `pulumi:"title"`
}

func (AccessLevelsAccessLevelCustomExprArgs) ElementType

func (AccessLevelsAccessLevelCustomExprArgs) ToAccessLevelsAccessLevelCustomExprOutput

func (i AccessLevelsAccessLevelCustomExprArgs) ToAccessLevelsAccessLevelCustomExprOutput() AccessLevelsAccessLevelCustomExprOutput

func (AccessLevelsAccessLevelCustomExprArgs) ToAccessLevelsAccessLevelCustomExprOutputWithContext

func (i AccessLevelsAccessLevelCustomExprArgs) ToAccessLevelsAccessLevelCustomExprOutputWithContext(ctx context.Context) AccessLevelsAccessLevelCustomExprOutput

func (AccessLevelsAccessLevelCustomExprArgs) ToAccessLevelsAccessLevelCustomExprPtrOutput

func (i AccessLevelsAccessLevelCustomExprArgs) ToAccessLevelsAccessLevelCustomExprPtrOutput() AccessLevelsAccessLevelCustomExprPtrOutput

func (AccessLevelsAccessLevelCustomExprArgs) ToAccessLevelsAccessLevelCustomExprPtrOutputWithContext

func (i AccessLevelsAccessLevelCustomExprArgs) ToAccessLevelsAccessLevelCustomExprPtrOutputWithContext(ctx context.Context) AccessLevelsAccessLevelCustomExprPtrOutput

type AccessLevelsAccessLevelCustomExprInput

type AccessLevelsAccessLevelCustomExprInput interface {
	pulumi.Input

	ToAccessLevelsAccessLevelCustomExprOutput() AccessLevelsAccessLevelCustomExprOutput
	ToAccessLevelsAccessLevelCustomExprOutputWithContext(context.Context) AccessLevelsAccessLevelCustomExprOutput
}

AccessLevelsAccessLevelCustomExprInput is an input type that accepts AccessLevelsAccessLevelCustomExprArgs and AccessLevelsAccessLevelCustomExprOutput values. You can construct a concrete instance of `AccessLevelsAccessLevelCustomExprInput` via:

AccessLevelsAccessLevelCustomExprArgs{...}

type AccessLevelsAccessLevelCustomExprOutput

type AccessLevelsAccessLevelCustomExprOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelCustomExprOutput) Description

Description of the expression

func (AccessLevelsAccessLevelCustomExprOutput) ElementType

func (AccessLevelsAccessLevelCustomExprOutput) Expression

Textual representation of an expression in Common Expression Language syntax.

func (AccessLevelsAccessLevelCustomExprOutput) Location

String indicating the location of the expression for error reporting, e.g. a file name and a position in the file

func (AccessLevelsAccessLevelCustomExprOutput) Title

Title for the expression, i.e. a short string describing its purpose.

func (AccessLevelsAccessLevelCustomExprOutput) ToAccessLevelsAccessLevelCustomExprOutput

func (o AccessLevelsAccessLevelCustomExprOutput) ToAccessLevelsAccessLevelCustomExprOutput() AccessLevelsAccessLevelCustomExprOutput

func (AccessLevelsAccessLevelCustomExprOutput) ToAccessLevelsAccessLevelCustomExprOutputWithContext

func (o AccessLevelsAccessLevelCustomExprOutput) ToAccessLevelsAccessLevelCustomExprOutputWithContext(ctx context.Context) AccessLevelsAccessLevelCustomExprOutput

func (AccessLevelsAccessLevelCustomExprOutput) ToAccessLevelsAccessLevelCustomExprPtrOutput

func (o AccessLevelsAccessLevelCustomExprOutput) ToAccessLevelsAccessLevelCustomExprPtrOutput() AccessLevelsAccessLevelCustomExprPtrOutput

func (AccessLevelsAccessLevelCustomExprOutput) ToAccessLevelsAccessLevelCustomExprPtrOutputWithContext

func (o AccessLevelsAccessLevelCustomExprOutput) ToAccessLevelsAccessLevelCustomExprPtrOutputWithContext(ctx context.Context) AccessLevelsAccessLevelCustomExprPtrOutput

type AccessLevelsAccessLevelCustomExprPtrInput

type AccessLevelsAccessLevelCustomExprPtrInput interface {
	pulumi.Input

	ToAccessLevelsAccessLevelCustomExprPtrOutput() AccessLevelsAccessLevelCustomExprPtrOutput
	ToAccessLevelsAccessLevelCustomExprPtrOutputWithContext(context.Context) AccessLevelsAccessLevelCustomExprPtrOutput
}

AccessLevelsAccessLevelCustomExprPtrInput is an input type that accepts AccessLevelsAccessLevelCustomExprArgs, AccessLevelsAccessLevelCustomExprPtr and AccessLevelsAccessLevelCustomExprPtrOutput values. You can construct a concrete instance of `AccessLevelsAccessLevelCustomExprPtrInput` via:

        AccessLevelsAccessLevelCustomExprArgs{...}

or:

        nil

type AccessLevelsAccessLevelCustomExprPtrOutput

type AccessLevelsAccessLevelCustomExprPtrOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelCustomExprPtrOutput) Description

Description of the expression

func (AccessLevelsAccessLevelCustomExprPtrOutput) Elem

func (AccessLevelsAccessLevelCustomExprPtrOutput) ElementType

func (AccessLevelsAccessLevelCustomExprPtrOutput) Expression

Textual representation of an expression in Common Expression Language syntax.

func (AccessLevelsAccessLevelCustomExprPtrOutput) Location

String indicating the location of the expression for error reporting, e.g. a file name and a position in the file

func (AccessLevelsAccessLevelCustomExprPtrOutput) Title

Title for the expression, i.e. a short string describing its purpose.

func (AccessLevelsAccessLevelCustomExprPtrOutput) ToAccessLevelsAccessLevelCustomExprPtrOutput

func (o AccessLevelsAccessLevelCustomExprPtrOutput) ToAccessLevelsAccessLevelCustomExprPtrOutput() AccessLevelsAccessLevelCustomExprPtrOutput

func (AccessLevelsAccessLevelCustomExprPtrOutput) ToAccessLevelsAccessLevelCustomExprPtrOutputWithContext

func (o AccessLevelsAccessLevelCustomExprPtrOutput) ToAccessLevelsAccessLevelCustomExprPtrOutputWithContext(ctx context.Context) AccessLevelsAccessLevelCustomExprPtrOutput

type AccessLevelsAccessLevelCustomInput

type AccessLevelsAccessLevelCustomInput interface {
	pulumi.Input

	ToAccessLevelsAccessLevelCustomOutput() AccessLevelsAccessLevelCustomOutput
	ToAccessLevelsAccessLevelCustomOutputWithContext(context.Context) AccessLevelsAccessLevelCustomOutput
}

AccessLevelsAccessLevelCustomInput is an input type that accepts AccessLevelsAccessLevelCustomArgs and AccessLevelsAccessLevelCustomOutput values. You can construct a concrete instance of `AccessLevelsAccessLevelCustomInput` via:

AccessLevelsAccessLevelCustomArgs{...}

type AccessLevelsAccessLevelCustomOutput

type AccessLevelsAccessLevelCustomOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelCustomOutput) ElementType

func (AccessLevelsAccessLevelCustomOutput) Expr

Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. This page details the objects and attributes that are used to the build the CEL expressions for custom access levels - https://cloud.google.com/access-context-manager/docs/custom-access-level-spec. Structure is documented below.

func (AccessLevelsAccessLevelCustomOutput) ToAccessLevelsAccessLevelCustomOutput

func (o AccessLevelsAccessLevelCustomOutput) ToAccessLevelsAccessLevelCustomOutput() AccessLevelsAccessLevelCustomOutput

func (AccessLevelsAccessLevelCustomOutput) ToAccessLevelsAccessLevelCustomOutputWithContext

func (o AccessLevelsAccessLevelCustomOutput) ToAccessLevelsAccessLevelCustomOutputWithContext(ctx context.Context) AccessLevelsAccessLevelCustomOutput

func (AccessLevelsAccessLevelCustomOutput) ToAccessLevelsAccessLevelCustomPtrOutput

func (o AccessLevelsAccessLevelCustomOutput) ToAccessLevelsAccessLevelCustomPtrOutput() AccessLevelsAccessLevelCustomPtrOutput

func (AccessLevelsAccessLevelCustomOutput) ToAccessLevelsAccessLevelCustomPtrOutputWithContext

func (o AccessLevelsAccessLevelCustomOutput) ToAccessLevelsAccessLevelCustomPtrOutputWithContext(ctx context.Context) AccessLevelsAccessLevelCustomPtrOutput

type AccessLevelsAccessLevelCustomPtrInput

type AccessLevelsAccessLevelCustomPtrInput interface {
	pulumi.Input

	ToAccessLevelsAccessLevelCustomPtrOutput() AccessLevelsAccessLevelCustomPtrOutput
	ToAccessLevelsAccessLevelCustomPtrOutputWithContext(context.Context) AccessLevelsAccessLevelCustomPtrOutput
}

AccessLevelsAccessLevelCustomPtrInput is an input type that accepts AccessLevelsAccessLevelCustomArgs, AccessLevelsAccessLevelCustomPtr and AccessLevelsAccessLevelCustomPtrOutput values. You can construct a concrete instance of `AccessLevelsAccessLevelCustomPtrInput` via:

        AccessLevelsAccessLevelCustomArgs{...}

or:

        nil

type AccessLevelsAccessLevelCustomPtrOutput

type AccessLevelsAccessLevelCustomPtrOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelCustomPtrOutput) Elem

func (AccessLevelsAccessLevelCustomPtrOutput) ElementType

func (AccessLevelsAccessLevelCustomPtrOutput) Expr

Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. This page details the objects and attributes that are used to the build the CEL expressions for custom access levels - https://cloud.google.com/access-context-manager/docs/custom-access-level-spec. Structure is documented below.

func (AccessLevelsAccessLevelCustomPtrOutput) ToAccessLevelsAccessLevelCustomPtrOutput

func (o AccessLevelsAccessLevelCustomPtrOutput) ToAccessLevelsAccessLevelCustomPtrOutput() AccessLevelsAccessLevelCustomPtrOutput

func (AccessLevelsAccessLevelCustomPtrOutput) ToAccessLevelsAccessLevelCustomPtrOutputWithContext

func (o AccessLevelsAccessLevelCustomPtrOutput) ToAccessLevelsAccessLevelCustomPtrOutputWithContext(ctx context.Context) AccessLevelsAccessLevelCustomPtrOutput

type AccessLevelsAccessLevelInput

type AccessLevelsAccessLevelInput interface {
	pulumi.Input

	ToAccessLevelsAccessLevelOutput() AccessLevelsAccessLevelOutput
	ToAccessLevelsAccessLevelOutputWithContext(context.Context) AccessLevelsAccessLevelOutput
}

AccessLevelsAccessLevelInput is an input type that accepts AccessLevelsAccessLevelArgs and AccessLevelsAccessLevelOutput values. You can construct a concrete instance of `AccessLevelsAccessLevelInput` via:

AccessLevelsAccessLevelArgs{...}

type AccessLevelsAccessLevelOutput

type AccessLevelsAccessLevelOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelOutput) Basic

A set of predefined conditions for the access level and a combining function. Structure is documented below.

func (AccessLevelsAccessLevelOutput) Custom

Custom access level conditions are set using the Cloud Common Expression Language to represent the necessary conditions for the level to apply to a request. See CEL spec at: https://github.com/google/cel-spec. Structure is documented below.

func (AccessLevelsAccessLevelOutput) Description

Description of the expression

func (AccessLevelsAccessLevelOutput) ElementType

func (AccessLevelsAccessLevelOutput) Name

Resource name for the Access Level. The shortName component must begin with a letter and only include alphanumeric and '_'. Format: accessPolicies/{policy_id}/accessLevels/{short_name}

func (AccessLevelsAccessLevelOutput) Title

Title for the expression, i.e. a short string describing its purpose.

func (AccessLevelsAccessLevelOutput) ToAccessLevelsAccessLevelOutput

func (o AccessLevelsAccessLevelOutput) ToAccessLevelsAccessLevelOutput() AccessLevelsAccessLevelOutput

func (AccessLevelsAccessLevelOutput) ToAccessLevelsAccessLevelOutputWithContext

func (o AccessLevelsAccessLevelOutput) ToAccessLevelsAccessLevelOutputWithContext(ctx context.Context) AccessLevelsAccessLevelOutput

type AccessLevelsArgs

type AccessLevelsArgs struct {
	// The desired Access Levels that should replace all existing Access Levels in the Access Policy.
	// Structure is documented below.
	AccessLevels AccessLevelsAccessLevelArrayInput
	// The AccessPolicy this AccessLevel lives in.
	// Format: accessPolicies/{policy_id}
	Parent pulumi.StringInput
}

The set of arguments for constructing a AccessLevels resource.

func (AccessLevelsArgs) ElementType

func (AccessLevelsArgs) ElementType() reflect.Type

type AccessLevelsArray

type AccessLevelsArray []AccessLevelsInput

func (AccessLevelsArray) ElementType

func (AccessLevelsArray) ElementType() reflect.Type

func (AccessLevelsArray) ToAccessLevelsArrayOutput

func (i AccessLevelsArray) ToAccessLevelsArrayOutput() AccessLevelsArrayOutput

func (AccessLevelsArray) ToAccessLevelsArrayOutputWithContext

func (i AccessLevelsArray) ToAccessLevelsArrayOutputWithContext(ctx context.Context) AccessLevelsArrayOutput

type AccessLevelsArrayInput

type AccessLevelsArrayInput interface {
	pulumi.Input

	ToAccessLevelsArrayOutput() AccessLevelsArrayOutput
	ToAccessLevelsArrayOutputWithContext(context.Context) AccessLevelsArrayOutput
}

AccessLevelsArrayInput is an input type that accepts AccessLevelsArray and AccessLevelsArrayOutput values. You can construct a concrete instance of `AccessLevelsArrayInput` via:

AccessLevelsArray{ AccessLevelsArgs{...} }

type AccessLevelsArrayOutput

type AccessLevelsArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelsArrayOutput) ElementType

func (AccessLevelsArrayOutput) ElementType() reflect.Type

func (AccessLevelsArrayOutput) Index

func (AccessLevelsArrayOutput) ToAccessLevelsArrayOutput

func (o AccessLevelsArrayOutput) ToAccessLevelsArrayOutput() AccessLevelsArrayOutput

func (AccessLevelsArrayOutput) ToAccessLevelsArrayOutputWithContext

func (o AccessLevelsArrayOutput) ToAccessLevelsArrayOutputWithContext(ctx context.Context) AccessLevelsArrayOutput

type AccessLevelsInput

type AccessLevelsInput interface {
	pulumi.Input

	ToAccessLevelsOutput() AccessLevelsOutput
	ToAccessLevelsOutputWithContext(ctx context.Context) AccessLevelsOutput
}

type AccessLevelsMap

type AccessLevelsMap map[string]AccessLevelsInput

func (AccessLevelsMap) ElementType

func (AccessLevelsMap) ElementType() reflect.Type

func (AccessLevelsMap) ToAccessLevelsMapOutput

func (i AccessLevelsMap) ToAccessLevelsMapOutput() AccessLevelsMapOutput

func (AccessLevelsMap) ToAccessLevelsMapOutputWithContext

func (i AccessLevelsMap) ToAccessLevelsMapOutputWithContext(ctx context.Context) AccessLevelsMapOutput

type AccessLevelsMapInput

type AccessLevelsMapInput interface {
	pulumi.Input

	ToAccessLevelsMapOutput() AccessLevelsMapOutput
	ToAccessLevelsMapOutputWithContext(context.Context) AccessLevelsMapOutput
}

AccessLevelsMapInput is an input type that accepts AccessLevelsMap and AccessLevelsMapOutput values. You can construct a concrete instance of `AccessLevelsMapInput` via:

AccessLevelsMap{ "key": AccessLevelsArgs{...} }

type AccessLevelsMapOutput

type AccessLevelsMapOutput struct{ *pulumi.OutputState }

func (AccessLevelsMapOutput) ElementType

func (AccessLevelsMapOutput) ElementType() reflect.Type

func (AccessLevelsMapOutput) MapIndex

func (AccessLevelsMapOutput) ToAccessLevelsMapOutput

func (o AccessLevelsMapOutput) ToAccessLevelsMapOutput() AccessLevelsMapOutput

func (AccessLevelsMapOutput) ToAccessLevelsMapOutputWithContext

func (o AccessLevelsMapOutput) ToAccessLevelsMapOutputWithContext(ctx context.Context) AccessLevelsMapOutput

type AccessLevelsOutput

type AccessLevelsOutput struct{ *pulumi.OutputState }

func (AccessLevelsOutput) ElementType

func (AccessLevelsOutput) ElementType() reflect.Type

func (AccessLevelsOutput) ToAccessLevelsOutput

func (o AccessLevelsOutput) ToAccessLevelsOutput() AccessLevelsOutput

func (AccessLevelsOutput) ToAccessLevelsOutputWithContext

func (o AccessLevelsOutput) ToAccessLevelsOutputWithContext(ctx context.Context) AccessLevelsOutput

func (AccessLevelsOutput) ToAccessLevelsPtrOutput

func (o AccessLevelsOutput) ToAccessLevelsPtrOutput() AccessLevelsPtrOutput

func (AccessLevelsOutput) ToAccessLevelsPtrOutputWithContext

func (o AccessLevelsOutput) ToAccessLevelsPtrOutputWithContext(ctx context.Context) AccessLevelsPtrOutput

type AccessLevelsPtrInput

type AccessLevelsPtrInput interface {
	pulumi.Input

	ToAccessLevelsPtrOutput() AccessLevelsPtrOutput
	ToAccessLevelsPtrOutputWithContext(ctx context.Context) AccessLevelsPtrOutput
}

type AccessLevelsPtrOutput

type AccessLevelsPtrOutput struct{ *pulumi.OutputState }

func (AccessLevelsPtrOutput) Elem added in v5.21.0

func (AccessLevelsPtrOutput) ElementType

func (AccessLevelsPtrOutput) ElementType() reflect.Type

func (AccessLevelsPtrOutput) ToAccessLevelsPtrOutput

func (o AccessLevelsPtrOutput) ToAccessLevelsPtrOutput() AccessLevelsPtrOutput

func (AccessLevelsPtrOutput) ToAccessLevelsPtrOutputWithContext

func (o AccessLevelsPtrOutput) ToAccessLevelsPtrOutputWithContext(ctx context.Context) AccessLevelsPtrOutput

type AccessLevelsState

type AccessLevelsState struct {
	// The desired Access Levels that should replace all existing Access Levels in the Access Policy.
	// Structure is documented below.
	AccessLevels AccessLevelsAccessLevelArrayInput
	// The AccessPolicy this AccessLevel lives in.
	// Format: accessPolicies/{policy_id}
	Parent pulumi.StringPtrInput
}

func (AccessLevelsState) ElementType

func (AccessLevelsState) ElementType() reflect.Type

type AccessPolicy

type AccessPolicy struct {
	pulumi.CustomResourceState

	// Time the AccessPolicy was created in UTC.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Resource name of the AccessPolicy. Format: {policy_id}
	Name pulumi.StringOutput `pulumi:"name"`
	// The parent of this AccessPolicy in the Cloud Resource Hierarchy.
	// Format: organizations/{organization_id}
	Parent pulumi.StringOutput `pulumi:"parent"`
	// Human readable title. Does not affect behavior.
	Title pulumi.StringOutput `pulumi:"title"`
	// Time the AccessPolicy was updated in UTC.
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
}

AccessPolicy is a container for AccessLevels (which define the necessary attributes to use GCP services) and ServicePerimeters (which define regions of services able to freely pass data within a perimeter). An access policy is globally visible within an organization, and the restrictions it specifies apply to all projects within an organization.

To get more information about AccessPolicy, see:

* [API documentation](https://cloud.google.com/access-context-manager/docs/reference/rest/v1/accessPolicies) * How-to Guides

> **Warning:** If you are using User ADCs (Application Default Credentials) with this resource, you must specify a `billingProject` and set `userProjectOverride` to true in the provider configuration. Otherwise the ACM API will return a 403 error. Your account must have the `serviceusage.services.use` permission on the `billingProject` you defined.

## Example Usage ### Access Context Manager Access Policy Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := accesscontextmanager.NewAccessPolicy(ctx, "access_policy", &accesscontextmanager.AccessPolicyArgs{
			Parent: pulumi.String("organizations/123456789"),
			Title:  pulumi.String("my policy"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

AccessPolicy can be imported using any of these accepted formats

```sh

$ pulumi import gcp:accesscontextmanager/accessPolicy:AccessPolicy default {{name}}

```

func GetAccessPolicy

func GetAccessPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AccessPolicyState, opts ...pulumi.ResourceOption) (*AccessPolicy, error)

GetAccessPolicy gets an existing AccessPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewAccessPolicy

func NewAccessPolicy(ctx *pulumi.Context,
	name string, args *AccessPolicyArgs, opts ...pulumi.ResourceOption) (*AccessPolicy, error)

NewAccessPolicy registers a new resource with the given unique name, arguments, and options.

func (*AccessPolicy) ElementType

func (*AccessPolicy) ElementType() reflect.Type

func (*AccessPolicy) ToAccessPolicyOutput

func (i *AccessPolicy) ToAccessPolicyOutput() AccessPolicyOutput

func (*AccessPolicy) ToAccessPolicyOutputWithContext

func (i *AccessPolicy) ToAccessPolicyOutputWithContext(ctx context.Context) AccessPolicyOutput

func (*AccessPolicy) ToAccessPolicyPtrOutput

func (i *AccessPolicy) ToAccessPolicyPtrOutput() AccessPolicyPtrOutput

func (*AccessPolicy) ToAccessPolicyPtrOutputWithContext

func (i *AccessPolicy) ToAccessPolicyPtrOutputWithContext(ctx context.Context) AccessPolicyPtrOutput

type AccessPolicyArgs

type AccessPolicyArgs struct {
	// The parent of this AccessPolicy in the Cloud Resource Hierarchy.
	// Format: organizations/{organization_id}
	Parent pulumi.StringInput
	// Human readable title. Does not affect behavior.
	Title pulumi.StringInput
}

The set of arguments for constructing a AccessPolicy resource.

func (AccessPolicyArgs) ElementType

func (AccessPolicyArgs) ElementType() reflect.Type

type AccessPolicyArray

type AccessPolicyArray []AccessPolicyInput

func (AccessPolicyArray) ElementType

func (AccessPolicyArray) ElementType() reflect.Type

func (AccessPolicyArray) ToAccessPolicyArrayOutput

func (i AccessPolicyArray) ToAccessPolicyArrayOutput() AccessPolicyArrayOutput

func (AccessPolicyArray) ToAccessPolicyArrayOutputWithContext

func (i AccessPolicyArray) ToAccessPolicyArrayOutputWithContext(ctx context.Context) AccessPolicyArrayOutput

type AccessPolicyArrayInput

type AccessPolicyArrayInput interface {
	pulumi.Input

	ToAccessPolicyArrayOutput() AccessPolicyArrayOutput
	ToAccessPolicyArrayOutputWithContext(context.Context) AccessPolicyArrayOutput
}

AccessPolicyArrayInput is an input type that accepts AccessPolicyArray and AccessPolicyArrayOutput values. You can construct a concrete instance of `AccessPolicyArrayInput` via:

AccessPolicyArray{ AccessPolicyArgs{...} }

type AccessPolicyArrayOutput

type AccessPolicyArrayOutput struct{ *pulumi.OutputState }

func (AccessPolicyArrayOutput) ElementType

func (AccessPolicyArrayOutput) ElementType() reflect.Type

func (AccessPolicyArrayOutput) Index

func (AccessPolicyArrayOutput) ToAccessPolicyArrayOutput

func (o AccessPolicyArrayOutput) ToAccessPolicyArrayOutput() AccessPolicyArrayOutput

func (AccessPolicyArrayOutput) ToAccessPolicyArrayOutputWithContext

func (o AccessPolicyArrayOutput) ToAccessPolicyArrayOutputWithContext(ctx context.Context) AccessPolicyArrayOutput

type AccessPolicyInput

type AccessPolicyInput interface {
	pulumi.Input

	ToAccessPolicyOutput() AccessPolicyOutput
	ToAccessPolicyOutputWithContext(ctx context.Context) AccessPolicyOutput
}

type AccessPolicyMap

type AccessPolicyMap map[string]AccessPolicyInput

func (AccessPolicyMap) ElementType

func (AccessPolicyMap) ElementType() reflect.Type

func (AccessPolicyMap) ToAccessPolicyMapOutput

func (i AccessPolicyMap) ToAccessPolicyMapOutput() AccessPolicyMapOutput

func (AccessPolicyMap) ToAccessPolicyMapOutputWithContext

func (i AccessPolicyMap) ToAccessPolicyMapOutputWithContext(ctx context.Context) AccessPolicyMapOutput

type AccessPolicyMapInput

type AccessPolicyMapInput interface {
	pulumi.Input

	ToAccessPolicyMapOutput() AccessPolicyMapOutput
	ToAccessPolicyMapOutputWithContext(context.Context) AccessPolicyMapOutput
}

AccessPolicyMapInput is an input type that accepts AccessPolicyMap and AccessPolicyMapOutput values. You can construct a concrete instance of `AccessPolicyMapInput` via:

AccessPolicyMap{ "key": AccessPolicyArgs{...} }

type AccessPolicyMapOutput

type AccessPolicyMapOutput struct{ *pulumi.OutputState }

func (AccessPolicyMapOutput) ElementType

func (AccessPolicyMapOutput) ElementType() reflect.Type

func (AccessPolicyMapOutput) MapIndex

func (AccessPolicyMapOutput) ToAccessPolicyMapOutput

func (o AccessPolicyMapOutput) ToAccessPolicyMapOutput() AccessPolicyMapOutput

func (AccessPolicyMapOutput) ToAccessPolicyMapOutputWithContext

func (o AccessPolicyMapOutput) ToAccessPolicyMapOutputWithContext(ctx context.Context) AccessPolicyMapOutput

type AccessPolicyOutput

type AccessPolicyOutput struct{ *pulumi.OutputState }

func (AccessPolicyOutput) ElementType

func (AccessPolicyOutput) ElementType() reflect.Type

func (AccessPolicyOutput) ToAccessPolicyOutput

func (o AccessPolicyOutput) ToAccessPolicyOutput() AccessPolicyOutput

func (AccessPolicyOutput) ToAccessPolicyOutputWithContext

func (o AccessPolicyOutput) ToAccessPolicyOutputWithContext(ctx context.Context) AccessPolicyOutput

func (AccessPolicyOutput) ToAccessPolicyPtrOutput

func (o AccessPolicyOutput) ToAccessPolicyPtrOutput() AccessPolicyPtrOutput

func (AccessPolicyOutput) ToAccessPolicyPtrOutputWithContext

func (o AccessPolicyOutput) ToAccessPolicyPtrOutputWithContext(ctx context.Context) AccessPolicyPtrOutput

type AccessPolicyPtrInput

type AccessPolicyPtrInput interface {
	pulumi.Input

	ToAccessPolicyPtrOutput() AccessPolicyPtrOutput
	ToAccessPolicyPtrOutputWithContext(ctx context.Context) AccessPolicyPtrOutput
}

type AccessPolicyPtrOutput

type AccessPolicyPtrOutput struct{ *pulumi.OutputState }

func (AccessPolicyPtrOutput) Elem added in v5.21.0

func (AccessPolicyPtrOutput) ElementType

func (AccessPolicyPtrOutput) ElementType() reflect.Type

func (AccessPolicyPtrOutput) ToAccessPolicyPtrOutput

func (o AccessPolicyPtrOutput) ToAccessPolicyPtrOutput() AccessPolicyPtrOutput

func (AccessPolicyPtrOutput) ToAccessPolicyPtrOutputWithContext

func (o AccessPolicyPtrOutput) ToAccessPolicyPtrOutputWithContext(ctx context.Context) AccessPolicyPtrOutput

type AccessPolicyState

type AccessPolicyState struct {
	// Time the AccessPolicy was created in UTC.
	CreateTime pulumi.StringPtrInput
	// Resource name of the AccessPolicy. Format: {policy_id}
	Name pulumi.StringPtrInput
	// The parent of this AccessPolicy in the Cloud Resource Hierarchy.
	// Format: organizations/{organization_id}
	Parent pulumi.StringPtrInput
	// Human readable title. Does not affect behavior.
	Title pulumi.StringPtrInput
	// Time the AccessPolicy was updated in UTC.
	UpdateTime pulumi.StringPtrInput
}

func (AccessPolicyState) ElementType

func (AccessPolicyState) ElementType() reflect.Type

type GcpUserAccessBinding

type GcpUserAccessBinding struct {
	pulumi.CustomResourceState

	// Required. Access level that a user must have to be granted access. Only one access level is supported, not multiple. This repeated field must have exactly one element. Example: "accessPolicies/9522/accessLevels/device_trusted"
	AccessLevels pulumi.StringOutput `pulumi:"accessLevels"`
	// Required. Immutable. Google Group id whose members are subject to this binding's restrictions. See "id" in the G Suite Directory API's Groups resource. If a group's email address/alias is changed, this resource will continue to point at the changed group. This field does not accept group email addresses or aliases. Example: "01d520gv4vjcrht"
	GroupKey pulumi.StringOutput `pulumi:"groupKey"`
	// Immutable. Assigned by the server during creation. The last segment has an arbitrary length and has only URI unreserved
	// characters (as defined by RFC 3986 Section 2.3). Should not be specified by the client during creation. Example:
	// "organizations/256/gcpUserAccessBindings/b3-BhcX_Ud5N"
	Name pulumi.StringOutput `pulumi:"name"`
	// Required. ID of the parent organization.
	OrganizationId pulumi.StringOutput `pulumi:"organizationId"`
}

Restricts access to Cloud Console and Google Cloud APIs for a set of users using Context-Aware Access.

To get more information about GcpUserAccessBinding, see:

* [API documentation](https://cloud.google.com/access-context-manager/docs/reference/rest/v1/organizations.gcpUserAccessBindings)

## Example Usage

## Import

GcpUserAccessBinding can be imported using any of these accepted formats

```sh

$ pulumi import gcp:accesscontextmanager/gcpUserAccessBinding:GcpUserAccessBinding default {{name}}

```

func GetGcpUserAccessBinding

func GetGcpUserAccessBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GcpUserAccessBindingState, opts ...pulumi.ResourceOption) (*GcpUserAccessBinding, error)

GetGcpUserAccessBinding gets an existing GcpUserAccessBinding resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewGcpUserAccessBinding

func NewGcpUserAccessBinding(ctx *pulumi.Context,
	name string, args *GcpUserAccessBindingArgs, opts ...pulumi.ResourceOption) (*GcpUserAccessBinding, error)

NewGcpUserAccessBinding registers a new resource with the given unique name, arguments, and options.

func (*GcpUserAccessBinding) ElementType

func (*GcpUserAccessBinding) ElementType() reflect.Type

func (*GcpUserAccessBinding) ToGcpUserAccessBindingOutput

func (i *GcpUserAccessBinding) ToGcpUserAccessBindingOutput() GcpUserAccessBindingOutput

func (*GcpUserAccessBinding) ToGcpUserAccessBindingOutputWithContext

func (i *GcpUserAccessBinding) ToGcpUserAccessBindingOutputWithContext(ctx context.Context) GcpUserAccessBindingOutput

func (*GcpUserAccessBinding) ToGcpUserAccessBindingPtrOutput

func (i *GcpUserAccessBinding) ToGcpUserAccessBindingPtrOutput() GcpUserAccessBindingPtrOutput

func (*GcpUserAccessBinding) ToGcpUserAccessBindingPtrOutputWithContext

func (i *GcpUserAccessBinding) ToGcpUserAccessBindingPtrOutputWithContext(ctx context.Context) GcpUserAccessBindingPtrOutput

type GcpUserAccessBindingArgs

type GcpUserAccessBindingArgs struct {
	// Required. Access level that a user must have to be granted access. Only one access level is supported, not multiple. This repeated field must have exactly one element. Example: "accessPolicies/9522/accessLevels/device_trusted"
	AccessLevels pulumi.StringInput
	// Required. Immutable. Google Group id whose members are subject to this binding's restrictions. See "id" in the G Suite Directory API's Groups resource. If a group's email address/alias is changed, this resource will continue to point at the changed group. This field does not accept group email addresses or aliases. Example: "01d520gv4vjcrht"
	GroupKey pulumi.StringInput
	// Required. ID of the parent organization.
	OrganizationId pulumi.StringInput
}

The set of arguments for constructing a GcpUserAccessBinding resource.

func (GcpUserAccessBindingArgs) ElementType

func (GcpUserAccessBindingArgs) ElementType() reflect.Type

type GcpUserAccessBindingArray

type GcpUserAccessBindingArray []GcpUserAccessBindingInput

func (GcpUserAccessBindingArray) ElementType

func (GcpUserAccessBindingArray) ElementType() reflect.Type

func (GcpUserAccessBindingArray) ToGcpUserAccessBindingArrayOutput

func (i GcpUserAccessBindingArray) ToGcpUserAccessBindingArrayOutput() GcpUserAccessBindingArrayOutput

func (GcpUserAccessBindingArray) ToGcpUserAccessBindingArrayOutputWithContext

func (i GcpUserAccessBindingArray) ToGcpUserAccessBindingArrayOutputWithContext(ctx context.Context) GcpUserAccessBindingArrayOutput

type GcpUserAccessBindingArrayInput

type GcpUserAccessBindingArrayInput interface {
	pulumi.Input

	ToGcpUserAccessBindingArrayOutput() GcpUserAccessBindingArrayOutput
	ToGcpUserAccessBindingArrayOutputWithContext(context.Context) GcpUserAccessBindingArrayOutput
}

GcpUserAccessBindingArrayInput is an input type that accepts GcpUserAccessBindingArray and GcpUserAccessBindingArrayOutput values. You can construct a concrete instance of `GcpUserAccessBindingArrayInput` via:

GcpUserAccessBindingArray{ GcpUserAccessBindingArgs{...} }

type GcpUserAccessBindingArrayOutput

type GcpUserAccessBindingArrayOutput struct{ *pulumi.OutputState }

func (GcpUserAccessBindingArrayOutput) ElementType

func (GcpUserAccessBindingArrayOutput) Index

func (GcpUserAccessBindingArrayOutput) ToGcpUserAccessBindingArrayOutput

func (o GcpUserAccessBindingArrayOutput) ToGcpUserAccessBindingArrayOutput() GcpUserAccessBindingArrayOutput

func (GcpUserAccessBindingArrayOutput) ToGcpUserAccessBindingArrayOutputWithContext

func (o GcpUserAccessBindingArrayOutput) ToGcpUserAccessBindingArrayOutputWithContext(ctx context.Context) GcpUserAccessBindingArrayOutput

type GcpUserAccessBindingInput

type GcpUserAccessBindingInput interface {
	pulumi.Input

	ToGcpUserAccessBindingOutput() GcpUserAccessBindingOutput
	ToGcpUserAccessBindingOutputWithContext(ctx context.Context) GcpUserAccessBindingOutput
}

type GcpUserAccessBindingMap

type GcpUserAccessBindingMap map[string]GcpUserAccessBindingInput

func (GcpUserAccessBindingMap) ElementType

func (GcpUserAccessBindingMap) ElementType() reflect.Type

func (GcpUserAccessBindingMap) ToGcpUserAccessBindingMapOutput

func (i GcpUserAccessBindingMap) ToGcpUserAccessBindingMapOutput() GcpUserAccessBindingMapOutput

func (GcpUserAccessBindingMap) ToGcpUserAccessBindingMapOutputWithContext

func (i GcpUserAccessBindingMap) ToGcpUserAccessBindingMapOutputWithContext(ctx context.Context) GcpUserAccessBindingMapOutput

type GcpUserAccessBindingMapInput

type GcpUserAccessBindingMapInput interface {
	pulumi.Input

	ToGcpUserAccessBindingMapOutput() GcpUserAccessBindingMapOutput
	ToGcpUserAccessBindingMapOutputWithContext(context.Context) GcpUserAccessBindingMapOutput
}

GcpUserAccessBindingMapInput is an input type that accepts GcpUserAccessBindingMap and GcpUserAccessBindingMapOutput values. You can construct a concrete instance of `GcpUserAccessBindingMapInput` via:

GcpUserAccessBindingMap{ "key": GcpUserAccessBindingArgs{...} }

type GcpUserAccessBindingMapOutput

type GcpUserAccessBindingMapOutput struct{ *pulumi.OutputState }

func (GcpUserAccessBindingMapOutput) ElementType

func (GcpUserAccessBindingMapOutput) MapIndex

func (GcpUserAccessBindingMapOutput) ToGcpUserAccessBindingMapOutput

func (o GcpUserAccessBindingMapOutput) ToGcpUserAccessBindingMapOutput() GcpUserAccessBindingMapOutput

func (GcpUserAccessBindingMapOutput) ToGcpUserAccessBindingMapOutputWithContext

func (o GcpUserAccessBindingMapOutput) ToGcpUserAccessBindingMapOutputWithContext(ctx context.Context) GcpUserAccessBindingMapOutput

type GcpUserAccessBindingOutput

type GcpUserAccessBindingOutput struct{ *pulumi.OutputState }

func (GcpUserAccessBindingOutput) ElementType

func (GcpUserAccessBindingOutput) ElementType() reflect.Type

func (GcpUserAccessBindingOutput) ToGcpUserAccessBindingOutput

func (o GcpUserAccessBindingOutput) ToGcpUserAccessBindingOutput() GcpUserAccessBindingOutput

func (GcpUserAccessBindingOutput) ToGcpUserAccessBindingOutputWithContext

func (o GcpUserAccessBindingOutput) ToGcpUserAccessBindingOutputWithContext(ctx context.Context) GcpUserAccessBindingOutput

func (GcpUserAccessBindingOutput) ToGcpUserAccessBindingPtrOutput

func (o GcpUserAccessBindingOutput) ToGcpUserAccessBindingPtrOutput() GcpUserAccessBindingPtrOutput

func (GcpUserAccessBindingOutput) ToGcpUserAccessBindingPtrOutputWithContext

func (o GcpUserAccessBindingOutput) ToGcpUserAccessBindingPtrOutputWithContext(ctx context.Context) GcpUserAccessBindingPtrOutput

type GcpUserAccessBindingPtrInput

type GcpUserAccessBindingPtrInput interface {
	pulumi.Input

	ToGcpUserAccessBindingPtrOutput() GcpUserAccessBindingPtrOutput
	ToGcpUserAccessBindingPtrOutputWithContext(ctx context.Context) GcpUserAccessBindingPtrOutput
}

type GcpUserAccessBindingPtrOutput

type GcpUserAccessBindingPtrOutput struct{ *pulumi.OutputState }

func (GcpUserAccessBindingPtrOutput) Elem added in v5.21.0

func (GcpUserAccessBindingPtrOutput) ElementType

func (GcpUserAccessBindingPtrOutput) ToGcpUserAccessBindingPtrOutput

func (o GcpUserAccessBindingPtrOutput) ToGcpUserAccessBindingPtrOutput() GcpUserAccessBindingPtrOutput

func (GcpUserAccessBindingPtrOutput) ToGcpUserAccessBindingPtrOutputWithContext

func (o GcpUserAccessBindingPtrOutput) ToGcpUserAccessBindingPtrOutputWithContext(ctx context.Context) GcpUserAccessBindingPtrOutput

type GcpUserAccessBindingState

type GcpUserAccessBindingState struct {
	// Required. Access level that a user must have to be granted access. Only one access level is supported, not multiple. This repeated field must have exactly one element. Example: "accessPolicies/9522/accessLevels/device_trusted"
	AccessLevels pulumi.StringPtrInput
	// Required. Immutable. Google Group id whose members are subject to this binding's restrictions. See "id" in the G Suite Directory API's Groups resource. If a group's email address/alias is changed, this resource will continue to point at the changed group. This field does not accept group email addresses or aliases. Example: "01d520gv4vjcrht"
	GroupKey pulumi.StringPtrInput
	// Immutable. Assigned by the server during creation. The last segment has an arbitrary length and has only URI unreserved
	// characters (as defined by RFC 3986 Section 2.3). Should not be specified by the client during creation. Example:
	// "organizations/256/gcpUserAccessBindings/b3-BhcX_Ud5N"
	Name pulumi.StringPtrInput
	// Required. ID of the parent organization.
	OrganizationId pulumi.StringPtrInput
}

func (GcpUserAccessBindingState) ElementType

func (GcpUserAccessBindingState) ElementType() reflect.Type

type ServicePerimeter

type ServicePerimeter struct {
	pulumi.CustomResourceState

	// Time the AccessPolicy was created in UTC.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Description of the ServicePerimeter and its use. Does not affect
	// behavior.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Resource name for the ServicePerimeter. The shortName component must
	// begin with a letter and only include alphanumeric and '_'.
	// Format: accessPolicies/{policy_id}/servicePerimeters/{short_name}
	Name pulumi.StringOutput `pulumi:"name"`
	// The AccessPolicy this ServicePerimeter lives in.
	// Format: accessPolicies/{policy_id}
	Parent pulumi.StringOutput `pulumi:"parent"`
	// Specifies the type of the Perimeter. There are two types: regular and
	// bridge. Regular Service Perimeter contains resources, access levels,
	// and restricted services. Every resource can be in at most
	// ONE regular Service Perimeter.
	// In addition to being in a regular service perimeter, a resource can also
	// be in zero or more perimeter bridges. A perimeter bridge only contains
	// resources. Cross project operations are permitted if all effected
	// resources share some perimeter (whether bridge or regular). Perimeter
	// Bridge does not contain access levels or services: those are governed
	// entirely by the regular perimeter that resource is in.
	// Perimeter Bridges are typically useful when building more complex
	// topologies with many independent perimeters that need to share some data
	// with a common perimeter, but should not be able to share data among
	// themselves.
	// Default value is `PERIMETER_TYPE_REGULAR`.
	// Possible values are `PERIMETER_TYPE_REGULAR` and `PERIMETER_TYPE_BRIDGE`.
	PerimeterType pulumi.StringPtrOutput `pulumi:"perimeterType"`
	// Proposed (or dry run) ServicePerimeter configuration.
	// This configuration allows to specify and test ServicePerimeter configuration
	// without enforcing actual access restrictions. Only allowed to be set when
	// the `useExplicitDryRunSpec` flag is set.
	// Structure is documented below.
	Spec ServicePerimeterSpecPtrOutput `pulumi:"spec"`
	// ServicePerimeter configuration. Specifies sets of resources,
	// restricted services and access levels that determine
	// perimeter content and boundaries.
	// Structure is documented below.
	Status ServicePerimeterStatusPtrOutput `pulumi:"status"`
	// Human readable title. Must be unique within the Policy.
	Title pulumi.StringOutput `pulumi:"title"`
	// Time the AccessPolicy was updated in UTC.
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
	// Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly exists
	// for all Service Perimeters, and that spec is identical to the status for those
	// Service Perimeters. When this flag is set, it inhibits the generation of the
	// implicit spec, thereby allowing the user to explicitly provide a
	// configuration ("spec") to use in a dry-run version of the Service Perimeter.
	// This allows the user to test changes to the enforced config ("status") without
	// actually enforcing them. This testing is done through analyzing the differences
	// between currently enforced and suggested restrictions. useExplicitDryRunSpec must
	// bet set to True if any of the fields in the spec are set to non-default values.
	UseExplicitDryRunSpec pulumi.BoolPtrOutput `pulumi:"useExplicitDryRunSpec"`
}

ServicePerimeter describes a set of GCP resources which can freely import and export data amongst themselves, but not export outside of the ServicePerimeter. If a request with a source within this ServicePerimeter has a target outside of the ServicePerimeter, the request will be blocked. Otherwise the request is allowed. There are two types of Service Perimeter

  • Regular and Bridge. Regular Service Perimeters cannot overlap, a single GCP project can only belong to a single regular Service Perimeter. Service Perimeter Bridges can contain only GCP projects as members, a single GCP project may belong to multiple Service Perimeter Bridges.

To get more information about ServicePerimeter, see:

* [API documentation](https://cloud.google.com/access-context-manager/docs/reference/rest/v1/accessPolicies.servicePerimeters) * How-to Guides

> **Warning:** If you are using User ADCs (Application Default Credentials) with this resource, you must specify a `billingProject` and set `userProjectOverride` to true in the provider configuration. Otherwise the ACM API will return a 403 error. Your account must have the `serviceusage.services.use` permission on the `billingProject` you defined.

## Example Usage ### Access Context Manager Service Perimeter Basic

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := accesscontextmanager.NewAccessPolicy(ctx, "access_policy", &accesscontextmanager.AccessPolicyArgs{
			Parent: pulumi.String("organizations/123456789"),
			Title:  pulumi.String("my policy"),
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewServicePerimeter(ctx, "service_perimeter", &accesscontextmanager.ServicePerimeterArgs{
			Parent: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("%v%v", "accessPolicies/", name), nil
			}).(pulumi.StringOutput),
			Status: &accesscontextmanager.ServicePerimeterStatusArgs{
				RestrictedServices: pulumi.StringArray{
					pulumi.String("storage.googleapis.com"),
				},
			},
			Title: pulumi.String("restrict_storage"),
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewAccessLevel(ctx, "access_level", &accesscontextmanager.AccessLevelArgs{
			Basic: &accesscontextmanager.AccessLevelBasicArgs{
				Conditions: accesscontextmanager.AccessLevelBasicConditionArray{
					&accesscontextmanager.AccessLevelBasicConditionArgs{
						DevicePolicy: &accesscontextmanager.AccessLevelBasicConditionDevicePolicyArgs{
							OsConstraints: accesscontextmanager.AccessLevelBasicConditionDevicePolicyOsConstraintArray{
								&accesscontextmanager.AccessLevelBasicConditionDevicePolicyOsConstraintArgs{
									OsType: pulumi.String("DESKTOP_CHROME_OS"),
								},
							},
							RequireScreenLock: pulumi.Bool(false),
						},
						Regions: pulumi.StringArray{
							pulumi.String("CH"),
							pulumi.String("IT"),
							pulumi.String("US"),
						},
					},
				},
			},
			Parent: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("%v%v", "accessPolicies/", name), nil
			}).(pulumi.StringOutput),
			Title: pulumi.String("chromeos_no_lock"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Access Context Manager Service Perimeter Secure Data Exchange

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := accesscontextmanager.NewAccessPolicy(ctx, "access_policy", &accesscontextmanager.AccessPolicyArgs{
			Parent: pulumi.String("organizations/123456789"),
			Title:  pulumi.String("my policy"),
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewServicePerimeters(ctx, "secure_data_exchange", &accesscontextmanager.ServicePerimetersArgs{
			Parent: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("%v%v", "accessPolicies/", name), nil
			}).(pulumi.StringOutput),
			ServicePerimeters: accesscontextmanager.ServicePerimetersServicePerimeterArray{
				&accesscontextmanager.ServicePerimetersServicePerimeterArgs{
					Name: access_policy.Name.ApplyT(func(name string) (string, error) {
						return fmt.Sprintf("%v%v%v", "accessPolicies/", name, "/servicePerimeters/"), nil
					}).(pulumi.StringOutput),
					Title: pulumi.String(""),
					Status: &accesscontextmanager.ServicePerimetersServicePerimeterStatusArgs{
						RestrictedServices: pulumi.StringArray{
							pulumi.String("storage.googleapis.com"),
						},
					},
				},
				&accesscontextmanager.ServicePerimetersServicePerimeterArgs{
					Name: access_policy.Name.ApplyT(func(name string) (string, error) {
						return fmt.Sprintf("%v%v%v", "accessPolicies/", name, "/servicePerimeters/"), nil
					}).(pulumi.StringOutput),
					Title: pulumi.String(""),
					Status: &accesscontextmanager.ServicePerimetersServicePerimeterStatusArgs{
						RestrictedServices: pulumi.StringArray{
							pulumi.String("bigtable.googleapis.com"),
						},
						VpcAccessibleServices: &accesscontextmanager.ServicePerimetersServicePerimeterStatusVpcAccessibleServicesArgs{
							EnableRestriction: pulumi.Bool(true),
							AllowedServices: pulumi.StringArray{
								pulumi.String("bigquery.googleapis.com"),
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewAccessLevel(ctx, "access_level", &accesscontextmanager.AccessLevelArgs{
			Parent: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("%v%v", "accessPolicies/", name), nil
			}).(pulumi.StringOutput),
			Title: pulumi.String("secure_data_exchange"),
			Basic: &accesscontextmanager.AccessLevelBasicArgs{
				Conditions: accesscontextmanager.AccessLevelBasicConditionArray{
					&accesscontextmanager.AccessLevelBasicConditionArgs{
						DevicePolicy: &accesscontextmanager.AccessLevelBasicConditionDevicePolicyArgs{
							RequireScreenLock: pulumi.Bool(false),
							OsConstraints: accesscontextmanager.AccessLevelBasicConditionDevicePolicyOsConstraintArray{
								&accesscontextmanager.AccessLevelBasicConditionDevicePolicyOsConstraintArgs{
									OsType: pulumi.String("DESKTOP_CHROME_OS"),
								},
							},
						},
						Regions: pulumi.StringArray{
							pulumi.String("CH"),
							pulumi.String("IT"),
							pulumi.String("US"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewServicePerimeter(ctx, "test_access", &accesscontextmanager.ServicePerimeterArgs{
			Parent:        pulumi.String(fmt.Sprintf("%v%v", "accessPolicies/", google_access_context_manager_access_policy.Test-access.Name)),
			Title:         pulumi.String(fmt.Sprintf("%v%v", "%", "s")),
			PerimeterType: pulumi.String("PERIMETER_TYPE_REGULAR"),
			Status: &accesscontextmanager.ServicePerimeterStatusArgs{
				RestrictedServices: pulumi.StringArray{
					pulumi.String("bigquery.googleapis.com"),
					pulumi.String("storage.googleapis.com"),
				},
				AccessLevels: pulumi.StringArray{
					access_level.Name,
				},
				VpcAccessibleServices: &accesscontextmanager.ServicePerimeterStatusVpcAccessibleServicesArgs{
					EnableRestriction: pulumi.Bool(true),
					AllowedServices: pulumi.StringArray{
						pulumi.String("bigquery.googleapis.com"),
						pulumi.String("storage.googleapis.com"),
					},
				},
				IngressPolicies: accesscontextmanager.ServicePerimeterStatusIngressPolicyArray{
					&accesscontextmanager.ServicePerimeterStatusIngressPolicyArgs{
						IngressFrom: &accesscontextmanager.ServicePerimeterStatusIngressPolicyIngressFromArgs{
							Sources: accesscontextmanager.ServicePerimeterStatusIngressPolicyIngressFromSourceArray{
								&accesscontextmanager.ServicePerimeterStatusIngressPolicyIngressFromSourceArgs{
									AccessLevel: pulumi.Any(google_access_context_manager_access_level.Test - access.Name),
								},
							},
							IdentityType: pulumi.String("ANY_IDENTITY"),
						},
						IngressTo: &accesscontextmanager.ServicePerimeterStatusIngressPolicyIngressToArgs{
							Resources: pulumi.StringArray{
								pulumi.String("*"),
							},
							Operations: accesscontextmanager.ServicePerimeterStatusIngressPolicyIngressToOperationArray{
								&accesscontextmanager.ServicePerimeterStatusIngressPolicyIngressToOperationArgs{
									ServiceName: pulumi.String("bigquery.googleapis.com"),
									MethodSelectors: accesscontextmanager.ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray{
										&accesscontextmanager.ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs{
											Method: pulumi.String("BigQueryStorage.ReadRows"),
										},
										&accesscontextmanager.ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs{
											Method: pulumi.String("TableService.ListTables"),
										},
										&accesscontextmanager.ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs{
											Permission: pulumi.String("bigquery.jobs.get"),
										},
									},
								},
								&accesscontextmanager.ServicePerimeterStatusIngressPolicyIngressToOperationArgs{
									ServiceName: pulumi.String("storage.googleapis.com"),
									MethodSelectors: accesscontextmanager.ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray{
										&accesscontextmanager.ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs{
											Method: pulumi.String("google.storage.objects.create"),
										},
									},
								},
							},
						},
					},
				},
				EgressPolicies: accesscontextmanager.ServicePerimeterStatusEgressPolicyArray{
					&accesscontextmanager.ServicePerimeterStatusEgressPolicyArgs{
						EgressFrom: &accesscontextmanager.ServicePerimeterStatusEgressPolicyEgressFromArgs{
							IdentityType: pulumi.String("ANY_USER_ACCOUNT"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Access Context Manager Service Perimeter Dry Run

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := accesscontextmanager.NewAccessPolicy(ctx, "access_policy", &accesscontextmanager.AccessPolicyArgs{
			Parent: pulumi.String("organizations/123456789"),
			Title:  pulumi.String("my policy"),
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewServicePerimeter(ctx, "service_perimeter", &accesscontextmanager.ServicePerimeterArgs{
			Parent: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("%v%v", "accessPolicies/", name), nil
			}).(pulumi.StringOutput),
			Spec: &accesscontextmanager.ServicePerimeterSpecArgs{
				RestrictedServices: pulumi.StringArray{
					pulumi.String("storage.googleapis.com"),
				},
			},
			Status: &accesscontextmanager.ServicePerimeterStatusArgs{
				RestrictedServices: pulumi.StringArray{
					pulumi.String("bigquery.googleapis.com"),
				},
			},
			Title:                 pulumi.String("restrict_bigquery_dryrun_storage"),
			UseExplicitDryRunSpec: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ServicePerimeter can be imported using any of these accepted formats

```sh

$ pulumi import gcp:accesscontextmanager/servicePerimeter:ServicePerimeter default {{name}}

```

func GetServicePerimeter

func GetServicePerimeter(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServicePerimeterState, opts ...pulumi.ResourceOption) (*ServicePerimeter, error)

GetServicePerimeter gets an existing ServicePerimeter resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewServicePerimeter

func NewServicePerimeter(ctx *pulumi.Context,
	name string, args *ServicePerimeterArgs, opts ...pulumi.ResourceOption) (*ServicePerimeter, error)

NewServicePerimeter registers a new resource with the given unique name, arguments, and options.

func (*ServicePerimeter) ElementType

func (*ServicePerimeter) ElementType() reflect.Type

func (*ServicePerimeter) ToServicePerimeterOutput

func (i *ServicePerimeter) ToServicePerimeterOutput() ServicePerimeterOutput

func (*ServicePerimeter) ToServicePerimeterOutputWithContext

func (i *ServicePerimeter) ToServicePerimeterOutputWithContext(ctx context.Context) ServicePerimeterOutput

func (*ServicePerimeter) ToServicePerimeterPtrOutput

func (i *ServicePerimeter) ToServicePerimeterPtrOutput() ServicePerimeterPtrOutput

func (*ServicePerimeter) ToServicePerimeterPtrOutputWithContext

func (i *ServicePerimeter) ToServicePerimeterPtrOutputWithContext(ctx context.Context) ServicePerimeterPtrOutput

type ServicePerimeterArgs

type ServicePerimeterArgs struct {
	// Description of the ServicePerimeter and its use. Does not affect
	// behavior.
	Description pulumi.StringPtrInput
	// Resource name for the ServicePerimeter. The shortName component must
	// begin with a letter and only include alphanumeric and '_'.
	// Format: accessPolicies/{policy_id}/servicePerimeters/{short_name}
	Name pulumi.StringPtrInput
	// The AccessPolicy this ServicePerimeter lives in.
	// Format: accessPolicies/{policy_id}
	Parent pulumi.StringInput
	// Specifies the type of the Perimeter. There are two types: regular and
	// bridge. Regular Service Perimeter contains resources, access levels,
	// and restricted services. Every resource can be in at most
	// ONE regular Service Perimeter.
	// In addition to being in a regular service perimeter, a resource can also
	// be in zero or more perimeter bridges. A perimeter bridge only contains
	// resources. Cross project operations are permitted if all effected
	// resources share some perimeter (whether bridge or regular). Perimeter
	// Bridge does not contain access levels or services: those are governed
	// entirely by the regular perimeter that resource is in.
	// Perimeter Bridges are typically useful when building more complex
	// topologies with many independent perimeters that need to share some data
	// with a common perimeter, but should not be able to share data among
	// themselves.
	// Default value is `PERIMETER_TYPE_REGULAR`.
	// Possible values are `PERIMETER_TYPE_REGULAR` and `PERIMETER_TYPE_BRIDGE`.
	PerimeterType pulumi.StringPtrInput
	// Proposed (or dry run) ServicePerimeter configuration.
	// This configuration allows to specify and test ServicePerimeter configuration
	// without enforcing actual access restrictions. Only allowed to be set when
	// the `useExplicitDryRunSpec` flag is set.
	// Structure is documented below.
	Spec ServicePerimeterSpecPtrInput
	// ServicePerimeter configuration. Specifies sets of resources,
	// restricted services and access levels that determine
	// perimeter content and boundaries.
	// Structure is documented below.
	Status ServicePerimeterStatusPtrInput
	// Human readable title. Must be unique within the Policy.
	Title pulumi.StringInput
	// Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly exists
	// for all Service Perimeters, and that spec is identical to the status for those
	// Service Perimeters. When this flag is set, it inhibits the generation of the
	// implicit spec, thereby allowing the user to explicitly provide a
	// configuration ("spec") to use in a dry-run version of the Service Perimeter.
	// This allows the user to test changes to the enforced config ("status") without
	// actually enforcing them. This testing is done through analyzing the differences
	// between currently enforced and suggested restrictions. useExplicitDryRunSpec must
	// bet set to True if any of the fields in the spec are set to non-default values.
	UseExplicitDryRunSpec pulumi.BoolPtrInput
}

The set of arguments for constructing a ServicePerimeter resource.

func (ServicePerimeterArgs) ElementType

func (ServicePerimeterArgs) ElementType() reflect.Type

type ServicePerimeterArray

type ServicePerimeterArray []ServicePerimeterInput

func (ServicePerimeterArray) ElementType

func (ServicePerimeterArray) ElementType() reflect.Type

func (ServicePerimeterArray) ToServicePerimeterArrayOutput

func (i ServicePerimeterArray) ToServicePerimeterArrayOutput() ServicePerimeterArrayOutput

func (ServicePerimeterArray) ToServicePerimeterArrayOutputWithContext

func (i ServicePerimeterArray) ToServicePerimeterArrayOutputWithContext(ctx context.Context) ServicePerimeterArrayOutput

type ServicePerimeterArrayInput

type ServicePerimeterArrayInput interface {
	pulumi.Input

	ToServicePerimeterArrayOutput() ServicePerimeterArrayOutput
	ToServicePerimeterArrayOutputWithContext(context.Context) ServicePerimeterArrayOutput
}

ServicePerimeterArrayInput is an input type that accepts ServicePerimeterArray and ServicePerimeterArrayOutput values. You can construct a concrete instance of `ServicePerimeterArrayInput` via:

ServicePerimeterArray{ ServicePerimeterArgs{...} }

type ServicePerimeterArrayOutput

type ServicePerimeterArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterArrayOutput) ElementType

func (ServicePerimeterArrayOutput) Index

func (ServicePerimeterArrayOutput) ToServicePerimeterArrayOutput

func (o ServicePerimeterArrayOutput) ToServicePerimeterArrayOutput() ServicePerimeterArrayOutput

func (ServicePerimeterArrayOutput) ToServicePerimeterArrayOutputWithContext

func (o ServicePerimeterArrayOutput) ToServicePerimeterArrayOutputWithContext(ctx context.Context) ServicePerimeterArrayOutput

type ServicePerimeterInput

type ServicePerimeterInput interface {
	pulumi.Input

	ToServicePerimeterOutput() ServicePerimeterOutput
	ToServicePerimeterOutputWithContext(ctx context.Context) ServicePerimeterOutput
}

type ServicePerimeterMap

type ServicePerimeterMap map[string]ServicePerimeterInput

func (ServicePerimeterMap) ElementType

func (ServicePerimeterMap) ElementType() reflect.Type

func (ServicePerimeterMap) ToServicePerimeterMapOutput

func (i ServicePerimeterMap) ToServicePerimeterMapOutput() ServicePerimeterMapOutput

func (ServicePerimeterMap) ToServicePerimeterMapOutputWithContext

func (i ServicePerimeterMap) ToServicePerimeterMapOutputWithContext(ctx context.Context) ServicePerimeterMapOutput

type ServicePerimeterMapInput

type ServicePerimeterMapInput interface {
	pulumi.Input

	ToServicePerimeterMapOutput() ServicePerimeterMapOutput
	ToServicePerimeterMapOutputWithContext(context.Context) ServicePerimeterMapOutput
}

ServicePerimeterMapInput is an input type that accepts ServicePerimeterMap and ServicePerimeterMapOutput values. You can construct a concrete instance of `ServicePerimeterMapInput` via:

ServicePerimeterMap{ "key": ServicePerimeterArgs{...} }

type ServicePerimeterMapOutput

type ServicePerimeterMapOutput struct{ *pulumi.OutputState }

func (ServicePerimeterMapOutput) ElementType

func (ServicePerimeterMapOutput) ElementType() reflect.Type

func (ServicePerimeterMapOutput) MapIndex

func (ServicePerimeterMapOutput) ToServicePerimeterMapOutput

func (o ServicePerimeterMapOutput) ToServicePerimeterMapOutput() ServicePerimeterMapOutput

func (ServicePerimeterMapOutput) ToServicePerimeterMapOutputWithContext

func (o ServicePerimeterMapOutput) ToServicePerimeterMapOutputWithContext(ctx context.Context) ServicePerimeterMapOutput

type ServicePerimeterOutput

type ServicePerimeterOutput struct{ *pulumi.OutputState }

func (ServicePerimeterOutput) ElementType

func (ServicePerimeterOutput) ElementType() reflect.Type

func (ServicePerimeterOutput) ToServicePerimeterOutput

func (o ServicePerimeterOutput) ToServicePerimeterOutput() ServicePerimeterOutput

func (ServicePerimeterOutput) ToServicePerimeterOutputWithContext

func (o ServicePerimeterOutput) ToServicePerimeterOutputWithContext(ctx context.Context) ServicePerimeterOutput

func (ServicePerimeterOutput) ToServicePerimeterPtrOutput

func (o ServicePerimeterOutput) ToServicePerimeterPtrOutput() ServicePerimeterPtrOutput

func (ServicePerimeterOutput) ToServicePerimeterPtrOutputWithContext

func (o ServicePerimeterOutput) ToServicePerimeterPtrOutputWithContext(ctx context.Context) ServicePerimeterPtrOutput

type ServicePerimeterPtrInput

type ServicePerimeterPtrInput interface {
	pulumi.Input

	ToServicePerimeterPtrOutput() ServicePerimeterPtrOutput
	ToServicePerimeterPtrOutputWithContext(ctx context.Context) ServicePerimeterPtrOutput
}

type ServicePerimeterPtrOutput

type ServicePerimeterPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterPtrOutput) Elem added in v5.21.0

func (ServicePerimeterPtrOutput) ElementType

func (ServicePerimeterPtrOutput) ElementType() reflect.Type

func (ServicePerimeterPtrOutput) ToServicePerimeterPtrOutput

func (o ServicePerimeterPtrOutput) ToServicePerimeterPtrOutput() ServicePerimeterPtrOutput

func (ServicePerimeterPtrOutput) ToServicePerimeterPtrOutputWithContext

func (o ServicePerimeterPtrOutput) ToServicePerimeterPtrOutputWithContext(ctx context.Context) ServicePerimeterPtrOutput

type ServicePerimeterResource

type ServicePerimeterResource struct {
	pulumi.CustomResourceState

	// The name of the Service Perimeter to add this resource to.
	PerimeterName pulumi.StringOutput `pulumi:"perimeterName"`
	// A GCP resource that is inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	Resource pulumi.StringOutput `pulumi:"resource"`
}

Allows configuring a single GCP resource that should be inside of a service perimeter. This resource is intended to be used in cases where it is not possible to compile a full list of projects to include in a `accesscontextmanager.ServicePerimeter` resource, to enable them to be added separately.

> **Note:** If this resource is used alongside a `accesscontextmanager.ServicePerimeter` resource, the service perimeter resource must have a `lifecycle` block with `ignoreChanges = [status[0].resources]` so they don't fight over which resources should be in the policy.

To get more information about ServicePerimeterResource, see:

* [API documentation](https://cloud.google.com/access-context-manager/docs/reference/rest/v1/accessPolicies.servicePerimeters) * How-to Guides

> **Warning:** If you are using User ADCs (Application Default Credentials) with this resource, you must specify a `billingProject` and set `userProjectOverride` to true in the provider configuration. Otherwise the ACM API will return a 403 error. Your account must have the `serviceusage.services.use` permission on the `billingProject` you defined.

## Example Usage ### Access Context Manager Service Perimeter Resource Basic

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := accesscontextmanager.NewAccessPolicy(ctx, "access_policy", &accesscontextmanager.AccessPolicyArgs{
			Parent: pulumi.String("organizations/123456789"),
			Title:  pulumi.String("my policy"),
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewServicePerimeter(ctx, "service_perimeter_resourceServicePerimeter", &accesscontextmanager.ServicePerimeterArgs{
			Parent: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("%v%v", "accessPolicies/", name), nil
			}).(pulumi.StringOutput),
			Title: pulumi.String("restrict_all"),
			Status: &accesscontextmanager.ServicePerimeterStatusArgs{
				RestrictedServices: pulumi.StringArray{
					pulumi.String("storage.googleapis.com"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewServicePerimeterResource(ctx, "service_perimeter_resourceServicePerimeterResource", &accesscontextmanager.ServicePerimeterResourceArgs{
			PerimeterName: service_perimeter_resourceServicePerimeter.Name,
			Resource:      pulumi.String("projects/987654321"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ServicePerimeterResource can be imported using any of these accepted formats

```sh

$ pulumi import gcp:accesscontextmanager/servicePerimeterResource:ServicePerimeterResource default {{perimeter_name}}/{{resource}}

```

func GetServicePerimeterResource

func GetServicePerimeterResource(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServicePerimeterResourceState, opts ...pulumi.ResourceOption) (*ServicePerimeterResource, error)

GetServicePerimeterResource gets an existing ServicePerimeterResource resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewServicePerimeterResource

func NewServicePerimeterResource(ctx *pulumi.Context,
	name string, args *ServicePerimeterResourceArgs, opts ...pulumi.ResourceOption) (*ServicePerimeterResource, error)

NewServicePerimeterResource registers a new resource with the given unique name, arguments, and options.

func (*ServicePerimeterResource) ElementType

func (*ServicePerimeterResource) ElementType() reflect.Type

func (*ServicePerimeterResource) ToServicePerimeterResourceOutput

func (i *ServicePerimeterResource) ToServicePerimeterResourceOutput() ServicePerimeterResourceOutput

func (*ServicePerimeterResource) ToServicePerimeterResourceOutputWithContext

func (i *ServicePerimeterResource) ToServicePerimeterResourceOutputWithContext(ctx context.Context) ServicePerimeterResourceOutput

func (*ServicePerimeterResource) ToServicePerimeterResourcePtrOutput

func (i *ServicePerimeterResource) ToServicePerimeterResourcePtrOutput() ServicePerimeterResourcePtrOutput

func (*ServicePerimeterResource) ToServicePerimeterResourcePtrOutputWithContext

func (i *ServicePerimeterResource) ToServicePerimeterResourcePtrOutputWithContext(ctx context.Context) ServicePerimeterResourcePtrOutput

type ServicePerimeterResourceArgs

type ServicePerimeterResourceArgs struct {
	// The name of the Service Perimeter to add this resource to.
	PerimeterName pulumi.StringInput
	// A GCP resource that is inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	Resource pulumi.StringInput
}

The set of arguments for constructing a ServicePerimeterResource resource.

func (ServicePerimeterResourceArgs) ElementType

type ServicePerimeterResourceArray

type ServicePerimeterResourceArray []ServicePerimeterResourceInput

func (ServicePerimeterResourceArray) ElementType

func (ServicePerimeterResourceArray) ToServicePerimeterResourceArrayOutput

func (i ServicePerimeterResourceArray) ToServicePerimeterResourceArrayOutput() ServicePerimeterResourceArrayOutput

func (ServicePerimeterResourceArray) ToServicePerimeterResourceArrayOutputWithContext

func (i ServicePerimeterResourceArray) ToServicePerimeterResourceArrayOutputWithContext(ctx context.Context) ServicePerimeterResourceArrayOutput

type ServicePerimeterResourceArrayInput

type ServicePerimeterResourceArrayInput interface {
	pulumi.Input

	ToServicePerimeterResourceArrayOutput() ServicePerimeterResourceArrayOutput
	ToServicePerimeterResourceArrayOutputWithContext(context.Context) ServicePerimeterResourceArrayOutput
}

ServicePerimeterResourceArrayInput is an input type that accepts ServicePerimeterResourceArray and ServicePerimeterResourceArrayOutput values. You can construct a concrete instance of `ServicePerimeterResourceArrayInput` via:

ServicePerimeterResourceArray{ ServicePerimeterResourceArgs{...} }

type ServicePerimeterResourceArrayOutput

type ServicePerimeterResourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterResourceArrayOutput) ElementType

func (ServicePerimeterResourceArrayOutput) Index

func (ServicePerimeterResourceArrayOutput) ToServicePerimeterResourceArrayOutput

func (o ServicePerimeterResourceArrayOutput) ToServicePerimeterResourceArrayOutput() ServicePerimeterResourceArrayOutput

func (ServicePerimeterResourceArrayOutput) ToServicePerimeterResourceArrayOutputWithContext

func (o ServicePerimeterResourceArrayOutput) ToServicePerimeterResourceArrayOutputWithContext(ctx context.Context) ServicePerimeterResourceArrayOutput

type ServicePerimeterResourceInput

type ServicePerimeterResourceInput interface {
	pulumi.Input

	ToServicePerimeterResourceOutput() ServicePerimeterResourceOutput
	ToServicePerimeterResourceOutputWithContext(ctx context.Context) ServicePerimeterResourceOutput
}

type ServicePerimeterResourceMap

type ServicePerimeterResourceMap map[string]ServicePerimeterResourceInput

func (ServicePerimeterResourceMap) ElementType

func (ServicePerimeterResourceMap) ToServicePerimeterResourceMapOutput

func (i ServicePerimeterResourceMap) ToServicePerimeterResourceMapOutput() ServicePerimeterResourceMapOutput

func (ServicePerimeterResourceMap) ToServicePerimeterResourceMapOutputWithContext

func (i ServicePerimeterResourceMap) ToServicePerimeterResourceMapOutputWithContext(ctx context.Context) ServicePerimeterResourceMapOutput

type ServicePerimeterResourceMapInput

type ServicePerimeterResourceMapInput interface {
	pulumi.Input

	ToServicePerimeterResourceMapOutput() ServicePerimeterResourceMapOutput
	ToServicePerimeterResourceMapOutputWithContext(context.Context) ServicePerimeterResourceMapOutput
}

ServicePerimeterResourceMapInput is an input type that accepts ServicePerimeterResourceMap and ServicePerimeterResourceMapOutput values. You can construct a concrete instance of `ServicePerimeterResourceMapInput` via:

ServicePerimeterResourceMap{ "key": ServicePerimeterResourceArgs{...} }

type ServicePerimeterResourceMapOutput

type ServicePerimeterResourceMapOutput struct{ *pulumi.OutputState }

func (ServicePerimeterResourceMapOutput) ElementType

func (ServicePerimeterResourceMapOutput) MapIndex

func (ServicePerimeterResourceMapOutput) ToServicePerimeterResourceMapOutput

func (o ServicePerimeterResourceMapOutput) ToServicePerimeterResourceMapOutput() ServicePerimeterResourceMapOutput

func (ServicePerimeterResourceMapOutput) ToServicePerimeterResourceMapOutputWithContext

func (o ServicePerimeterResourceMapOutput) ToServicePerimeterResourceMapOutputWithContext(ctx context.Context) ServicePerimeterResourceMapOutput

type ServicePerimeterResourceOutput

type ServicePerimeterResourceOutput struct{ *pulumi.OutputState }

func (ServicePerimeterResourceOutput) ElementType

func (ServicePerimeterResourceOutput) ToServicePerimeterResourceOutput

func (o ServicePerimeterResourceOutput) ToServicePerimeterResourceOutput() ServicePerimeterResourceOutput

func (ServicePerimeterResourceOutput) ToServicePerimeterResourceOutputWithContext

func (o ServicePerimeterResourceOutput) ToServicePerimeterResourceOutputWithContext(ctx context.Context) ServicePerimeterResourceOutput

func (ServicePerimeterResourceOutput) ToServicePerimeterResourcePtrOutput

func (o ServicePerimeterResourceOutput) ToServicePerimeterResourcePtrOutput() ServicePerimeterResourcePtrOutput

func (ServicePerimeterResourceOutput) ToServicePerimeterResourcePtrOutputWithContext

func (o ServicePerimeterResourceOutput) ToServicePerimeterResourcePtrOutputWithContext(ctx context.Context) ServicePerimeterResourcePtrOutput

type ServicePerimeterResourcePtrInput

type ServicePerimeterResourcePtrInput interface {
	pulumi.Input

	ToServicePerimeterResourcePtrOutput() ServicePerimeterResourcePtrOutput
	ToServicePerimeterResourcePtrOutputWithContext(ctx context.Context) ServicePerimeterResourcePtrOutput
}

type ServicePerimeterResourcePtrOutput

type ServicePerimeterResourcePtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterResourcePtrOutput) Elem added in v5.21.0

func (ServicePerimeterResourcePtrOutput) ElementType

func (ServicePerimeterResourcePtrOutput) ToServicePerimeterResourcePtrOutput

func (o ServicePerimeterResourcePtrOutput) ToServicePerimeterResourcePtrOutput() ServicePerimeterResourcePtrOutput

func (ServicePerimeterResourcePtrOutput) ToServicePerimeterResourcePtrOutputWithContext

func (o ServicePerimeterResourcePtrOutput) ToServicePerimeterResourcePtrOutputWithContext(ctx context.Context) ServicePerimeterResourcePtrOutput

type ServicePerimeterResourceState

type ServicePerimeterResourceState struct {
	// The name of the Service Perimeter to add this resource to.
	PerimeterName pulumi.StringPtrInput
	// A GCP resource that is inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	Resource pulumi.StringPtrInput
}

func (ServicePerimeterResourceState) ElementType

type ServicePerimeterSpec

type ServicePerimeterSpec struct {
	// A list of AccessLevel resource names that allow resources within
	// the ServicePerimeter to be accessed from the internet.
	// AccessLevels listed must be in the same policy as this
	// ServicePerimeter. Referencing a nonexistent AccessLevel is a
	// syntax error. If no AccessLevel names are listed, resources within
	// the perimeter can only be accessed via GCP calls with request
	// origins within the perimeter. For Service Perimeter Bridge, must
	// be empty.
	// Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}
	AccessLevels []string `pulumi:"accessLevels"`
	// List of EgressPolicies to apply to the perimeter. A perimeter may
	// have multiple EgressPolicies, each of which is evaluated separately.
	// Access is granted if any EgressPolicy grants it. Must be empty for
	// a perimeter bridge.
	// Structure is documented below.
	EgressPolicies []ServicePerimeterSpecEgressPolicy `pulumi:"egressPolicies"`
	// List of `IngressPolicies` to apply to the perimeter. A perimeter may
	// have multiple `IngressPolicies`, each of which is evaluated
	// separately. Access is granted if any `Ingress Policy` grants it.
	// Must be empty for a perimeter bridge.
	// Structure is documented below.
	IngressPolicies []ServicePerimeterSpecIngressPolicy `pulumi:"ingressPolicies"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources []string `pulumi:"resources"`
	// GCP services that are subject to the Service Perimeter
	// restrictions. Must contain a list of services. For example, if
	// `storage.googleapis.com` is specified, access to the storage
	// buckets inside the perimeter must meet the perimeter's access
	// restrictions.
	RestrictedServices []string `pulumi:"restrictedServices"`
	// Specifies how APIs are allowed to communicate within the Service
	// Perimeter.
	// Structure is documented below.
	VpcAccessibleServices *ServicePerimeterSpecVpcAccessibleServices `pulumi:"vpcAccessibleServices"`
}

type ServicePerimeterSpecArgs

type ServicePerimeterSpecArgs struct {
	// A list of AccessLevel resource names that allow resources within
	// the ServicePerimeter to be accessed from the internet.
	// AccessLevels listed must be in the same policy as this
	// ServicePerimeter. Referencing a nonexistent AccessLevel is a
	// syntax error. If no AccessLevel names are listed, resources within
	// the perimeter can only be accessed via GCP calls with request
	// origins within the perimeter. For Service Perimeter Bridge, must
	// be empty.
	// Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}
	AccessLevels pulumi.StringArrayInput `pulumi:"accessLevels"`
	// List of EgressPolicies to apply to the perimeter. A perimeter may
	// have multiple EgressPolicies, each of which is evaluated separately.
	// Access is granted if any EgressPolicy grants it. Must be empty for
	// a perimeter bridge.
	// Structure is documented below.
	EgressPolicies ServicePerimeterSpecEgressPolicyArrayInput `pulumi:"egressPolicies"`
	// List of `IngressPolicies` to apply to the perimeter. A perimeter may
	// have multiple `IngressPolicies`, each of which is evaluated
	// separately. Access is granted if any `Ingress Policy` grants it.
	// Must be empty for a perimeter bridge.
	// Structure is documented below.
	IngressPolicies ServicePerimeterSpecIngressPolicyArrayInput `pulumi:"ingressPolicies"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources pulumi.StringArrayInput `pulumi:"resources"`
	// GCP services that are subject to the Service Perimeter
	// restrictions. Must contain a list of services. For example, if
	// `storage.googleapis.com` is specified, access to the storage
	// buckets inside the perimeter must meet the perimeter's access
	// restrictions.
	RestrictedServices pulumi.StringArrayInput `pulumi:"restrictedServices"`
	// Specifies how APIs are allowed to communicate within the Service
	// Perimeter.
	// Structure is documented below.
	VpcAccessibleServices ServicePerimeterSpecVpcAccessibleServicesPtrInput `pulumi:"vpcAccessibleServices"`
}

func (ServicePerimeterSpecArgs) ElementType

func (ServicePerimeterSpecArgs) ElementType() reflect.Type

func (ServicePerimeterSpecArgs) ToServicePerimeterSpecOutput

func (i ServicePerimeterSpecArgs) ToServicePerimeterSpecOutput() ServicePerimeterSpecOutput

func (ServicePerimeterSpecArgs) ToServicePerimeterSpecOutputWithContext

func (i ServicePerimeterSpecArgs) ToServicePerimeterSpecOutputWithContext(ctx context.Context) ServicePerimeterSpecOutput

func (ServicePerimeterSpecArgs) ToServicePerimeterSpecPtrOutput

func (i ServicePerimeterSpecArgs) ToServicePerimeterSpecPtrOutput() ServicePerimeterSpecPtrOutput

func (ServicePerimeterSpecArgs) ToServicePerimeterSpecPtrOutputWithContext

func (i ServicePerimeterSpecArgs) ToServicePerimeterSpecPtrOutputWithContext(ctx context.Context) ServicePerimeterSpecPtrOutput

type ServicePerimeterSpecEgressPolicy

type ServicePerimeterSpecEgressPolicy struct {
	// Defines conditions on the source of a request causing this `EgressPolicy` to apply.
	// Structure is documented below.
	EgressFrom *ServicePerimeterSpecEgressPolicyEgressFrom `pulumi:"egressFrom"`
	// Defines the conditions on the `ApiOperation` and destination resources that
	// cause this `EgressPolicy` to apply.
	// Structure is documented below.
	EgressTo *ServicePerimeterSpecEgressPolicyEgressTo `pulumi:"egressTo"`
}

type ServicePerimeterSpecEgressPolicyArgs

type ServicePerimeterSpecEgressPolicyArgs struct {
	// Defines conditions on the source of a request causing this `EgressPolicy` to apply.
	// Structure is documented below.
	EgressFrom ServicePerimeterSpecEgressPolicyEgressFromPtrInput `pulumi:"egressFrom"`
	// Defines the conditions on the `ApiOperation` and destination resources that
	// cause this `EgressPolicy` to apply.
	// Structure is documented below.
	EgressTo ServicePerimeterSpecEgressPolicyEgressToPtrInput `pulumi:"egressTo"`
}

func (ServicePerimeterSpecEgressPolicyArgs) ElementType

func (ServicePerimeterSpecEgressPolicyArgs) ToServicePerimeterSpecEgressPolicyOutput

func (i ServicePerimeterSpecEgressPolicyArgs) ToServicePerimeterSpecEgressPolicyOutput() ServicePerimeterSpecEgressPolicyOutput

func (ServicePerimeterSpecEgressPolicyArgs) ToServicePerimeterSpecEgressPolicyOutputWithContext

func (i ServicePerimeterSpecEgressPolicyArgs) ToServicePerimeterSpecEgressPolicyOutputWithContext(ctx context.Context) ServicePerimeterSpecEgressPolicyOutput

type ServicePerimeterSpecEgressPolicyArray

type ServicePerimeterSpecEgressPolicyArray []ServicePerimeterSpecEgressPolicyInput

func (ServicePerimeterSpecEgressPolicyArray) ElementType

func (ServicePerimeterSpecEgressPolicyArray) ToServicePerimeterSpecEgressPolicyArrayOutput

func (i ServicePerimeterSpecEgressPolicyArray) ToServicePerimeterSpecEgressPolicyArrayOutput() ServicePerimeterSpecEgressPolicyArrayOutput

func (ServicePerimeterSpecEgressPolicyArray) ToServicePerimeterSpecEgressPolicyArrayOutputWithContext

func (i ServicePerimeterSpecEgressPolicyArray) ToServicePerimeterSpecEgressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimeterSpecEgressPolicyArrayOutput

type ServicePerimeterSpecEgressPolicyArrayInput

type ServicePerimeterSpecEgressPolicyArrayInput interface {
	pulumi.Input

	ToServicePerimeterSpecEgressPolicyArrayOutput() ServicePerimeterSpecEgressPolicyArrayOutput
	ToServicePerimeterSpecEgressPolicyArrayOutputWithContext(context.Context) ServicePerimeterSpecEgressPolicyArrayOutput
}

ServicePerimeterSpecEgressPolicyArrayInput is an input type that accepts ServicePerimeterSpecEgressPolicyArray and ServicePerimeterSpecEgressPolicyArrayOutput values. You can construct a concrete instance of `ServicePerimeterSpecEgressPolicyArrayInput` via:

ServicePerimeterSpecEgressPolicyArray{ ServicePerimeterSpecEgressPolicyArgs{...} }

type ServicePerimeterSpecEgressPolicyArrayOutput

type ServicePerimeterSpecEgressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyArrayOutput) ElementType

func (ServicePerimeterSpecEgressPolicyArrayOutput) Index

func (ServicePerimeterSpecEgressPolicyArrayOutput) ToServicePerimeterSpecEgressPolicyArrayOutput

func (o ServicePerimeterSpecEgressPolicyArrayOutput) ToServicePerimeterSpecEgressPolicyArrayOutput() ServicePerimeterSpecEgressPolicyArrayOutput

func (ServicePerimeterSpecEgressPolicyArrayOutput) ToServicePerimeterSpecEgressPolicyArrayOutputWithContext

func (o ServicePerimeterSpecEgressPolicyArrayOutput) ToServicePerimeterSpecEgressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimeterSpecEgressPolicyArrayOutput

type ServicePerimeterSpecEgressPolicyEgressFrom

type ServicePerimeterSpecEgressPolicyEgressFrom struct {
	// A list of identities that are allowed access through this `EgressPolicy`.
	// Should be in the format of email address. The email address should
	// represent individual user or service account only.
	Identities []string `pulumi:"identities"`
	// Specifies the type of identities that are allowed access to outside the
	// perimeter. If left unspecified, then members of `identities` field will
	// be allowed access.
	// Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.
	IdentityType *string `pulumi:"identityType"`
}

type ServicePerimeterSpecEgressPolicyEgressFromArgs

type ServicePerimeterSpecEgressPolicyEgressFromArgs struct {
	// A list of identities that are allowed access through this `EgressPolicy`.
	// Should be in the format of email address. The email address should
	// represent individual user or service account only.
	Identities pulumi.StringArrayInput `pulumi:"identities"`
	// Specifies the type of identities that are allowed access to outside the
	// perimeter. If left unspecified, then members of `identities` field will
	// be allowed access.
	// Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.
	IdentityType pulumi.StringPtrInput `pulumi:"identityType"`
}

func (ServicePerimeterSpecEgressPolicyEgressFromArgs) ElementType

func (ServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimeterSpecEgressPolicyEgressFromOutput

func (i ServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimeterSpecEgressPolicyEgressFromOutput() ServicePerimeterSpecEgressPolicyEgressFromOutput

func (ServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimeterSpecEgressPolicyEgressFromOutputWithContext

func (i ServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimeterSpecEgressPolicyEgressFromOutputWithContext(ctx context.Context) ServicePerimeterSpecEgressPolicyEgressFromOutput

func (ServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (i ServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutput() ServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (ServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext

func (i ServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext(ctx context.Context) ServicePerimeterSpecEgressPolicyEgressFromPtrOutput

type ServicePerimeterSpecEgressPolicyEgressFromInput

type ServicePerimeterSpecEgressPolicyEgressFromInput interface {
	pulumi.Input

	ToServicePerimeterSpecEgressPolicyEgressFromOutput() ServicePerimeterSpecEgressPolicyEgressFromOutput
	ToServicePerimeterSpecEgressPolicyEgressFromOutputWithContext(context.Context) ServicePerimeterSpecEgressPolicyEgressFromOutput
}

ServicePerimeterSpecEgressPolicyEgressFromInput is an input type that accepts ServicePerimeterSpecEgressPolicyEgressFromArgs and ServicePerimeterSpecEgressPolicyEgressFromOutput values. You can construct a concrete instance of `ServicePerimeterSpecEgressPolicyEgressFromInput` via:

ServicePerimeterSpecEgressPolicyEgressFromArgs{...}

type ServicePerimeterSpecEgressPolicyEgressFromOutput

type ServicePerimeterSpecEgressPolicyEgressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressFromOutput) ElementType

func (ServicePerimeterSpecEgressPolicyEgressFromOutput) Identities

A list of identities that are allowed access through this `EgressPolicy`. Should be in the format of email address. The email address should represent individual user or service account only.

func (ServicePerimeterSpecEgressPolicyEgressFromOutput) IdentityType

Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access. Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.

func (ServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimeterSpecEgressPolicyEgressFromOutput

func (o ServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimeterSpecEgressPolicyEgressFromOutput() ServicePerimeterSpecEgressPolicyEgressFromOutput

func (ServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimeterSpecEgressPolicyEgressFromOutputWithContext

func (o ServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimeterSpecEgressPolicyEgressFromOutputWithContext(ctx context.Context) ServicePerimeterSpecEgressPolicyEgressFromOutput

func (ServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (o ServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutput() ServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (ServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext

func (o ServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext(ctx context.Context) ServicePerimeterSpecEgressPolicyEgressFromPtrOutput

type ServicePerimeterSpecEgressPolicyEgressFromPtrInput

type ServicePerimeterSpecEgressPolicyEgressFromPtrInput interface {
	pulumi.Input

	ToServicePerimeterSpecEgressPolicyEgressFromPtrOutput() ServicePerimeterSpecEgressPolicyEgressFromPtrOutput
	ToServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext(context.Context) ServicePerimeterSpecEgressPolicyEgressFromPtrOutput
}

ServicePerimeterSpecEgressPolicyEgressFromPtrInput is an input type that accepts ServicePerimeterSpecEgressPolicyEgressFromArgs, ServicePerimeterSpecEgressPolicyEgressFromPtr and ServicePerimeterSpecEgressPolicyEgressFromPtrOutput values. You can construct a concrete instance of `ServicePerimeterSpecEgressPolicyEgressFromPtrInput` via:

        ServicePerimeterSpecEgressPolicyEgressFromArgs{...}

or:

        nil

type ServicePerimeterSpecEgressPolicyEgressFromPtrOutput

type ServicePerimeterSpecEgressPolicyEgressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressFromPtrOutput) Elem

func (ServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ElementType

func (ServicePerimeterSpecEgressPolicyEgressFromPtrOutput) Identities

A list of identities that are allowed access through this `EgressPolicy`. Should be in the format of email address. The email address should represent individual user or service account only.

func (ServicePerimeterSpecEgressPolicyEgressFromPtrOutput) IdentityType

Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access. Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.

func (ServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (o ServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutput() ServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (ServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext

func (o ServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext(ctx context.Context) ServicePerimeterSpecEgressPolicyEgressFromPtrOutput

type ServicePerimeterSpecEgressPolicyEgressTo

type ServicePerimeterSpecEgressPolicyEgressTo struct {
	// A list of `ApiOperations` that this egress rule applies to. A request matches
	// if it contains an operation/service in this list.
	// Structure is documented below.
	Operations []ServicePerimeterSpecEgressPolicyEgressToOperation `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources []string `pulumi:"resources"`
}

type ServicePerimeterSpecEgressPolicyEgressToArgs

type ServicePerimeterSpecEgressPolicyEgressToArgs struct {
	// A list of `ApiOperations` that this egress rule applies to. A request matches
	// if it contains an operation/service in this list.
	// Structure is documented below.
	Operations ServicePerimeterSpecEgressPolicyEgressToOperationArrayInput `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources pulumi.StringArrayInput `pulumi:"resources"`
}

func (ServicePerimeterSpecEgressPolicyEgressToArgs) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimeterSpecEgressPolicyEgressToOutput

func (i ServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimeterSpecEgressPolicyEgressToOutput() ServicePerimeterSpecEgressPolicyEgressToOutput

func (ServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimeterSpecEgressPolicyEgressToOutputWithContext

func (i ServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimeterSpecEgressPolicyEgressToOutputWithContext(ctx context.Context) ServicePerimeterSpecEgressPolicyEgressToOutput

func (ServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (i ServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimeterSpecEgressPolicyEgressToPtrOutput() ServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (ServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext

func (i ServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext(ctx context.Context) ServicePerimeterSpecEgressPolicyEgressToPtrOutput

type ServicePerimeterSpecEgressPolicyEgressToInput

type ServicePerimeterSpecEgressPolicyEgressToInput interface {
	pulumi.Input

	ToServicePerimeterSpecEgressPolicyEgressToOutput() ServicePerimeterSpecEgressPolicyEgressToOutput
	ToServicePerimeterSpecEgressPolicyEgressToOutputWithContext(context.Context) ServicePerimeterSpecEgressPolicyEgressToOutput
}

ServicePerimeterSpecEgressPolicyEgressToInput is an input type that accepts ServicePerimeterSpecEgressPolicyEgressToArgs and ServicePerimeterSpecEgressPolicyEgressToOutput values. You can construct a concrete instance of `ServicePerimeterSpecEgressPolicyEgressToInput` via:

ServicePerimeterSpecEgressPolicyEgressToArgs{...}

type ServicePerimeterSpecEgressPolicyEgressToOperation

type ServicePerimeterSpecEgressPolicyEgressToOperation struct {
	// API methods or permissions to allow. Method or permission must belong
	// to the service specified by `serviceName` field. A single MethodSelector
	// entry with `*` specified for the `method` field will allow all methods
	// AND permissions for the service specified in `serviceName`.
	// Structure is documented below.
	MethodSelectors []ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelector `pulumi:"methodSelectors"`
	// The name of the API whose methods or permissions the `IngressPolicy` or
	// `EgressPolicy` want to allow. A single `ApiOperation` with serviceName
	// field set to `*` will allow all methods AND permissions for all services.
	ServiceName *string `pulumi:"serviceName"`
}

type ServicePerimeterSpecEgressPolicyEgressToOperationArgs

type ServicePerimeterSpecEgressPolicyEgressToOperationArgs struct {
	// API methods or permissions to allow. Method or permission must belong
	// to the service specified by `serviceName` field. A single MethodSelector
	// entry with `*` specified for the `method` field will allow all methods
	// AND permissions for the service specified in `serviceName`.
	// Structure is documented below.
	MethodSelectors ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayInput `pulumi:"methodSelectors"`
	// The name of the API whose methods or permissions the `IngressPolicy` or
	// `EgressPolicy` want to allow. A single `ApiOperation` with serviceName
	// field set to `*` will allow all methods AND permissions for all services.
	ServiceName pulumi.StringPtrInput `pulumi:"serviceName"`
}

func (ServicePerimeterSpecEgressPolicyEgressToOperationArgs) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOperationArgs) ToServicePerimeterSpecEgressPolicyEgressToOperationOutput

func (i ServicePerimeterSpecEgressPolicyEgressToOperationArgs) ToServicePerimeterSpecEgressPolicyEgressToOperationOutput() ServicePerimeterSpecEgressPolicyEgressToOperationOutput

func (ServicePerimeterSpecEgressPolicyEgressToOperationArgs) ToServicePerimeterSpecEgressPolicyEgressToOperationOutputWithContext

func (i ServicePerimeterSpecEgressPolicyEgressToOperationArgs) ToServicePerimeterSpecEgressPolicyEgressToOperationOutputWithContext(ctx context.Context) ServicePerimeterSpecEgressPolicyEgressToOperationOutput

type ServicePerimeterSpecEgressPolicyEgressToOperationArray

type ServicePerimeterSpecEgressPolicyEgressToOperationArray []ServicePerimeterSpecEgressPolicyEgressToOperationInput

func (ServicePerimeterSpecEgressPolicyEgressToOperationArray) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOperationArray) ToServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput

func (i ServicePerimeterSpecEgressPolicyEgressToOperationArray) ToServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput() ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput

func (ServicePerimeterSpecEgressPolicyEgressToOperationArray) ToServicePerimeterSpecEgressPolicyEgressToOperationArrayOutputWithContext

func (i ServicePerimeterSpecEgressPolicyEgressToOperationArray) ToServicePerimeterSpecEgressPolicyEgressToOperationArrayOutputWithContext(ctx context.Context) ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput

type ServicePerimeterSpecEgressPolicyEgressToOperationArrayInput

type ServicePerimeterSpecEgressPolicyEgressToOperationArrayInput interface {
	pulumi.Input

	ToServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput() ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput
	ToServicePerimeterSpecEgressPolicyEgressToOperationArrayOutputWithContext(context.Context) ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput
}

ServicePerimeterSpecEgressPolicyEgressToOperationArrayInput is an input type that accepts ServicePerimeterSpecEgressPolicyEgressToOperationArray and ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput values. You can construct a concrete instance of `ServicePerimeterSpecEgressPolicyEgressToOperationArrayInput` via:

ServicePerimeterSpecEgressPolicyEgressToOperationArray{ ServicePerimeterSpecEgressPolicyEgressToOperationArgs{...} }

type ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput

type ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) Index

func (ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput

func (ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationArrayOutputWithContext

func (o ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationArrayOutputWithContext(ctx context.Context) ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput

type ServicePerimeterSpecEgressPolicyEgressToOperationInput

type ServicePerimeterSpecEgressPolicyEgressToOperationInput interface {
	pulumi.Input

	ToServicePerimeterSpecEgressPolicyEgressToOperationOutput() ServicePerimeterSpecEgressPolicyEgressToOperationOutput
	ToServicePerimeterSpecEgressPolicyEgressToOperationOutputWithContext(context.Context) ServicePerimeterSpecEgressPolicyEgressToOperationOutput
}

ServicePerimeterSpecEgressPolicyEgressToOperationInput is an input type that accepts ServicePerimeterSpecEgressPolicyEgressToOperationArgs and ServicePerimeterSpecEgressPolicyEgressToOperationOutput values. You can construct a concrete instance of `ServicePerimeterSpecEgressPolicyEgressToOperationInput` via:

ServicePerimeterSpecEgressPolicyEgressToOperationArgs{...}

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelector

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelector struct {
	// Value for `method` should be a valid method name for the corresponding
	// `serviceName` in `ApiOperation`. If `*` used as value for method,
	// then ALL methods and permissions are allowed.
	Method *string `pulumi:"method"`
	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding `serviceName` in `ApiOperation`.
	Permission *string `pulumi:"permission"`
}

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs struct {
	// Value for `method` should be a valid method name for the corresponding
	// `serviceName` in `ApiOperation`. If `*` used as value for method,
	// then ALL methods and permissions are allowed.
	Method pulumi.StringPtrInput `pulumi:"method"`
	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding `serviceName` in `ApiOperation`.
	Permission pulumi.StringPtrInput `pulumi:"permission"`
}

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutputWithContext

func (i ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutputWithContext(ctx context.Context) ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray []ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext

func (i ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext(ctx context.Context) ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayInput

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayInput interface {
	pulumi.Input

	ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput() ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput
	ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext(context.Context) ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput
}

ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayInput is an input type that accepts ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray and ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput values. You can construct a concrete instance of `ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayInput` via:

ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray{ ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs{...} }

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput interface {
	pulumi.Input

	ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput() ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput
	ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutputWithContext(context.Context) ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput
}

ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput is an input type that accepts ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs and ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput values. You can construct a concrete instance of `ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput` via:

ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs{...}

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) Method

Value for `method` should be a valid method name for the corresponding `serviceName` in `ApiOperation`. If `*` used as value for method, then ALL methods and permissions are allowed.

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) Permission

Value for permission should be a valid Cloud IAM permission for the corresponding `serviceName` in `ApiOperation`.

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutputWithContext

func (o ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutputWithContext(ctx context.Context) ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput

type ServicePerimeterSpecEgressPolicyEgressToOperationOutput

type ServicePerimeterSpecEgressPolicyEgressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressToOperationOutput) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOperationOutput) MethodSelectors

API methods or permissions to allow. Method or permission must belong to the service specified by `serviceName` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `serviceName`. Structure is documented below.

func (ServicePerimeterSpecEgressPolicyEgressToOperationOutput) ServiceName

The name of the API whose methods or permissions the `IngressPolicy` or `EgressPolicy` want to allow. A single `ApiOperation` with serviceName field set to `*` will allow all methods AND permissions for all services.

func (ServicePerimeterSpecEgressPolicyEgressToOperationOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationOutput

func (ServicePerimeterSpecEgressPolicyEgressToOperationOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationOutputWithContext

func (o ServicePerimeterSpecEgressPolicyEgressToOperationOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationOutputWithContext(ctx context.Context) ServicePerimeterSpecEgressPolicyEgressToOperationOutput

type ServicePerimeterSpecEgressPolicyEgressToOutput

type ServicePerimeterSpecEgressPolicyEgressToOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressToOutput) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOutput) Operations

A list of `ApiOperations` that this egress rule applies to. A request matches if it contains an operation/service in this list. Structure is documented below.

func (ServicePerimeterSpecEgressPolicyEgressToOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, that match this to stanza. A request matches if it contains a resource in this list. If * is specified for resources, then this `EgressTo` rule will authorize access to all resources outside the perimeter.

func (ServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimeterSpecEgressPolicyEgressToOutput

func (o ServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimeterSpecEgressPolicyEgressToOutput() ServicePerimeterSpecEgressPolicyEgressToOutput

func (ServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimeterSpecEgressPolicyEgressToOutputWithContext

func (o ServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimeterSpecEgressPolicyEgressToOutputWithContext(ctx context.Context) ServicePerimeterSpecEgressPolicyEgressToOutput

func (ServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (o ServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimeterSpecEgressPolicyEgressToPtrOutput() ServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (ServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext

func (o ServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext(ctx context.Context) ServicePerimeterSpecEgressPolicyEgressToPtrOutput

type ServicePerimeterSpecEgressPolicyEgressToPtrInput

type ServicePerimeterSpecEgressPolicyEgressToPtrInput interface {
	pulumi.Input

	ToServicePerimeterSpecEgressPolicyEgressToPtrOutput() ServicePerimeterSpecEgressPolicyEgressToPtrOutput
	ToServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext(context.Context) ServicePerimeterSpecEgressPolicyEgressToPtrOutput
}

ServicePerimeterSpecEgressPolicyEgressToPtrInput is an input type that accepts ServicePerimeterSpecEgressPolicyEgressToArgs, ServicePerimeterSpecEgressPolicyEgressToPtr and ServicePerimeterSpecEgressPolicyEgressToPtrOutput values. You can construct a concrete instance of `ServicePerimeterSpecEgressPolicyEgressToPtrInput` via:

        ServicePerimeterSpecEgressPolicyEgressToArgs{...}

or:

        nil

type ServicePerimeterSpecEgressPolicyEgressToPtrOutput

type ServicePerimeterSpecEgressPolicyEgressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressToPtrOutput) Elem

func (ServicePerimeterSpecEgressPolicyEgressToPtrOutput) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToPtrOutput) Operations

A list of `ApiOperations` that this egress rule applies to. A request matches if it contains an operation/service in this list. Structure is documented below.

func (ServicePerimeterSpecEgressPolicyEgressToPtrOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, that match this to stanza. A request matches if it contains a resource in this list. If * is specified for resources, then this `EgressTo` rule will authorize access to all resources outside the perimeter.

func (ServicePerimeterSpecEgressPolicyEgressToPtrOutput) ToServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (o ServicePerimeterSpecEgressPolicyEgressToPtrOutput) ToServicePerimeterSpecEgressPolicyEgressToPtrOutput() ServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (ServicePerimeterSpecEgressPolicyEgressToPtrOutput) ToServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext

func (o ServicePerimeterSpecEgressPolicyEgressToPtrOutput) ToServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext(ctx context.Context) ServicePerimeterSpecEgressPolicyEgressToPtrOutput

type ServicePerimeterSpecEgressPolicyInput

type ServicePerimeterSpecEgressPolicyInput interface {
	pulumi.Input

	ToServicePerimeterSpecEgressPolicyOutput() ServicePerimeterSpecEgressPolicyOutput
	ToServicePerimeterSpecEgressPolicyOutputWithContext(context.Context) ServicePerimeterSpecEgressPolicyOutput
}

ServicePerimeterSpecEgressPolicyInput is an input type that accepts ServicePerimeterSpecEgressPolicyArgs and ServicePerimeterSpecEgressPolicyOutput values. You can construct a concrete instance of `ServicePerimeterSpecEgressPolicyInput` via:

ServicePerimeterSpecEgressPolicyArgs{...}

type ServicePerimeterSpecEgressPolicyOutput

type ServicePerimeterSpecEgressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyOutput) EgressFrom

Defines conditions on the source of a request causing this `EgressPolicy` to apply. Structure is documented below.

func (ServicePerimeterSpecEgressPolicyOutput) EgressTo

Defines the conditions on the `ApiOperation` and destination resources that cause this `EgressPolicy` to apply. Structure is documented below.

func (ServicePerimeterSpecEgressPolicyOutput) ElementType

func (ServicePerimeterSpecEgressPolicyOutput) ToServicePerimeterSpecEgressPolicyOutput

func (o ServicePerimeterSpecEgressPolicyOutput) ToServicePerimeterSpecEgressPolicyOutput() ServicePerimeterSpecEgressPolicyOutput

func (ServicePerimeterSpecEgressPolicyOutput) ToServicePerimeterSpecEgressPolicyOutputWithContext

func (o ServicePerimeterSpecEgressPolicyOutput) ToServicePerimeterSpecEgressPolicyOutputWithContext(ctx context.Context) ServicePerimeterSpecEgressPolicyOutput

type ServicePerimeterSpecIngressPolicy

type ServicePerimeterSpecIngressPolicy struct {
	// Defines the conditions on the source of a request causing this `IngressPolicy`
	// to apply.
	// Structure is documented below.
	IngressFrom *ServicePerimeterSpecIngressPolicyIngressFrom `pulumi:"ingressFrom"`
	// Defines the conditions on the `ApiOperation` and request destination that cause
	// this `IngressPolicy` to apply.
	// Structure is documented below.
	IngressTo *ServicePerimeterSpecIngressPolicyIngressTo `pulumi:"ingressTo"`
}

type ServicePerimeterSpecIngressPolicyArgs

type ServicePerimeterSpecIngressPolicyArgs struct {
	// Defines the conditions on the source of a request causing this `IngressPolicy`
	// to apply.
	// Structure is documented below.
	IngressFrom ServicePerimeterSpecIngressPolicyIngressFromPtrInput `pulumi:"ingressFrom"`
	// Defines the conditions on the `ApiOperation` and request destination that cause
	// this `IngressPolicy` to apply.
	// Structure is documented below.
	IngressTo ServicePerimeterSpecIngressPolicyIngressToPtrInput `pulumi:"ingressTo"`
}

func (ServicePerimeterSpecIngressPolicyArgs) ElementType

func (ServicePerimeterSpecIngressPolicyArgs) ToServicePerimeterSpecIngressPolicyOutput

func (i ServicePerimeterSpecIngressPolicyArgs) ToServicePerimeterSpecIngressPolicyOutput() ServicePerimeterSpecIngressPolicyOutput

func (ServicePerimeterSpecIngressPolicyArgs) ToServicePerimeterSpecIngressPolicyOutputWithContext

func (i ServicePerimeterSpecIngressPolicyArgs) ToServicePerimeterSpecIngressPolicyOutputWithContext(ctx context.Context) ServicePerimeterSpecIngressPolicyOutput

type ServicePerimeterSpecIngressPolicyArray

type ServicePerimeterSpecIngressPolicyArray []ServicePerimeterSpecIngressPolicyInput

func (ServicePerimeterSpecIngressPolicyArray) ElementType

func (ServicePerimeterSpecIngressPolicyArray) ToServicePerimeterSpecIngressPolicyArrayOutput

func (i ServicePerimeterSpecIngressPolicyArray) ToServicePerimeterSpecIngressPolicyArrayOutput() ServicePerimeterSpecIngressPolicyArrayOutput

func (ServicePerimeterSpecIngressPolicyArray) ToServicePerimeterSpecIngressPolicyArrayOutputWithContext

func (i ServicePerimeterSpecIngressPolicyArray) ToServicePerimeterSpecIngressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimeterSpecIngressPolicyArrayOutput

type ServicePerimeterSpecIngressPolicyArrayInput

type ServicePerimeterSpecIngressPolicyArrayInput interface {
	pulumi.Input

	ToServicePerimeterSpecIngressPolicyArrayOutput() ServicePerimeterSpecIngressPolicyArrayOutput
	ToServicePerimeterSpecIngressPolicyArrayOutputWithContext(context.Context) ServicePerimeterSpecIngressPolicyArrayOutput
}

ServicePerimeterSpecIngressPolicyArrayInput is an input type that accepts ServicePerimeterSpecIngressPolicyArray and ServicePerimeterSpecIngressPolicyArrayOutput values. You can construct a concrete instance of `ServicePerimeterSpecIngressPolicyArrayInput` via:

ServicePerimeterSpecIngressPolicyArray{ ServicePerimeterSpecIngressPolicyArgs{...} }

type ServicePerimeterSpecIngressPolicyArrayOutput

type ServicePerimeterSpecIngressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyArrayOutput) ElementType

func (ServicePerimeterSpecIngressPolicyArrayOutput) Index

func (ServicePerimeterSpecIngressPolicyArrayOutput) ToServicePerimeterSpecIngressPolicyArrayOutput

func (o ServicePerimeterSpecIngressPolicyArrayOutput) ToServicePerimeterSpecIngressPolicyArrayOutput() ServicePerimeterSpecIngressPolicyArrayOutput

func (ServicePerimeterSpecIngressPolicyArrayOutput) ToServicePerimeterSpecIngressPolicyArrayOutputWithContext

func (o ServicePerimeterSpecIngressPolicyArrayOutput) ToServicePerimeterSpecIngressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimeterSpecIngressPolicyArrayOutput

type ServicePerimeterSpecIngressPolicyIngressFrom

type ServicePerimeterSpecIngressPolicyIngressFrom struct {
	// A list of identities that are allowed access through this `EgressPolicy`.
	// Should be in the format of email address. The email address should
	// represent individual user or service account only.
	Identities []string `pulumi:"identities"`
	// Specifies the type of identities that are allowed access to outside the
	// perimeter. If left unspecified, then members of `identities` field will
	// be allowed access.
	// Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.
	IdentityType *string `pulumi:"identityType"`
	// Sources that this `IngressPolicy` authorizes access from.
	// Structure is documented below.
	Sources []ServicePerimeterSpecIngressPolicyIngressFromSource `pulumi:"sources"`
}

type ServicePerimeterSpecIngressPolicyIngressFromArgs

type ServicePerimeterSpecIngressPolicyIngressFromArgs struct {
	// A list of identities that are allowed access through this `EgressPolicy`.
	// Should be in the format of email address. The email address should
	// represent individual user or service account only.
	Identities pulumi.StringArrayInput `pulumi:"identities"`
	// Specifies the type of identities that are allowed access to outside the
	// perimeter. If left unspecified, then members of `identities` field will
	// be allowed access.
	// Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.
	IdentityType pulumi.StringPtrInput `pulumi:"identityType"`
	// Sources that this `IngressPolicy` authorizes access from.
	// Structure is documented below.
	Sources ServicePerimeterSpecIngressPolicyIngressFromSourceArrayInput `pulumi:"sources"`
}

func (ServicePerimeterSpecIngressPolicyIngressFromArgs) ElementType

func (ServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimeterSpecIngressPolicyIngressFromOutput

func (i ServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimeterSpecIngressPolicyIngressFromOutput() ServicePerimeterSpecIngressPolicyIngressFromOutput

func (ServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimeterSpecIngressPolicyIngressFromOutputWithContext

func (i ServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimeterSpecIngressPolicyIngressFromOutputWithContext(ctx context.Context) ServicePerimeterSpecIngressPolicyIngressFromOutput

func (ServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutput

func (i ServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutput() ServicePerimeterSpecIngressPolicyIngressFromPtrOutput

func (ServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext

func (i ServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext(ctx context.Context) ServicePerimeterSpecIngressPolicyIngressFromPtrOutput

type ServicePerimeterSpecIngressPolicyIngressFromInput

type ServicePerimeterSpecIngressPolicyIngressFromInput interface {
	pulumi.Input

	ToServicePerimeterSpecIngressPolicyIngressFromOutput() ServicePerimeterSpecIngressPolicyIngressFromOutput
	ToServicePerimeterSpecIngressPolicyIngressFromOutputWithContext(context.Context) ServicePerimeterSpecIngressPolicyIngressFromOutput
}

ServicePerimeterSpecIngressPolicyIngressFromInput is an input type that accepts ServicePerimeterSpecIngressPolicyIngressFromArgs and ServicePerimeterSpecIngressPolicyIngressFromOutput values. You can construct a concrete instance of `ServicePerimeterSpecIngressPolicyIngressFromInput` via:

ServicePerimeterSpecIngressPolicyIngressFromArgs{...}

type ServicePerimeterSpecIngressPolicyIngressFromOutput

type ServicePerimeterSpecIngressPolicyIngressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressFromOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressFromOutput) Identities

A list of identities that are allowed access through this `EgressPolicy`. Should be in the format of email address. The email address should represent individual user or service account only.

func (ServicePerimeterSpecIngressPolicyIngressFromOutput) IdentityType

Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access. Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.

func (ServicePerimeterSpecIngressPolicyIngressFromOutput) Sources

Sources that this `IngressPolicy` authorizes access from. Structure is documented below.

func (ServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimeterSpecIngressPolicyIngressFromOutput

func (o ServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimeterSpecIngressPolicyIngressFromOutput() ServicePerimeterSpecIngressPolicyIngressFromOutput

func (ServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimeterSpecIngressPolicyIngressFromOutputWithContext

func (o ServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimeterSpecIngressPolicyIngressFromOutputWithContext(ctx context.Context) ServicePerimeterSpecIngressPolicyIngressFromOutput

func (ServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutput

func (o ServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutput() ServicePerimeterSpecIngressPolicyIngressFromPtrOutput

func (ServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext

func (o ServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext(ctx context.Context) ServicePerimeterSpecIngressPolicyIngressFromPtrOutput

type ServicePerimeterSpecIngressPolicyIngressFromPtrInput

type ServicePerimeterSpecIngressPolicyIngressFromPtrInput interface {
	pulumi.Input

	ToServicePerimeterSpecIngressPolicyIngressFromPtrOutput() ServicePerimeterSpecIngressPolicyIngressFromPtrOutput
	ToServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext(context.Context) ServicePerimeterSpecIngressPolicyIngressFromPtrOutput
}

ServicePerimeterSpecIngressPolicyIngressFromPtrInput is an input type that accepts ServicePerimeterSpecIngressPolicyIngressFromArgs, ServicePerimeterSpecIngressPolicyIngressFromPtr and ServicePerimeterSpecIngressPolicyIngressFromPtrOutput values. You can construct a concrete instance of `ServicePerimeterSpecIngressPolicyIngressFromPtrInput` via:

        ServicePerimeterSpecIngressPolicyIngressFromArgs{...}

or:

        nil

type ServicePerimeterSpecIngressPolicyIngressFromPtrOutput

type ServicePerimeterSpecIngressPolicyIngressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressFromPtrOutput) Elem

func (ServicePerimeterSpecIngressPolicyIngressFromPtrOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressFromPtrOutput) Identities

A list of identities that are allowed access through this `EgressPolicy`. Should be in the format of email address. The email address should represent individual user or service account only.

func (ServicePerimeterSpecIngressPolicyIngressFromPtrOutput) IdentityType

Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access. Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.

func (ServicePerimeterSpecIngressPolicyIngressFromPtrOutput) Sources

Sources that this `IngressPolicy` authorizes access from. Structure is documented below.

func (ServicePerimeterSpecIngressPolicyIngressFromPtrOutput) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutput

func (ServicePerimeterSpecIngressPolicyIngressFromPtrOutput) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext

func (o ServicePerimeterSpecIngressPolicyIngressFromPtrOutput) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext(ctx context.Context) ServicePerimeterSpecIngressPolicyIngressFromPtrOutput

type ServicePerimeterSpecIngressPolicyIngressFromSource

type ServicePerimeterSpecIngressPolicyIngressFromSource struct {
	// An `AccessLevel` resource name that allow resources within the
	// `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
	// must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
	// `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
	// resources within the perimeter can only be accessed via Google Cloud calls
	// with request origins within the perimeter.
	// Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
	// If * is specified, then all IngressSources will be allowed.
	AccessLevel *string `pulumi:"accessLevel"`
	// A Google Cloud resource that is allowed to ingress the perimeter.
	// Requests from these resources will be allowed to access perimeter data.
	// Currently only projects are allowed. Format `projects/{project_number}`
	// The project may be in any Google Cloud organization, not just the
	// organization that the perimeter is defined in. `*` is not allowed, the case
	// of allowing all Google Cloud resources only is not supported.
	Resource *string `pulumi:"resource"`
}

type ServicePerimeterSpecIngressPolicyIngressFromSourceArgs

type ServicePerimeterSpecIngressPolicyIngressFromSourceArgs struct {
	// An `AccessLevel` resource name that allow resources within the
	// `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
	// must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
	// `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
	// resources within the perimeter can only be accessed via Google Cloud calls
	// with request origins within the perimeter.
	// Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
	// If * is specified, then all IngressSources will be allowed.
	AccessLevel pulumi.StringPtrInput `pulumi:"accessLevel"`
	// A Google Cloud resource that is allowed to ingress the perimeter.
	// Requests from these resources will be allowed to access perimeter data.
	// Currently only projects are allowed. Format `projects/{project_number}`
	// The project may be in any Google Cloud organization, not just the
	// organization that the perimeter is defined in. `*` is not allowed, the case
	// of allowing all Google Cloud resources only is not supported.
	Resource pulumi.StringPtrInput `pulumi:"resource"`
}

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ElementType

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ToServicePerimeterSpecIngressPolicyIngressFromSourceOutput

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ToServicePerimeterSpecIngressPolicyIngressFromSourceOutputWithContext

func (i ServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ToServicePerimeterSpecIngressPolicyIngressFromSourceOutputWithContext(ctx context.Context) ServicePerimeterSpecIngressPolicyIngressFromSourceOutput

type ServicePerimeterSpecIngressPolicyIngressFromSourceArray

type ServicePerimeterSpecIngressPolicyIngressFromSourceArray []ServicePerimeterSpecIngressPolicyIngressFromSourceInput

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArray) ElementType

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArray) ToServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput

func (i ServicePerimeterSpecIngressPolicyIngressFromSourceArray) ToServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput() ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArray) ToServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutputWithContext

func (i ServicePerimeterSpecIngressPolicyIngressFromSourceArray) ToServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutputWithContext(ctx context.Context) ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput

type ServicePerimeterSpecIngressPolicyIngressFromSourceArrayInput

type ServicePerimeterSpecIngressPolicyIngressFromSourceArrayInput interface {
	pulumi.Input

	ToServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput() ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput
	ToServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutputWithContext(context.Context) ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput
}

ServicePerimeterSpecIngressPolicyIngressFromSourceArrayInput is an input type that accepts ServicePerimeterSpecIngressPolicyIngressFromSourceArray and ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput values. You can construct a concrete instance of `ServicePerimeterSpecIngressPolicyIngressFromSourceArrayInput` via:

ServicePerimeterSpecIngressPolicyIngressFromSourceArray{ ServicePerimeterSpecIngressPolicyIngressFromSourceArgs{...} }

type ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput

type ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) Index

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ToServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ToServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutputWithContext

func (o ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ToServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutputWithContext(ctx context.Context) ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput

type ServicePerimeterSpecIngressPolicyIngressFromSourceInput

type ServicePerimeterSpecIngressPolicyIngressFromSourceInput interface {
	pulumi.Input

	ToServicePerimeterSpecIngressPolicyIngressFromSourceOutput() ServicePerimeterSpecIngressPolicyIngressFromSourceOutput
	ToServicePerimeterSpecIngressPolicyIngressFromSourceOutputWithContext(context.Context) ServicePerimeterSpecIngressPolicyIngressFromSourceOutput
}

ServicePerimeterSpecIngressPolicyIngressFromSourceInput is an input type that accepts ServicePerimeterSpecIngressPolicyIngressFromSourceArgs and ServicePerimeterSpecIngressPolicyIngressFromSourceOutput values. You can construct a concrete instance of `ServicePerimeterSpecIngressPolicyIngressFromSourceInput` via:

ServicePerimeterSpecIngressPolicyIngressFromSourceArgs{...}

type ServicePerimeterSpecIngressPolicyIngressFromSourceOutput

type ServicePerimeterSpecIngressPolicyIngressFromSourceOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressFromSourceOutput) AccessLevel

An `AccessLevel` resource name that allow resources within the `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent `AccessLevel` will cause an error. If no `AccessLevel` names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.` If * is specified, then all IngressSources will be allowed.

func (ServicePerimeterSpecIngressPolicyIngressFromSourceOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressFromSourceOutput) Resource

A Google Cloud resource that is allowed to ingress the perimeter. Requests from these resources will be allowed to access perimeter data. Currently only projects are allowed. Format `projects/{project_number}` The project may be in any Google Cloud organization, not just the organization that the perimeter is defined in. `*` is not allowed, the case of allowing all Google Cloud resources only is not supported.

func (ServicePerimeterSpecIngressPolicyIngressFromSourceOutput) ToServicePerimeterSpecIngressPolicyIngressFromSourceOutput

func (ServicePerimeterSpecIngressPolicyIngressFromSourceOutput) ToServicePerimeterSpecIngressPolicyIngressFromSourceOutputWithContext

func (o ServicePerimeterSpecIngressPolicyIngressFromSourceOutput) ToServicePerimeterSpecIngressPolicyIngressFromSourceOutputWithContext(ctx context.Context) ServicePerimeterSpecIngressPolicyIngressFromSourceOutput

type ServicePerimeterSpecIngressPolicyIngressTo

type ServicePerimeterSpecIngressPolicyIngressTo struct {
	// A list of `ApiOperations` that this egress rule applies to. A request matches
	// if it contains an operation/service in this list.
	// Structure is documented below.
	Operations []ServicePerimeterSpecIngressPolicyIngressToOperation `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources []string `pulumi:"resources"`
}

type ServicePerimeterSpecIngressPolicyIngressToArgs

type ServicePerimeterSpecIngressPolicyIngressToArgs struct {
	// A list of `ApiOperations` that this egress rule applies to. A request matches
	// if it contains an operation/service in this list.
	// Structure is documented below.
	Operations ServicePerimeterSpecIngressPolicyIngressToOperationArrayInput `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources pulumi.StringArrayInput `pulumi:"resources"`
}

func (ServicePerimeterSpecIngressPolicyIngressToArgs) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimeterSpecIngressPolicyIngressToOutput

func (i ServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimeterSpecIngressPolicyIngressToOutput() ServicePerimeterSpecIngressPolicyIngressToOutput

func (ServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimeterSpecIngressPolicyIngressToOutputWithContext

func (i ServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimeterSpecIngressPolicyIngressToOutputWithContext(ctx context.Context) ServicePerimeterSpecIngressPolicyIngressToOutput

func (ServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (i ServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimeterSpecIngressPolicyIngressToPtrOutput() ServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (ServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext

func (i ServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext(ctx context.Context) ServicePerimeterSpecIngressPolicyIngressToPtrOutput

type ServicePerimeterSpecIngressPolicyIngressToInput

type ServicePerimeterSpecIngressPolicyIngressToInput interface {
	pulumi.Input

	ToServicePerimeterSpecIngressPolicyIngressToOutput() ServicePerimeterSpecIngressPolicyIngressToOutput
	ToServicePerimeterSpecIngressPolicyIngressToOutputWithContext(context.Context) ServicePerimeterSpecIngressPolicyIngressToOutput
}

ServicePerimeterSpecIngressPolicyIngressToInput is an input type that accepts ServicePerimeterSpecIngressPolicyIngressToArgs and ServicePerimeterSpecIngressPolicyIngressToOutput values. You can construct a concrete instance of `ServicePerimeterSpecIngressPolicyIngressToInput` via:

ServicePerimeterSpecIngressPolicyIngressToArgs{...}

type ServicePerimeterSpecIngressPolicyIngressToOperation

type ServicePerimeterSpecIngressPolicyIngressToOperation struct {
	// API methods or permissions to allow. Method or permission must belong
	// to the service specified by `serviceName` field. A single MethodSelector
	// entry with `*` specified for the `method` field will allow all methods
	// AND permissions for the service specified in `serviceName`.
	// Structure is documented below.
	MethodSelectors []ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelector `pulumi:"methodSelectors"`
	// The name of the API whose methods or permissions the `IngressPolicy` or
	// `EgressPolicy` want to allow. A single `ApiOperation` with serviceName
	// field set to `*` will allow all methods AND permissions for all services.
	ServiceName *string `pulumi:"serviceName"`
}

type ServicePerimeterSpecIngressPolicyIngressToOperationArgs

type ServicePerimeterSpecIngressPolicyIngressToOperationArgs struct {
	// API methods or permissions to allow. Method or permission must belong
	// to the service specified by `serviceName` field. A single MethodSelector
	// entry with `*` specified for the `method` field will allow all methods
	// AND permissions for the service specified in `serviceName`.
	// Structure is documented below.
	MethodSelectors ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayInput `pulumi:"methodSelectors"`
	// The name of the API whose methods or permissions the `IngressPolicy` or
	// `EgressPolicy` want to allow. A single `ApiOperation` with serviceName
	// field set to `*` will allow all methods AND permissions for all services.
	ServiceName pulumi.StringPtrInput `pulumi:"serviceName"`
}

func (ServicePerimeterSpecIngressPolicyIngressToOperationArgs) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOperationArgs) ToServicePerimeterSpecIngressPolicyIngressToOperationOutput

func (ServicePerimeterSpecIngressPolicyIngressToOperationArgs) ToServicePerimeterSpecIngressPolicyIngressToOperationOutputWithContext

func (i ServicePerimeterSpecIngressPolicyIngressToOperationArgs) ToServicePerimeterSpecIngressPolicyIngressToOperationOutputWithContext(ctx context.Context) ServicePerimeterSpecIngressPolicyIngressToOperationOutput

type ServicePerimeterSpecIngressPolicyIngressToOperationArray

type ServicePerimeterSpecIngressPolicyIngressToOperationArray []ServicePerimeterSpecIngressPolicyIngressToOperationInput

func (ServicePerimeterSpecIngressPolicyIngressToOperationArray) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOperationArray) ToServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput

func (i ServicePerimeterSpecIngressPolicyIngressToOperationArray) ToServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput() ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput

func (ServicePerimeterSpecIngressPolicyIngressToOperationArray) ToServicePerimeterSpecIngressPolicyIngressToOperationArrayOutputWithContext

func (i ServicePerimeterSpecIngressPolicyIngressToOperationArray) ToServicePerimeterSpecIngressPolicyIngressToOperationArrayOutputWithContext(ctx context.Context) ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput

type ServicePerimeterSpecIngressPolicyIngressToOperationArrayInput

type ServicePerimeterSpecIngressPolicyIngressToOperationArrayInput interface {
	pulumi.Input

	ToServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput() ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput
	ToServicePerimeterSpecIngressPolicyIngressToOperationArrayOutputWithContext(context.Context) ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput
}

ServicePerimeterSpecIngressPolicyIngressToOperationArrayInput is an input type that accepts ServicePerimeterSpecIngressPolicyIngressToOperationArray and ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput values. You can construct a concrete instance of `ServicePerimeterSpecIngressPolicyIngressToOperationArrayInput` via:

ServicePerimeterSpecIngressPolicyIngressToOperationArray{ ServicePerimeterSpecIngressPolicyIngressToOperationArgs{...} }

type ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput

type ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) Index

func (ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput

func (ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationArrayOutputWithContext

func (o ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationArrayOutputWithContext(ctx context.Context) ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput

type ServicePerimeterSpecIngressPolicyIngressToOperationInput

type ServicePerimeterSpecIngressPolicyIngressToOperationInput interface {
	pulumi.Input

	ToServicePerimeterSpecIngressPolicyIngressToOperationOutput() ServicePerimeterSpecIngressPolicyIngressToOperationOutput
	ToServicePerimeterSpecIngressPolicyIngressToOperationOutputWithContext(context.Context) ServicePerimeterSpecIngressPolicyIngressToOperationOutput
}

ServicePerimeterSpecIngressPolicyIngressToOperationInput is an input type that accepts ServicePerimeterSpecIngressPolicyIngressToOperationArgs and ServicePerimeterSpecIngressPolicyIngressToOperationOutput values. You can construct a concrete instance of `ServicePerimeterSpecIngressPolicyIngressToOperationInput` via:

ServicePerimeterSpecIngressPolicyIngressToOperationArgs{...}

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelector

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelector struct {
	// Value for `method` should be a valid method name for the corresponding
	// `serviceName` in `ApiOperation`. If `*` used as value for method,
	// then ALL methods and permissions are allowed.
	Method *string `pulumi:"method"`
	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding `serviceName` in `ApiOperation`.
	Permission *string `pulumi:"permission"`
}

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs struct {
	// Value for `method` should be a valid method name for the corresponding
	// `serviceName` in `ApiOperation`. If `*` used as value for method,
	// then ALL methods and permissions are allowed.
	Method pulumi.StringPtrInput `pulumi:"method"`
	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding `serviceName` in `ApiOperation`.
	Permission pulumi.StringPtrInput `pulumi:"permission"`
}

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutputWithContext

func (i ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutputWithContext(ctx context.Context) ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray []ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext

func (i ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext(ctx context.Context) ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayInput

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayInput interface {
	pulumi.Input

	ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput() ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput
	ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext(context.Context) ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput
}

ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayInput is an input type that accepts ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray and ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput values. You can construct a concrete instance of `ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayInput` via:

ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray{ ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs{...} }

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput interface {
	pulumi.Input

	ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput() ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput
	ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutputWithContext(context.Context) ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput
}

ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput is an input type that accepts ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs and ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput values. You can construct a concrete instance of `ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput` via:

ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs{...}

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) Method

Value for `method` should be a valid method name for the corresponding `serviceName` in `ApiOperation`. If `*` used as value for method, then ALL methods and permissions are allowed.

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) Permission

Value for permission should be a valid Cloud IAM permission for the corresponding `serviceName` in `ApiOperation`.

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutputWithContext

func (o ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutputWithContext(ctx context.Context) ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput

type ServicePerimeterSpecIngressPolicyIngressToOperationOutput

type ServicePerimeterSpecIngressPolicyIngressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressToOperationOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOperationOutput) MethodSelectors

API methods or permissions to allow. Method or permission must belong to the service specified by `serviceName` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `serviceName`. Structure is documented below.

func (ServicePerimeterSpecIngressPolicyIngressToOperationOutput) ServiceName

The name of the API whose methods or permissions the `IngressPolicy` or `EgressPolicy` want to allow. A single `ApiOperation` with serviceName field set to `*` will allow all methods AND permissions for all services.

func (ServicePerimeterSpecIngressPolicyIngressToOperationOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationOutput

func (ServicePerimeterSpecIngressPolicyIngressToOperationOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationOutputWithContext

func (o ServicePerimeterSpecIngressPolicyIngressToOperationOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationOutputWithContext(ctx context.Context) ServicePerimeterSpecIngressPolicyIngressToOperationOutput

type ServicePerimeterSpecIngressPolicyIngressToOutput

type ServicePerimeterSpecIngressPolicyIngressToOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressToOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOutput) Operations

A list of `ApiOperations` that this egress rule applies to. A request matches if it contains an operation/service in this list. Structure is documented below.

func (ServicePerimeterSpecIngressPolicyIngressToOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, that match this to stanza. A request matches if it contains a resource in this list. If * is specified for resources, then this `EgressTo` rule will authorize access to all resources outside the perimeter.

func (ServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimeterSpecIngressPolicyIngressToOutput

func (o ServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimeterSpecIngressPolicyIngressToOutput() ServicePerimeterSpecIngressPolicyIngressToOutput

func (ServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimeterSpecIngressPolicyIngressToOutputWithContext

func (o ServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimeterSpecIngressPolicyIngressToOutputWithContext(ctx context.Context) ServicePerimeterSpecIngressPolicyIngressToOutput

func (ServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (o ServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimeterSpecIngressPolicyIngressToPtrOutput() ServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (ServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext

func (o ServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext(ctx context.Context) ServicePerimeterSpecIngressPolicyIngressToPtrOutput

type ServicePerimeterSpecIngressPolicyIngressToPtrInput

type ServicePerimeterSpecIngressPolicyIngressToPtrInput interface {
	pulumi.Input

	ToServicePerimeterSpecIngressPolicyIngressToPtrOutput() ServicePerimeterSpecIngressPolicyIngressToPtrOutput
	ToServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext(context.Context) ServicePerimeterSpecIngressPolicyIngressToPtrOutput
}

ServicePerimeterSpecIngressPolicyIngressToPtrInput is an input type that accepts ServicePerimeterSpecIngressPolicyIngressToArgs, ServicePerimeterSpecIngressPolicyIngressToPtr and ServicePerimeterSpecIngressPolicyIngressToPtrOutput values. You can construct a concrete instance of `ServicePerimeterSpecIngressPolicyIngressToPtrInput` via:

        ServicePerimeterSpecIngressPolicyIngressToArgs{...}

or:

        nil

type ServicePerimeterSpecIngressPolicyIngressToPtrOutput

type ServicePerimeterSpecIngressPolicyIngressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressToPtrOutput) Elem

func (ServicePerimeterSpecIngressPolicyIngressToPtrOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToPtrOutput) Operations

A list of `ApiOperations` that this egress rule applies to. A request matches if it contains an operation/service in this list. Structure is documented below.

func (ServicePerimeterSpecIngressPolicyIngressToPtrOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, that match this to stanza. A request matches if it contains a resource in this list. If * is specified for resources, then this `EgressTo` rule will authorize access to all resources outside the perimeter.

func (ServicePerimeterSpecIngressPolicyIngressToPtrOutput) ToServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (o ServicePerimeterSpecIngressPolicyIngressToPtrOutput) ToServicePerimeterSpecIngressPolicyIngressToPtrOutput() ServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (ServicePerimeterSpecIngressPolicyIngressToPtrOutput) ToServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext

func (o ServicePerimeterSpecIngressPolicyIngressToPtrOutput) ToServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext(ctx context.Context) ServicePerimeterSpecIngressPolicyIngressToPtrOutput

type ServicePerimeterSpecIngressPolicyInput

type ServicePerimeterSpecIngressPolicyInput interface {
	pulumi.Input

	ToServicePerimeterSpecIngressPolicyOutput() ServicePerimeterSpecIngressPolicyOutput
	ToServicePerimeterSpecIngressPolicyOutputWithContext(context.Context) ServicePerimeterSpecIngressPolicyOutput
}

ServicePerimeterSpecIngressPolicyInput is an input type that accepts ServicePerimeterSpecIngressPolicyArgs and ServicePerimeterSpecIngressPolicyOutput values. You can construct a concrete instance of `ServicePerimeterSpecIngressPolicyInput` via:

ServicePerimeterSpecIngressPolicyArgs{...}

type ServicePerimeterSpecIngressPolicyOutput

type ServicePerimeterSpecIngressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyOutput) ElementType

func (ServicePerimeterSpecIngressPolicyOutput) IngressFrom

Defines the conditions on the source of a request causing this `IngressPolicy` to apply. Structure is documented below.

func (ServicePerimeterSpecIngressPolicyOutput) IngressTo

Defines the conditions on the `ApiOperation` and request destination that cause this `IngressPolicy` to apply. Structure is documented below.

func (ServicePerimeterSpecIngressPolicyOutput) ToServicePerimeterSpecIngressPolicyOutput

func (o ServicePerimeterSpecIngressPolicyOutput) ToServicePerimeterSpecIngressPolicyOutput() ServicePerimeterSpecIngressPolicyOutput

func (ServicePerimeterSpecIngressPolicyOutput) ToServicePerimeterSpecIngressPolicyOutputWithContext

func (o ServicePerimeterSpecIngressPolicyOutput) ToServicePerimeterSpecIngressPolicyOutputWithContext(ctx context.Context) ServicePerimeterSpecIngressPolicyOutput

type ServicePerimeterSpecInput

type ServicePerimeterSpecInput interface {
	pulumi.Input

	ToServicePerimeterSpecOutput() ServicePerimeterSpecOutput
	ToServicePerimeterSpecOutputWithContext(context.Context) ServicePerimeterSpecOutput
}

ServicePerimeterSpecInput is an input type that accepts ServicePerimeterSpecArgs and ServicePerimeterSpecOutput values. You can construct a concrete instance of `ServicePerimeterSpecInput` via:

ServicePerimeterSpecArgs{...}

type ServicePerimeterSpecOutput

type ServicePerimeterSpecOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecOutput) AccessLevels

A list of AccessLevel resource names that allow resources within the ServicePerimeter to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel is a syntax error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via GCP calls with request origins within the perimeter. For Service Perimeter Bridge, must be empty. Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}

func (ServicePerimeterSpecOutput) EgressPolicies

List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be empty for a perimeter bridge. Structure is documented below.

func (ServicePerimeterSpecOutput) ElementType

func (ServicePerimeterSpecOutput) ElementType() reflect.Type

func (ServicePerimeterSpecOutput) IngressPolicies

List of `IngressPolicies` to apply to the perimeter. A perimeter may have multiple `IngressPolicies`, each of which is evaluated separately. Access is granted if any `Ingress Policy` grants it. Must be empty for a perimeter bridge. Structure is documented below.

func (ServicePerimeterSpecOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, that match this to stanza. A request matches if it contains a resource in this list. If * is specified for resources, then this `EgressTo` rule will authorize access to all resources outside the perimeter.

func (ServicePerimeterSpecOutput) RestrictedServices

func (o ServicePerimeterSpecOutput) RestrictedServices() pulumi.StringArrayOutput

GCP services that are subject to the Service Perimeter restrictions. Must contain a list of services. For example, if `storage.googleapis.com` is specified, access to the storage buckets inside the perimeter must meet the perimeter's access restrictions.

func (ServicePerimeterSpecOutput) ToServicePerimeterSpecOutput

func (o ServicePerimeterSpecOutput) ToServicePerimeterSpecOutput() ServicePerimeterSpecOutput

func (ServicePerimeterSpecOutput) ToServicePerimeterSpecOutputWithContext

func (o ServicePerimeterSpecOutput) ToServicePerimeterSpecOutputWithContext(ctx context.Context) ServicePerimeterSpecOutput

func (ServicePerimeterSpecOutput) ToServicePerimeterSpecPtrOutput

func (o ServicePerimeterSpecOutput) ToServicePerimeterSpecPtrOutput() ServicePerimeterSpecPtrOutput

func (ServicePerimeterSpecOutput) ToServicePerimeterSpecPtrOutputWithContext

func (o ServicePerimeterSpecOutput) ToServicePerimeterSpecPtrOutputWithContext(ctx context.Context) ServicePerimeterSpecPtrOutput

func (ServicePerimeterSpecOutput) VpcAccessibleServices

Specifies how APIs are allowed to communicate within the Service Perimeter. Structure is documented below.

type ServicePerimeterSpecPtrInput

type ServicePerimeterSpecPtrInput interface {
	pulumi.Input

	ToServicePerimeterSpecPtrOutput() ServicePerimeterSpecPtrOutput
	ToServicePerimeterSpecPtrOutputWithContext(context.Context) ServicePerimeterSpecPtrOutput
}

ServicePerimeterSpecPtrInput is an input type that accepts ServicePerimeterSpecArgs, ServicePerimeterSpecPtr and ServicePerimeterSpecPtrOutput values. You can construct a concrete instance of `ServicePerimeterSpecPtrInput` via:

        ServicePerimeterSpecArgs{...}

or:

        nil

type ServicePerimeterSpecPtrOutput

type ServicePerimeterSpecPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecPtrOutput) AccessLevels

A list of AccessLevel resource names that allow resources within the ServicePerimeter to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel is a syntax error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via GCP calls with request origins within the perimeter. For Service Perimeter Bridge, must be empty. Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}

func (ServicePerimeterSpecPtrOutput) EgressPolicies

List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be empty for a perimeter bridge. Structure is documented below.

func (ServicePerimeterSpecPtrOutput) Elem

func (ServicePerimeterSpecPtrOutput) ElementType

func (ServicePerimeterSpecPtrOutput) IngressPolicies

List of `IngressPolicies` to apply to the perimeter. A perimeter may have multiple `IngressPolicies`, each of which is evaluated separately. Access is granted if any `Ingress Policy` grants it. Must be empty for a perimeter bridge. Structure is documented below.

func (ServicePerimeterSpecPtrOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, that match this to stanza. A request matches if it contains a resource in this list. If * is specified for resources, then this `EgressTo` rule will authorize access to all resources outside the perimeter.

func (ServicePerimeterSpecPtrOutput) RestrictedServices

GCP services that are subject to the Service Perimeter restrictions. Must contain a list of services. For example, if `storage.googleapis.com` is specified, access to the storage buckets inside the perimeter must meet the perimeter's access restrictions.

func (ServicePerimeterSpecPtrOutput) ToServicePerimeterSpecPtrOutput

func (o ServicePerimeterSpecPtrOutput) ToServicePerimeterSpecPtrOutput() ServicePerimeterSpecPtrOutput

func (ServicePerimeterSpecPtrOutput) ToServicePerimeterSpecPtrOutputWithContext

func (o ServicePerimeterSpecPtrOutput) ToServicePerimeterSpecPtrOutputWithContext(ctx context.Context) ServicePerimeterSpecPtrOutput

func (ServicePerimeterSpecPtrOutput) VpcAccessibleServices

Specifies how APIs are allowed to communicate within the Service Perimeter. Structure is documented below.

type ServicePerimeterSpecVpcAccessibleServices

type ServicePerimeterSpecVpcAccessibleServices struct {
	// The list of APIs usable within the Service Perimeter.
	// Must be empty unless `enableRestriction` is True.
	AllowedServices []string `pulumi:"allowedServices"`
	// Whether to restrict API calls within the Service Perimeter to the
	// list of APIs specified in 'allowedServices'.
	EnableRestriction *bool `pulumi:"enableRestriction"`
}

type ServicePerimeterSpecVpcAccessibleServicesArgs

type ServicePerimeterSpecVpcAccessibleServicesArgs struct {
	// The list of APIs usable within the Service Perimeter.
	// Must be empty unless `enableRestriction` is True.
	AllowedServices pulumi.StringArrayInput `pulumi:"allowedServices"`
	// Whether to restrict API calls within the Service Perimeter to the
	// list of APIs specified in 'allowedServices'.
	EnableRestriction pulumi.BoolPtrInput `pulumi:"enableRestriction"`
}

func (ServicePerimeterSpecVpcAccessibleServicesArgs) ElementType

func (ServicePerimeterSpecVpcAccessibleServicesArgs) ToServicePerimeterSpecVpcAccessibleServicesOutput

func (i ServicePerimeterSpecVpcAccessibleServicesArgs) ToServicePerimeterSpecVpcAccessibleServicesOutput() ServicePerimeterSpecVpcAccessibleServicesOutput

func (ServicePerimeterSpecVpcAccessibleServicesArgs) ToServicePerimeterSpecVpcAccessibleServicesOutputWithContext

func (i ServicePerimeterSpecVpcAccessibleServicesArgs) ToServicePerimeterSpecVpcAccessibleServicesOutputWithContext(ctx context.Context) ServicePerimeterSpecVpcAccessibleServicesOutput

func (ServicePerimeterSpecVpcAccessibleServicesArgs) ToServicePerimeterSpecVpcAccessibleServicesPtrOutput

func (i ServicePerimeterSpecVpcAccessibleServicesArgs) ToServicePerimeterSpecVpcAccessibleServicesPtrOutput() ServicePerimeterSpecVpcAccessibleServicesPtrOutput

func (ServicePerimeterSpecVpcAccessibleServicesArgs) ToServicePerimeterSpecVpcAccessibleServicesPtrOutputWithContext

func (i ServicePerimeterSpecVpcAccessibleServicesArgs) ToServicePerimeterSpecVpcAccessibleServicesPtrOutputWithContext(ctx context.Context) ServicePerimeterSpecVpcAccessibleServicesPtrOutput

type ServicePerimeterSpecVpcAccessibleServicesInput

type ServicePerimeterSpecVpcAccessibleServicesInput interface {
	pulumi.Input

	ToServicePerimeterSpecVpcAccessibleServicesOutput() ServicePerimeterSpecVpcAccessibleServicesOutput
	ToServicePerimeterSpecVpcAccessibleServicesOutputWithContext(context.Context) ServicePerimeterSpecVpcAccessibleServicesOutput
}

ServicePerimeterSpecVpcAccessibleServicesInput is an input type that accepts ServicePerimeterSpecVpcAccessibleServicesArgs and ServicePerimeterSpecVpcAccessibleServicesOutput values. You can construct a concrete instance of `ServicePerimeterSpecVpcAccessibleServicesInput` via:

ServicePerimeterSpecVpcAccessibleServicesArgs{...}

type ServicePerimeterSpecVpcAccessibleServicesOutput

type ServicePerimeterSpecVpcAccessibleServicesOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecVpcAccessibleServicesOutput) AllowedServices

The list of APIs usable within the Service Perimeter. Must be empty unless `enableRestriction` is True.

func (ServicePerimeterSpecVpcAccessibleServicesOutput) ElementType

func (ServicePerimeterSpecVpcAccessibleServicesOutput) EnableRestriction

Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowedServices'.

func (ServicePerimeterSpecVpcAccessibleServicesOutput) ToServicePerimeterSpecVpcAccessibleServicesOutput

func (o ServicePerimeterSpecVpcAccessibleServicesOutput) ToServicePerimeterSpecVpcAccessibleServicesOutput() ServicePerimeterSpecVpcAccessibleServicesOutput

func (ServicePerimeterSpecVpcAccessibleServicesOutput) ToServicePerimeterSpecVpcAccessibleServicesOutputWithContext

func (o ServicePerimeterSpecVpcAccessibleServicesOutput) ToServicePerimeterSpecVpcAccessibleServicesOutputWithContext(ctx context.Context) ServicePerimeterSpecVpcAccessibleServicesOutput

func (ServicePerimeterSpecVpcAccessibleServicesOutput) ToServicePerimeterSpecVpcAccessibleServicesPtrOutput

func (o ServicePerimeterSpecVpcAccessibleServicesOutput) ToServicePerimeterSpecVpcAccessibleServicesPtrOutput() ServicePerimeterSpecVpcAccessibleServicesPtrOutput

func (ServicePerimeterSpecVpcAccessibleServicesOutput) ToServicePerimeterSpecVpcAccessibleServicesPtrOutputWithContext

func (o ServicePerimeterSpecVpcAccessibleServicesOutput) ToServicePerimeterSpecVpcAccessibleServicesPtrOutputWithContext(ctx context.Context) ServicePerimeterSpecVpcAccessibleServicesPtrOutput

type ServicePerimeterSpecVpcAccessibleServicesPtrInput

type ServicePerimeterSpecVpcAccessibleServicesPtrInput interface {
	pulumi.Input

	ToServicePerimeterSpecVpcAccessibleServicesPtrOutput() ServicePerimeterSpecVpcAccessibleServicesPtrOutput
	ToServicePerimeterSpecVpcAccessibleServicesPtrOutputWithContext(context.Context) ServicePerimeterSpecVpcAccessibleServicesPtrOutput
}

ServicePerimeterSpecVpcAccessibleServicesPtrInput is an input type that accepts ServicePerimeterSpecVpcAccessibleServicesArgs, ServicePerimeterSpecVpcAccessibleServicesPtr and ServicePerimeterSpecVpcAccessibleServicesPtrOutput values. You can construct a concrete instance of `ServicePerimeterSpecVpcAccessibleServicesPtrInput` via:

        ServicePerimeterSpecVpcAccessibleServicesArgs{...}

or:

        nil

type ServicePerimeterSpecVpcAccessibleServicesPtrOutput

type ServicePerimeterSpecVpcAccessibleServicesPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecVpcAccessibleServicesPtrOutput) AllowedServices

The list of APIs usable within the Service Perimeter. Must be empty unless `enableRestriction` is True.

func (ServicePerimeterSpecVpcAccessibleServicesPtrOutput) Elem

func (ServicePerimeterSpecVpcAccessibleServicesPtrOutput) ElementType

func (ServicePerimeterSpecVpcAccessibleServicesPtrOutput) EnableRestriction

Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowedServices'.

func (ServicePerimeterSpecVpcAccessibleServicesPtrOutput) ToServicePerimeterSpecVpcAccessibleServicesPtrOutput

func (o ServicePerimeterSpecVpcAccessibleServicesPtrOutput) ToServicePerimeterSpecVpcAccessibleServicesPtrOutput() ServicePerimeterSpecVpcAccessibleServicesPtrOutput

func (ServicePerimeterSpecVpcAccessibleServicesPtrOutput) ToServicePerimeterSpecVpcAccessibleServicesPtrOutputWithContext

func (o ServicePerimeterSpecVpcAccessibleServicesPtrOutput) ToServicePerimeterSpecVpcAccessibleServicesPtrOutputWithContext(ctx context.Context) ServicePerimeterSpecVpcAccessibleServicesPtrOutput

type ServicePerimeterState

type ServicePerimeterState struct {
	// Time the AccessPolicy was created in UTC.
	CreateTime pulumi.StringPtrInput
	// Description of the ServicePerimeter and its use. Does not affect
	// behavior.
	Description pulumi.StringPtrInput
	// Resource name for the ServicePerimeter. The shortName component must
	// begin with a letter and only include alphanumeric and '_'.
	// Format: accessPolicies/{policy_id}/servicePerimeters/{short_name}
	Name pulumi.StringPtrInput
	// The AccessPolicy this ServicePerimeter lives in.
	// Format: accessPolicies/{policy_id}
	Parent pulumi.StringPtrInput
	// Specifies the type of the Perimeter. There are two types: regular and
	// bridge. Regular Service Perimeter contains resources, access levels,
	// and restricted services. Every resource can be in at most
	// ONE regular Service Perimeter.
	// In addition to being in a regular service perimeter, a resource can also
	// be in zero or more perimeter bridges. A perimeter bridge only contains
	// resources. Cross project operations are permitted if all effected
	// resources share some perimeter (whether bridge or regular). Perimeter
	// Bridge does not contain access levels or services: those are governed
	// entirely by the regular perimeter that resource is in.
	// Perimeter Bridges are typically useful when building more complex
	// topologies with many independent perimeters that need to share some data
	// with a common perimeter, but should not be able to share data among
	// themselves.
	// Default value is `PERIMETER_TYPE_REGULAR`.
	// Possible values are `PERIMETER_TYPE_REGULAR` and `PERIMETER_TYPE_BRIDGE`.
	PerimeterType pulumi.StringPtrInput
	// Proposed (or dry run) ServicePerimeter configuration.
	// This configuration allows to specify and test ServicePerimeter configuration
	// without enforcing actual access restrictions. Only allowed to be set when
	// the `useExplicitDryRunSpec` flag is set.
	// Structure is documented below.
	Spec ServicePerimeterSpecPtrInput
	// ServicePerimeter configuration. Specifies sets of resources,
	// restricted services and access levels that determine
	// perimeter content and boundaries.
	// Structure is documented below.
	Status ServicePerimeterStatusPtrInput
	// Human readable title. Must be unique within the Policy.
	Title pulumi.StringPtrInput
	// Time the AccessPolicy was updated in UTC.
	UpdateTime pulumi.StringPtrInput
	// Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly exists
	// for all Service Perimeters, and that spec is identical to the status for those
	// Service Perimeters. When this flag is set, it inhibits the generation of the
	// implicit spec, thereby allowing the user to explicitly provide a
	// configuration ("spec") to use in a dry-run version of the Service Perimeter.
	// This allows the user to test changes to the enforced config ("status") without
	// actually enforcing them. This testing is done through analyzing the differences
	// between currently enforced and suggested restrictions. useExplicitDryRunSpec must
	// bet set to True if any of the fields in the spec are set to non-default values.
	UseExplicitDryRunSpec pulumi.BoolPtrInput
}

func (ServicePerimeterState) ElementType

func (ServicePerimeterState) ElementType() reflect.Type

type ServicePerimeterStatus

type ServicePerimeterStatus struct {
	// A list of AccessLevel resource names that allow resources within
	// the ServicePerimeter to be accessed from the internet.
	// AccessLevels listed must be in the same policy as this
	// ServicePerimeter. Referencing a nonexistent AccessLevel is a
	// syntax error. If no AccessLevel names are listed, resources within
	// the perimeter can only be accessed via GCP calls with request
	// origins within the perimeter. For Service Perimeter Bridge, must
	// be empty.
	// Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}
	AccessLevels []string `pulumi:"accessLevels"`
	// List of EgressPolicies to apply to the perimeter. A perimeter may
	// have multiple EgressPolicies, each of which is evaluated separately.
	// Access is granted if any EgressPolicy grants it. Must be empty for
	// a perimeter bridge.
	// Structure is documented below.
	EgressPolicies []ServicePerimeterStatusEgressPolicy `pulumi:"egressPolicies"`
	// List of `IngressPolicies` to apply to the perimeter. A perimeter may
	// have multiple `IngressPolicies`, each of which is evaluated
	// separately. Access is granted if any `Ingress Policy` grants it.
	// Must be empty for a perimeter bridge.
	// Structure is documented below.
	IngressPolicies []ServicePerimeterStatusIngressPolicy `pulumi:"ingressPolicies"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources []string `pulumi:"resources"`
	// GCP services that are subject to the Service Perimeter
	// restrictions. Must contain a list of services. For example, if
	// `storage.googleapis.com` is specified, access to the storage
	// buckets inside the perimeter must meet the perimeter's access
	// restrictions.
	RestrictedServices []string `pulumi:"restrictedServices"`
	// Specifies how APIs are allowed to communicate within the Service
	// Perimeter.
	// Structure is documented below.
	VpcAccessibleServices *ServicePerimeterStatusVpcAccessibleServices `pulumi:"vpcAccessibleServices"`
}

type ServicePerimeterStatusArgs

type ServicePerimeterStatusArgs struct {
	// A list of AccessLevel resource names that allow resources within
	// the ServicePerimeter to be accessed from the internet.
	// AccessLevels listed must be in the same policy as this
	// ServicePerimeter. Referencing a nonexistent AccessLevel is a
	// syntax error. If no AccessLevel names are listed, resources within
	// the perimeter can only be accessed via GCP calls with request
	// origins within the perimeter. For Service Perimeter Bridge, must
	// be empty.
	// Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}
	AccessLevels pulumi.StringArrayInput `pulumi:"accessLevels"`
	// List of EgressPolicies to apply to the perimeter. A perimeter may
	// have multiple EgressPolicies, each of which is evaluated separately.
	// Access is granted if any EgressPolicy grants it. Must be empty for
	// a perimeter bridge.
	// Structure is documented below.
	EgressPolicies ServicePerimeterStatusEgressPolicyArrayInput `pulumi:"egressPolicies"`
	// List of `IngressPolicies` to apply to the perimeter. A perimeter may
	// have multiple `IngressPolicies`, each of which is evaluated
	// separately. Access is granted if any `Ingress Policy` grants it.
	// Must be empty for a perimeter bridge.
	// Structure is documented below.
	IngressPolicies ServicePerimeterStatusIngressPolicyArrayInput `pulumi:"ingressPolicies"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources pulumi.StringArrayInput `pulumi:"resources"`
	// GCP services that are subject to the Service Perimeter
	// restrictions. Must contain a list of services. For example, if
	// `storage.googleapis.com` is specified, access to the storage
	// buckets inside the perimeter must meet the perimeter's access
	// restrictions.
	RestrictedServices pulumi.StringArrayInput `pulumi:"restrictedServices"`
	// Specifies how APIs are allowed to communicate within the Service
	// Perimeter.
	// Structure is documented below.
	VpcAccessibleServices ServicePerimeterStatusVpcAccessibleServicesPtrInput `pulumi:"vpcAccessibleServices"`
}

func (ServicePerimeterStatusArgs) ElementType

func (ServicePerimeterStatusArgs) ElementType() reflect.Type

func (ServicePerimeterStatusArgs) ToServicePerimeterStatusOutput

func (i ServicePerimeterStatusArgs) ToServicePerimeterStatusOutput() ServicePerimeterStatusOutput

func (ServicePerimeterStatusArgs) ToServicePerimeterStatusOutputWithContext

func (i ServicePerimeterStatusArgs) ToServicePerimeterStatusOutputWithContext(ctx context.Context) ServicePerimeterStatusOutput

func (ServicePerimeterStatusArgs) ToServicePerimeterStatusPtrOutput

func (i ServicePerimeterStatusArgs) ToServicePerimeterStatusPtrOutput() ServicePerimeterStatusPtrOutput

func (ServicePerimeterStatusArgs) ToServicePerimeterStatusPtrOutputWithContext

func (i ServicePerimeterStatusArgs) ToServicePerimeterStatusPtrOutputWithContext(ctx context.Context) ServicePerimeterStatusPtrOutput

type ServicePerimeterStatusEgressPolicy

type ServicePerimeterStatusEgressPolicy struct {
	// Defines conditions on the source of a request causing this `EgressPolicy` to apply.
	// Structure is documented below.
	EgressFrom *ServicePerimeterStatusEgressPolicyEgressFrom `pulumi:"egressFrom"`
	// Defines the conditions on the `ApiOperation` and destination resources that
	// cause this `EgressPolicy` to apply.
	// Structure is documented below.
	EgressTo *ServicePerimeterStatusEgressPolicyEgressTo `pulumi:"egressTo"`
}

type ServicePerimeterStatusEgressPolicyArgs

type ServicePerimeterStatusEgressPolicyArgs struct {
	// Defines conditions on the source of a request causing this `EgressPolicy` to apply.
	// Structure is documented below.
	EgressFrom ServicePerimeterStatusEgressPolicyEgressFromPtrInput `pulumi:"egressFrom"`
	// Defines the conditions on the `ApiOperation` and destination resources that
	// cause this `EgressPolicy` to apply.
	// Structure is documented below.
	EgressTo ServicePerimeterStatusEgressPolicyEgressToPtrInput `pulumi:"egressTo"`
}

func (ServicePerimeterStatusEgressPolicyArgs) ElementType

func (ServicePerimeterStatusEgressPolicyArgs) ToServicePerimeterStatusEgressPolicyOutput

func (i ServicePerimeterStatusEgressPolicyArgs) ToServicePerimeterStatusEgressPolicyOutput() ServicePerimeterStatusEgressPolicyOutput

func (ServicePerimeterStatusEgressPolicyArgs) ToServicePerimeterStatusEgressPolicyOutputWithContext

func (i ServicePerimeterStatusEgressPolicyArgs) ToServicePerimeterStatusEgressPolicyOutputWithContext(ctx context.Context) ServicePerimeterStatusEgressPolicyOutput

type ServicePerimeterStatusEgressPolicyArray

type ServicePerimeterStatusEgressPolicyArray []ServicePerimeterStatusEgressPolicyInput

func (ServicePerimeterStatusEgressPolicyArray) ElementType

func (ServicePerimeterStatusEgressPolicyArray) ToServicePerimeterStatusEgressPolicyArrayOutput

func (i ServicePerimeterStatusEgressPolicyArray) ToServicePerimeterStatusEgressPolicyArrayOutput() ServicePerimeterStatusEgressPolicyArrayOutput

func (ServicePerimeterStatusEgressPolicyArray) ToServicePerimeterStatusEgressPolicyArrayOutputWithContext

func (i ServicePerimeterStatusEgressPolicyArray) ToServicePerimeterStatusEgressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimeterStatusEgressPolicyArrayOutput

type ServicePerimeterStatusEgressPolicyArrayInput

type ServicePerimeterStatusEgressPolicyArrayInput interface {
	pulumi.Input

	ToServicePerimeterStatusEgressPolicyArrayOutput() ServicePerimeterStatusEgressPolicyArrayOutput
	ToServicePerimeterStatusEgressPolicyArrayOutputWithContext(context.Context) ServicePerimeterStatusEgressPolicyArrayOutput
}

ServicePerimeterStatusEgressPolicyArrayInput is an input type that accepts ServicePerimeterStatusEgressPolicyArray and ServicePerimeterStatusEgressPolicyArrayOutput values. You can construct a concrete instance of `ServicePerimeterStatusEgressPolicyArrayInput` via:

ServicePerimeterStatusEgressPolicyArray{ ServicePerimeterStatusEgressPolicyArgs{...} }

type ServicePerimeterStatusEgressPolicyArrayOutput

type ServicePerimeterStatusEgressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyArrayOutput) ElementType

func (ServicePerimeterStatusEgressPolicyArrayOutput) Index

func (ServicePerimeterStatusEgressPolicyArrayOutput) ToServicePerimeterStatusEgressPolicyArrayOutput

func (o ServicePerimeterStatusEgressPolicyArrayOutput) ToServicePerimeterStatusEgressPolicyArrayOutput() ServicePerimeterStatusEgressPolicyArrayOutput

func (ServicePerimeterStatusEgressPolicyArrayOutput) ToServicePerimeterStatusEgressPolicyArrayOutputWithContext

func (o ServicePerimeterStatusEgressPolicyArrayOutput) ToServicePerimeterStatusEgressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimeterStatusEgressPolicyArrayOutput

type ServicePerimeterStatusEgressPolicyEgressFrom

type ServicePerimeterStatusEgressPolicyEgressFrom struct {
	// A list of identities that are allowed access through this `EgressPolicy`.
	// Should be in the format of email address. The email address should
	// represent individual user or service account only.
	Identities []string `pulumi:"identities"`
	// Specifies the type of identities that are allowed access to outside the
	// perimeter. If left unspecified, then members of `identities` field will
	// be allowed access.
	// Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.
	IdentityType *string `pulumi:"identityType"`
}

type ServicePerimeterStatusEgressPolicyEgressFromArgs

type ServicePerimeterStatusEgressPolicyEgressFromArgs struct {
	// A list of identities that are allowed access through this `EgressPolicy`.
	// Should be in the format of email address. The email address should
	// represent individual user or service account only.
	Identities pulumi.StringArrayInput `pulumi:"identities"`
	// Specifies the type of identities that are allowed access to outside the
	// perimeter. If left unspecified, then members of `identities` field will
	// be allowed access.
	// Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.
	IdentityType pulumi.StringPtrInput `pulumi:"identityType"`
}

func (ServicePerimeterStatusEgressPolicyEgressFromArgs) ElementType

func (ServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimeterStatusEgressPolicyEgressFromOutput

func (i ServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimeterStatusEgressPolicyEgressFromOutput() ServicePerimeterStatusEgressPolicyEgressFromOutput

func (ServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimeterStatusEgressPolicyEgressFromOutputWithContext

func (i ServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimeterStatusEgressPolicyEgressFromOutputWithContext(ctx context.Context) ServicePerimeterStatusEgressPolicyEgressFromOutput

func (ServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutput

func (i ServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutput() ServicePerimeterStatusEgressPolicyEgressFromPtrOutput

func (ServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext

func (i ServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext(ctx context.Context) ServicePerimeterStatusEgressPolicyEgressFromPtrOutput

type ServicePerimeterStatusEgressPolicyEgressFromInput

type ServicePerimeterStatusEgressPolicyEgressFromInput interface {
	pulumi.Input

	ToServicePerimeterStatusEgressPolicyEgressFromOutput() ServicePerimeterStatusEgressPolicyEgressFromOutput
	ToServicePerimeterStatusEgressPolicyEgressFromOutputWithContext(context.Context) ServicePerimeterStatusEgressPolicyEgressFromOutput
}

ServicePerimeterStatusEgressPolicyEgressFromInput is an input type that accepts ServicePerimeterStatusEgressPolicyEgressFromArgs and ServicePerimeterStatusEgressPolicyEgressFromOutput values. You can construct a concrete instance of `ServicePerimeterStatusEgressPolicyEgressFromInput` via:

ServicePerimeterStatusEgressPolicyEgressFromArgs{...}

type ServicePerimeterStatusEgressPolicyEgressFromOutput

type ServicePerimeterStatusEgressPolicyEgressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressFromOutput) ElementType

func (ServicePerimeterStatusEgressPolicyEgressFromOutput) Identities

A list of identities that are allowed access through this `EgressPolicy`. Should be in the format of email address. The email address should represent individual user or service account only.

func (ServicePerimeterStatusEgressPolicyEgressFromOutput) IdentityType

Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access. Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.

func (ServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimeterStatusEgressPolicyEgressFromOutput

func (o ServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimeterStatusEgressPolicyEgressFromOutput() ServicePerimeterStatusEgressPolicyEgressFromOutput

func (ServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimeterStatusEgressPolicyEgressFromOutputWithContext

func (o ServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimeterStatusEgressPolicyEgressFromOutputWithContext(ctx context.Context) ServicePerimeterStatusEgressPolicyEgressFromOutput

func (ServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutput

func (o ServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutput() ServicePerimeterStatusEgressPolicyEgressFromPtrOutput

func (ServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext

func (o ServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext(ctx context.Context) ServicePerimeterStatusEgressPolicyEgressFromPtrOutput

type ServicePerimeterStatusEgressPolicyEgressFromPtrInput

type ServicePerimeterStatusEgressPolicyEgressFromPtrInput interface {
	pulumi.Input

	ToServicePerimeterStatusEgressPolicyEgressFromPtrOutput() ServicePerimeterStatusEgressPolicyEgressFromPtrOutput
	ToServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext(context.Context) ServicePerimeterStatusEgressPolicyEgressFromPtrOutput
}

ServicePerimeterStatusEgressPolicyEgressFromPtrInput is an input type that accepts ServicePerimeterStatusEgressPolicyEgressFromArgs, ServicePerimeterStatusEgressPolicyEgressFromPtr and ServicePerimeterStatusEgressPolicyEgressFromPtrOutput values. You can construct a concrete instance of `ServicePerimeterStatusEgressPolicyEgressFromPtrInput` via:

        ServicePerimeterStatusEgressPolicyEgressFromArgs{...}

or:

        nil

type ServicePerimeterStatusEgressPolicyEgressFromPtrOutput

type ServicePerimeterStatusEgressPolicyEgressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressFromPtrOutput) Elem

func (ServicePerimeterStatusEgressPolicyEgressFromPtrOutput) ElementType

func (ServicePerimeterStatusEgressPolicyEgressFromPtrOutput) Identities

A list of identities that are allowed access through this `EgressPolicy`. Should be in the format of email address. The email address should represent individual user or service account only.

func (ServicePerimeterStatusEgressPolicyEgressFromPtrOutput) IdentityType

Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access. Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.

func (ServicePerimeterStatusEgressPolicyEgressFromPtrOutput) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutput

func (ServicePerimeterStatusEgressPolicyEgressFromPtrOutput) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext

func (o ServicePerimeterStatusEgressPolicyEgressFromPtrOutput) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext(ctx context.Context) ServicePerimeterStatusEgressPolicyEgressFromPtrOutput

type ServicePerimeterStatusEgressPolicyEgressTo

type ServicePerimeterStatusEgressPolicyEgressTo struct {
	// A list of `ApiOperations` that this egress rule applies to. A request matches
	// if it contains an operation/service in this list.
	// Structure is documented below.
	Operations []ServicePerimeterStatusEgressPolicyEgressToOperation `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources []string `pulumi:"resources"`
}

type ServicePerimeterStatusEgressPolicyEgressToArgs

type ServicePerimeterStatusEgressPolicyEgressToArgs struct {
	// A list of `ApiOperations` that this egress rule applies to. A request matches
	// if it contains an operation/service in this list.
	// Structure is documented below.
	Operations ServicePerimeterStatusEgressPolicyEgressToOperationArrayInput `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources pulumi.StringArrayInput `pulumi:"resources"`
}

func (ServicePerimeterStatusEgressPolicyEgressToArgs) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimeterStatusEgressPolicyEgressToOutput

func (i ServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimeterStatusEgressPolicyEgressToOutput() ServicePerimeterStatusEgressPolicyEgressToOutput

func (ServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimeterStatusEgressPolicyEgressToOutputWithContext

func (i ServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimeterStatusEgressPolicyEgressToOutputWithContext(ctx context.Context) ServicePerimeterStatusEgressPolicyEgressToOutput

func (ServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (i ServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimeterStatusEgressPolicyEgressToPtrOutput() ServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (ServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext

func (i ServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext(ctx context.Context) ServicePerimeterStatusEgressPolicyEgressToPtrOutput

type ServicePerimeterStatusEgressPolicyEgressToInput

type ServicePerimeterStatusEgressPolicyEgressToInput interface {
	pulumi.Input

	ToServicePerimeterStatusEgressPolicyEgressToOutput() ServicePerimeterStatusEgressPolicyEgressToOutput
	ToServicePerimeterStatusEgressPolicyEgressToOutputWithContext(context.Context) ServicePerimeterStatusEgressPolicyEgressToOutput
}

ServicePerimeterStatusEgressPolicyEgressToInput is an input type that accepts ServicePerimeterStatusEgressPolicyEgressToArgs and ServicePerimeterStatusEgressPolicyEgressToOutput values. You can construct a concrete instance of `ServicePerimeterStatusEgressPolicyEgressToInput` via:

ServicePerimeterStatusEgressPolicyEgressToArgs{...}

type ServicePerimeterStatusEgressPolicyEgressToOperation

type ServicePerimeterStatusEgressPolicyEgressToOperation struct {
	// API methods or permissions to allow. Method or permission must belong
	// to the service specified by `serviceName` field. A single MethodSelector
	// entry with `*` specified for the `method` field will allow all methods
	// AND permissions for the service specified in `serviceName`.
	// Structure is documented below.
	MethodSelectors []ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelector `pulumi:"methodSelectors"`
	// The name of the API whose methods or permissions the `IngressPolicy` or
	// `EgressPolicy` want to allow. A single `ApiOperation` with serviceName
	// field set to `*` will allow all methods AND permissions for all services.
	ServiceName *string `pulumi:"serviceName"`
}

type ServicePerimeterStatusEgressPolicyEgressToOperationArgs

type ServicePerimeterStatusEgressPolicyEgressToOperationArgs struct {
	// API methods or permissions to allow. Method or permission must belong
	// to the service specified by `serviceName` field. A single MethodSelector
	// entry with `*` specified for the `method` field will allow all methods
	// AND permissions for the service specified in `serviceName`.
	// Structure is documented below.
	MethodSelectors ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayInput `pulumi:"methodSelectors"`
	// The name of the API whose methods or permissions the `IngressPolicy` or
	// `EgressPolicy` want to allow. A single `ApiOperation` with serviceName
	// field set to `*` will allow all methods AND permissions for all services.
	ServiceName pulumi.StringPtrInput `pulumi:"serviceName"`
}

func (ServicePerimeterStatusEgressPolicyEgressToOperationArgs) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOperationArgs) ToServicePerimeterStatusEgressPolicyEgressToOperationOutput

func (ServicePerimeterStatusEgressPolicyEgressToOperationArgs) ToServicePerimeterStatusEgressPolicyEgressToOperationOutputWithContext

func (i ServicePerimeterStatusEgressPolicyEgressToOperationArgs) ToServicePerimeterStatusEgressPolicyEgressToOperationOutputWithContext(ctx context.Context) ServicePerimeterStatusEgressPolicyEgressToOperationOutput

type ServicePerimeterStatusEgressPolicyEgressToOperationArray

type ServicePerimeterStatusEgressPolicyEgressToOperationArray []ServicePerimeterStatusEgressPolicyEgressToOperationInput

func (ServicePerimeterStatusEgressPolicyEgressToOperationArray) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOperationArray) ToServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput

func (i ServicePerimeterStatusEgressPolicyEgressToOperationArray) ToServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput() ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput

func (ServicePerimeterStatusEgressPolicyEgressToOperationArray) ToServicePerimeterStatusEgressPolicyEgressToOperationArrayOutputWithContext

func (i ServicePerimeterStatusEgressPolicyEgressToOperationArray) ToServicePerimeterStatusEgressPolicyEgressToOperationArrayOutputWithContext(ctx context.Context) ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput

type ServicePerimeterStatusEgressPolicyEgressToOperationArrayInput

type ServicePerimeterStatusEgressPolicyEgressToOperationArrayInput interface {
	pulumi.Input

	ToServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput() ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput
	ToServicePerimeterStatusEgressPolicyEgressToOperationArrayOutputWithContext(context.Context) ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput
}

ServicePerimeterStatusEgressPolicyEgressToOperationArrayInput is an input type that accepts ServicePerimeterStatusEgressPolicyEgressToOperationArray and ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput values. You can construct a concrete instance of `ServicePerimeterStatusEgressPolicyEgressToOperationArrayInput` via:

ServicePerimeterStatusEgressPolicyEgressToOperationArray{ ServicePerimeterStatusEgressPolicyEgressToOperationArgs{...} }

type ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput

type ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) Index

func (ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput

func (ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationArrayOutputWithContext

func (o ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationArrayOutputWithContext(ctx context.Context) ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput

type ServicePerimeterStatusEgressPolicyEgressToOperationInput

type ServicePerimeterStatusEgressPolicyEgressToOperationInput interface {
	pulumi.Input

	ToServicePerimeterStatusEgressPolicyEgressToOperationOutput() ServicePerimeterStatusEgressPolicyEgressToOperationOutput
	ToServicePerimeterStatusEgressPolicyEgressToOperationOutputWithContext(context.Context) ServicePerimeterStatusEgressPolicyEgressToOperationOutput
}

ServicePerimeterStatusEgressPolicyEgressToOperationInput is an input type that accepts ServicePerimeterStatusEgressPolicyEgressToOperationArgs and ServicePerimeterStatusEgressPolicyEgressToOperationOutput values. You can construct a concrete instance of `ServicePerimeterStatusEgressPolicyEgressToOperationInput` via:

ServicePerimeterStatusEgressPolicyEgressToOperationArgs{...}

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelector

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelector struct {
	// Value for `method` should be a valid method name for the corresponding
	// `serviceName` in `ApiOperation`. If `*` used as value for method,
	// then ALL methods and permissions are allowed.
	Method *string `pulumi:"method"`
	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding `serviceName` in `ApiOperation`.
	Permission *string `pulumi:"permission"`
}

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs struct {
	// Value for `method` should be a valid method name for the corresponding
	// `serviceName` in `ApiOperation`. If `*` used as value for method,
	// then ALL methods and permissions are allowed.
	Method pulumi.StringPtrInput `pulumi:"method"`
	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding `serviceName` in `ApiOperation`.
	Permission pulumi.StringPtrInput `pulumi:"permission"`
}

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutputWithContext

func (i ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutputWithContext(ctx context.Context) ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray []ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext

func (i ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext(ctx context.Context) ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayInput

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayInput interface {
	pulumi.Input

	ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput() ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput
	ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext(context.Context) ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput
}

ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayInput is an input type that accepts ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray and ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput values. You can construct a concrete instance of `ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayInput` via:

ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray{ ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs{...} }

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput interface {
	pulumi.Input

	ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput() ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput
	ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutputWithContext(context.Context) ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput
}

ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput is an input type that accepts ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs and ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput values. You can construct a concrete instance of `ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput` via:

ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs{...}

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) Method

Value for `method` should be a valid method name for the corresponding `serviceName` in `ApiOperation`. If `*` used as value for method, then ALL methods and permissions are allowed.

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) Permission

Value for permission should be a valid Cloud IAM permission for the corresponding `serviceName` in `ApiOperation`.

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutputWithContext

func (o ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutputWithContext(ctx context.Context) ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput

type ServicePerimeterStatusEgressPolicyEgressToOperationOutput

type ServicePerimeterStatusEgressPolicyEgressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressToOperationOutput) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOperationOutput) MethodSelectors

API methods or permissions to allow. Method or permission must belong to the service specified by `serviceName` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `serviceName`. Structure is documented below.

func (ServicePerimeterStatusEgressPolicyEgressToOperationOutput) ServiceName

The name of the API whose methods or permissions the `IngressPolicy` or `EgressPolicy` want to allow. A single `ApiOperation` with serviceName field set to `*` will allow all methods AND permissions for all services.

func (ServicePerimeterStatusEgressPolicyEgressToOperationOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationOutput

func (ServicePerimeterStatusEgressPolicyEgressToOperationOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationOutputWithContext

func (o ServicePerimeterStatusEgressPolicyEgressToOperationOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationOutputWithContext(ctx context.Context) ServicePerimeterStatusEgressPolicyEgressToOperationOutput

type ServicePerimeterStatusEgressPolicyEgressToOutput

type ServicePerimeterStatusEgressPolicyEgressToOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressToOutput) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOutput) Operations

A list of `ApiOperations` that this egress rule applies to. A request matches if it contains an operation/service in this list. Structure is documented below.

func (ServicePerimeterStatusEgressPolicyEgressToOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, that match this to stanza. A request matches if it contains a resource in this list. If * is specified for resources, then this `EgressTo` rule will authorize access to all resources outside the perimeter.

func (ServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimeterStatusEgressPolicyEgressToOutput

func (o ServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimeterStatusEgressPolicyEgressToOutput() ServicePerimeterStatusEgressPolicyEgressToOutput

func (ServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimeterStatusEgressPolicyEgressToOutputWithContext

func (o ServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimeterStatusEgressPolicyEgressToOutputWithContext(ctx context.Context) ServicePerimeterStatusEgressPolicyEgressToOutput

func (ServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (o ServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimeterStatusEgressPolicyEgressToPtrOutput() ServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (ServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext

func (o ServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext(ctx context.Context) ServicePerimeterStatusEgressPolicyEgressToPtrOutput

type ServicePerimeterStatusEgressPolicyEgressToPtrInput

type ServicePerimeterStatusEgressPolicyEgressToPtrInput interface {
	pulumi.Input

	ToServicePerimeterStatusEgressPolicyEgressToPtrOutput() ServicePerimeterStatusEgressPolicyEgressToPtrOutput
	ToServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext(context.Context) ServicePerimeterStatusEgressPolicyEgressToPtrOutput
}

ServicePerimeterStatusEgressPolicyEgressToPtrInput is an input type that accepts ServicePerimeterStatusEgressPolicyEgressToArgs, ServicePerimeterStatusEgressPolicyEgressToPtr and ServicePerimeterStatusEgressPolicyEgressToPtrOutput values. You can construct a concrete instance of `ServicePerimeterStatusEgressPolicyEgressToPtrInput` via:

        ServicePerimeterStatusEgressPolicyEgressToArgs{...}

or:

        nil

type ServicePerimeterStatusEgressPolicyEgressToPtrOutput

type ServicePerimeterStatusEgressPolicyEgressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressToPtrOutput) Elem

func (ServicePerimeterStatusEgressPolicyEgressToPtrOutput) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToPtrOutput) Operations

A list of `ApiOperations` that this egress rule applies to. A request matches if it contains an operation/service in this list. Structure is documented below.

func (ServicePerimeterStatusEgressPolicyEgressToPtrOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, that match this to stanza. A request matches if it contains a resource in this list. If * is specified for resources, then this `EgressTo` rule will authorize access to all resources outside the perimeter.

func (ServicePerimeterStatusEgressPolicyEgressToPtrOutput) ToServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (o ServicePerimeterStatusEgressPolicyEgressToPtrOutput) ToServicePerimeterStatusEgressPolicyEgressToPtrOutput() ServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (ServicePerimeterStatusEgressPolicyEgressToPtrOutput) ToServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext

func (o ServicePerimeterStatusEgressPolicyEgressToPtrOutput) ToServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext(ctx context.Context) ServicePerimeterStatusEgressPolicyEgressToPtrOutput

type ServicePerimeterStatusEgressPolicyInput

type ServicePerimeterStatusEgressPolicyInput interface {
	pulumi.Input

	ToServicePerimeterStatusEgressPolicyOutput() ServicePerimeterStatusEgressPolicyOutput
	ToServicePerimeterStatusEgressPolicyOutputWithContext(context.Context) ServicePerimeterStatusEgressPolicyOutput
}

ServicePerimeterStatusEgressPolicyInput is an input type that accepts ServicePerimeterStatusEgressPolicyArgs and ServicePerimeterStatusEgressPolicyOutput values. You can construct a concrete instance of `ServicePerimeterStatusEgressPolicyInput` via:

ServicePerimeterStatusEgressPolicyArgs{...}

type ServicePerimeterStatusEgressPolicyOutput

type ServicePerimeterStatusEgressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyOutput) EgressFrom

Defines conditions on the source of a request causing this `EgressPolicy` to apply. Structure is documented below.

func (ServicePerimeterStatusEgressPolicyOutput) EgressTo

Defines the conditions on the `ApiOperation` and destination resources that cause this `EgressPolicy` to apply. Structure is documented below.

func (ServicePerimeterStatusEgressPolicyOutput) ElementType

func (ServicePerimeterStatusEgressPolicyOutput) ToServicePerimeterStatusEgressPolicyOutput

func (o ServicePerimeterStatusEgressPolicyOutput) ToServicePerimeterStatusEgressPolicyOutput() ServicePerimeterStatusEgressPolicyOutput

func (ServicePerimeterStatusEgressPolicyOutput) ToServicePerimeterStatusEgressPolicyOutputWithContext

func (o ServicePerimeterStatusEgressPolicyOutput) ToServicePerimeterStatusEgressPolicyOutputWithContext(ctx context.Context) ServicePerimeterStatusEgressPolicyOutput

type ServicePerimeterStatusIngressPolicy

type ServicePerimeterStatusIngressPolicy struct {
	// Defines the conditions on the source of a request causing this `IngressPolicy`
	// to apply.
	// Structure is documented below.
	IngressFrom *ServicePerimeterStatusIngressPolicyIngressFrom `pulumi:"ingressFrom"`
	// Defines the conditions on the `ApiOperation` and request destination that cause
	// this `IngressPolicy` to apply.
	// Structure is documented below.
	IngressTo *ServicePerimeterStatusIngressPolicyIngressTo `pulumi:"ingressTo"`
}

type ServicePerimeterStatusIngressPolicyArgs

type ServicePerimeterStatusIngressPolicyArgs struct {
	// Defines the conditions on the source of a request causing this `IngressPolicy`
	// to apply.
	// Structure is documented below.
	IngressFrom ServicePerimeterStatusIngressPolicyIngressFromPtrInput `pulumi:"ingressFrom"`
	// Defines the conditions on the `ApiOperation` and request destination that cause
	// this `IngressPolicy` to apply.
	// Structure is documented below.
	IngressTo ServicePerimeterStatusIngressPolicyIngressToPtrInput `pulumi:"ingressTo"`
}

func (ServicePerimeterStatusIngressPolicyArgs) ElementType

func (ServicePerimeterStatusIngressPolicyArgs) ToServicePerimeterStatusIngressPolicyOutput

func (i ServicePerimeterStatusIngressPolicyArgs) ToServicePerimeterStatusIngressPolicyOutput() ServicePerimeterStatusIngressPolicyOutput

func (ServicePerimeterStatusIngressPolicyArgs) ToServicePerimeterStatusIngressPolicyOutputWithContext

func (i ServicePerimeterStatusIngressPolicyArgs) ToServicePerimeterStatusIngressPolicyOutputWithContext(ctx context.Context) ServicePerimeterStatusIngressPolicyOutput

type ServicePerimeterStatusIngressPolicyArray

type ServicePerimeterStatusIngressPolicyArray []ServicePerimeterStatusIngressPolicyInput

func (ServicePerimeterStatusIngressPolicyArray) ElementType

func (ServicePerimeterStatusIngressPolicyArray) ToServicePerimeterStatusIngressPolicyArrayOutput

func (i ServicePerimeterStatusIngressPolicyArray) ToServicePerimeterStatusIngressPolicyArrayOutput() ServicePerimeterStatusIngressPolicyArrayOutput

func (ServicePerimeterStatusIngressPolicyArray) ToServicePerimeterStatusIngressPolicyArrayOutputWithContext

func (i ServicePerimeterStatusIngressPolicyArray) ToServicePerimeterStatusIngressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimeterStatusIngressPolicyArrayOutput

type ServicePerimeterStatusIngressPolicyArrayInput

type ServicePerimeterStatusIngressPolicyArrayInput interface {
	pulumi.Input

	ToServicePerimeterStatusIngressPolicyArrayOutput() ServicePerimeterStatusIngressPolicyArrayOutput
	ToServicePerimeterStatusIngressPolicyArrayOutputWithContext(context.Context) ServicePerimeterStatusIngressPolicyArrayOutput
}

ServicePerimeterStatusIngressPolicyArrayInput is an input type that accepts ServicePerimeterStatusIngressPolicyArray and ServicePerimeterStatusIngressPolicyArrayOutput values. You can construct a concrete instance of `ServicePerimeterStatusIngressPolicyArrayInput` via:

ServicePerimeterStatusIngressPolicyArray{ ServicePerimeterStatusIngressPolicyArgs{...} }

type ServicePerimeterStatusIngressPolicyArrayOutput

type ServicePerimeterStatusIngressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyArrayOutput) ElementType

func (ServicePerimeterStatusIngressPolicyArrayOutput) Index

func (ServicePerimeterStatusIngressPolicyArrayOutput) ToServicePerimeterStatusIngressPolicyArrayOutput

func (o ServicePerimeterStatusIngressPolicyArrayOutput) ToServicePerimeterStatusIngressPolicyArrayOutput() ServicePerimeterStatusIngressPolicyArrayOutput

func (ServicePerimeterStatusIngressPolicyArrayOutput) ToServicePerimeterStatusIngressPolicyArrayOutputWithContext

func (o ServicePerimeterStatusIngressPolicyArrayOutput) ToServicePerimeterStatusIngressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimeterStatusIngressPolicyArrayOutput

type ServicePerimeterStatusIngressPolicyIngressFrom

type ServicePerimeterStatusIngressPolicyIngressFrom struct {
	// A list of identities that are allowed access through this `EgressPolicy`.
	// Should be in the format of email address. The email address should
	// represent individual user or service account only.
	Identities []string `pulumi:"identities"`
	// Specifies the type of identities that are allowed access to outside the
	// perimeter. If left unspecified, then members of `identities` field will
	// be allowed access.
	// Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.
	IdentityType *string `pulumi:"identityType"`
	// Sources that this `IngressPolicy` authorizes access from.
	// Structure is documented below.
	Sources []ServicePerimeterStatusIngressPolicyIngressFromSource `pulumi:"sources"`
}

type ServicePerimeterStatusIngressPolicyIngressFromArgs

type ServicePerimeterStatusIngressPolicyIngressFromArgs struct {
	// A list of identities that are allowed access through this `EgressPolicy`.
	// Should be in the format of email address. The email address should
	// represent individual user or service account only.
	Identities pulumi.StringArrayInput `pulumi:"identities"`
	// Specifies the type of identities that are allowed access to outside the
	// perimeter. If left unspecified, then members of `identities` field will
	// be allowed access.
	// Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.
	IdentityType pulumi.StringPtrInput `pulumi:"identityType"`
	// Sources that this `IngressPolicy` authorizes access from.
	// Structure is documented below.
	Sources ServicePerimeterStatusIngressPolicyIngressFromSourceArrayInput `pulumi:"sources"`
}

func (ServicePerimeterStatusIngressPolicyIngressFromArgs) ElementType

func (ServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimeterStatusIngressPolicyIngressFromOutput

func (i ServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimeterStatusIngressPolicyIngressFromOutput() ServicePerimeterStatusIngressPolicyIngressFromOutput

func (ServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimeterStatusIngressPolicyIngressFromOutputWithContext

func (i ServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimeterStatusIngressPolicyIngressFromOutputWithContext(ctx context.Context) ServicePerimeterStatusIngressPolicyIngressFromOutput

func (ServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutput

func (i ServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutput() ServicePerimeterStatusIngressPolicyIngressFromPtrOutput

func (ServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext

func (i ServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext(ctx context.Context) ServicePerimeterStatusIngressPolicyIngressFromPtrOutput

type ServicePerimeterStatusIngressPolicyIngressFromInput

type ServicePerimeterStatusIngressPolicyIngressFromInput interface {
	pulumi.Input

	ToServicePerimeterStatusIngressPolicyIngressFromOutput() ServicePerimeterStatusIngressPolicyIngressFromOutput
	ToServicePerimeterStatusIngressPolicyIngressFromOutputWithContext(context.Context) ServicePerimeterStatusIngressPolicyIngressFromOutput
}

ServicePerimeterStatusIngressPolicyIngressFromInput is an input type that accepts ServicePerimeterStatusIngressPolicyIngressFromArgs and ServicePerimeterStatusIngressPolicyIngressFromOutput values. You can construct a concrete instance of `ServicePerimeterStatusIngressPolicyIngressFromInput` via:

ServicePerimeterStatusIngressPolicyIngressFromArgs{...}

type ServicePerimeterStatusIngressPolicyIngressFromOutput

type ServicePerimeterStatusIngressPolicyIngressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressFromOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressFromOutput) Identities

A list of identities that are allowed access through this `EgressPolicy`. Should be in the format of email address. The email address should represent individual user or service account only.

func (ServicePerimeterStatusIngressPolicyIngressFromOutput) IdentityType

Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access. Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.

func (ServicePerimeterStatusIngressPolicyIngressFromOutput) Sources

Sources that this `IngressPolicy` authorizes access from. Structure is documented below.

func (ServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimeterStatusIngressPolicyIngressFromOutput

func (ServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimeterStatusIngressPolicyIngressFromOutputWithContext

func (o ServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimeterStatusIngressPolicyIngressFromOutputWithContext(ctx context.Context) ServicePerimeterStatusIngressPolicyIngressFromOutput

func (ServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutput

func (o ServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutput() ServicePerimeterStatusIngressPolicyIngressFromPtrOutput

func (ServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext

func (o ServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext(ctx context.Context) ServicePerimeterStatusIngressPolicyIngressFromPtrOutput

type ServicePerimeterStatusIngressPolicyIngressFromPtrInput

type ServicePerimeterStatusIngressPolicyIngressFromPtrInput interface {
	pulumi.Input

	ToServicePerimeterStatusIngressPolicyIngressFromPtrOutput() ServicePerimeterStatusIngressPolicyIngressFromPtrOutput
	ToServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext(context.Context) ServicePerimeterStatusIngressPolicyIngressFromPtrOutput
}

ServicePerimeterStatusIngressPolicyIngressFromPtrInput is an input type that accepts ServicePerimeterStatusIngressPolicyIngressFromArgs, ServicePerimeterStatusIngressPolicyIngressFromPtr and ServicePerimeterStatusIngressPolicyIngressFromPtrOutput values. You can construct a concrete instance of `ServicePerimeterStatusIngressPolicyIngressFromPtrInput` via:

        ServicePerimeterStatusIngressPolicyIngressFromArgs{...}

or:

        nil

type ServicePerimeterStatusIngressPolicyIngressFromPtrOutput

type ServicePerimeterStatusIngressPolicyIngressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressFromPtrOutput) Elem

func (ServicePerimeterStatusIngressPolicyIngressFromPtrOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressFromPtrOutput) Identities

A list of identities that are allowed access through this `EgressPolicy`. Should be in the format of email address. The email address should represent individual user or service account only.

func (ServicePerimeterStatusIngressPolicyIngressFromPtrOutput) IdentityType

Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access. Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.

func (ServicePerimeterStatusIngressPolicyIngressFromPtrOutput) Sources

Sources that this `IngressPolicy` authorizes access from. Structure is documented below.

func (ServicePerimeterStatusIngressPolicyIngressFromPtrOutput) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutput

func (ServicePerimeterStatusIngressPolicyIngressFromPtrOutput) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext

func (o ServicePerimeterStatusIngressPolicyIngressFromPtrOutput) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext(ctx context.Context) ServicePerimeterStatusIngressPolicyIngressFromPtrOutput

type ServicePerimeterStatusIngressPolicyIngressFromSource

type ServicePerimeterStatusIngressPolicyIngressFromSource struct {
	// An `AccessLevel` resource name that allow resources within the
	// `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
	// must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
	// `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
	// resources within the perimeter can only be accessed via Google Cloud calls
	// with request origins within the perimeter.
	// Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
	// If * is specified, then all IngressSources will be allowed.
	AccessLevel *string `pulumi:"accessLevel"`
	// A Google Cloud resource that is allowed to ingress the perimeter.
	// Requests from these resources will be allowed to access perimeter data.
	// Currently only projects are allowed. Format `projects/{project_number}`
	// The project may be in any Google Cloud organization, not just the
	// organization that the perimeter is defined in. `*` is not allowed, the case
	// of allowing all Google Cloud resources only is not supported.
	Resource *string `pulumi:"resource"`
}

type ServicePerimeterStatusIngressPolicyIngressFromSourceArgs

type ServicePerimeterStatusIngressPolicyIngressFromSourceArgs struct {
	// An `AccessLevel` resource name that allow resources within the
	// `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
	// must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
	// `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
	// resources within the perimeter can only be accessed via Google Cloud calls
	// with request origins within the perimeter.
	// Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
	// If * is specified, then all IngressSources will be allowed.
	AccessLevel pulumi.StringPtrInput `pulumi:"accessLevel"`
	// A Google Cloud resource that is allowed to ingress the perimeter.
	// Requests from these resources will be allowed to access perimeter data.
	// Currently only projects are allowed. Format `projects/{project_number}`
	// The project may be in any Google Cloud organization, not just the
	// organization that the perimeter is defined in. `*` is not allowed, the case
	// of allowing all Google Cloud resources only is not supported.
	Resource pulumi.StringPtrInput `pulumi:"resource"`
}

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ElementType

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ToServicePerimeterStatusIngressPolicyIngressFromSourceOutput

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ToServicePerimeterStatusIngressPolicyIngressFromSourceOutputWithContext

func (i ServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ToServicePerimeterStatusIngressPolicyIngressFromSourceOutputWithContext(ctx context.Context) ServicePerimeterStatusIngressPolicyIngressFromSourceOutput

type ServicePerimeterStatusIngressPolicyIngressFromSourceArray

type ServicePerimeterStatusIngressPolicyIngressFromSourceArray []ServicePerimeterStatusIngressPolicyIngressFromSourceInput

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArray) ElementType

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArray) ToServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput

func (i ServicePerimeterStatusIngressPolicyIngressFromSourceArray) ToServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput() ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArray) ToServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutputWithContext

func (i ServicePerimeterStatusIngressPolicyIngressFromSourceArray) ToServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutputWithContext(ctx context.Context) ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput

type ServicePerimeterStatusIngressPolicyIngressFromSourceArrayInput

type ServicePerimeterStatusIngressPolicyIngressFromSourceArrayInput interface {
	pulumi.Input

	ToServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput() ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput
	ToServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutputWithContext(context.Context) ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput
}

ServicePerimeterStatusIngressPolicyIngressFromSourceArrayInput is an input type that accepts ServicePerimeterStatusIngressPolicyIngressFromSourceArray and ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput values. You can construct a concrete instance of `ServicePerimeterStatusIngressPolicyIngressFromSourceArrayInput` via:

ServicePerimeterStatusIngressPolicyIngressFromSourceArray{ ServicePerimeterStatusIngressPolicyIngressFromSourceArgs{...} }

type ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput

type ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) Index

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ToServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ToServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutputWithContext

func (o ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ToServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutputWithContext(ctx context.Context) ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput

type ServicePerimeterStatusIngressPolicyIngressFromSourceInput

type ServicePerimeterStatusIngressPolicyIngressFromSourceInput interface {
	pulumi.Input

	ToServicePerimeterStatusIngressPolicyIngressFromSourceOutput() ServicePerimeterStatusIngressPolicyIngressFromSourceOutput
	ToServicePerimeterStatusIngressPolicyIngressFromSourceOutputWithContext(context.Context) ServicePerimeterStatusIngressPolicyIngressFromSourceOutput
}

ServicePerimeterStatusIngressPolicyIngressFromSourceInput is an input type that accepts ServicePerimeterStatusIngressPolicyIngressFromSourceArgs and ServicePerimeterStatusIngressPolicyIngressFromSourceOutput values. You can construct a concrete instance of `ServicePerimeterStatusIngressPolicyIngressFromSourceInput` via:

ServicePerimeterStatusIngressPolicyIngressFromSourceArgs{...}

type ServicePerimeterStatusIngressPolicyIngressFromSourceOutput

type ServicePerimeterStatusIngressPolicyIngressFromSourceOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressFromSourceOutput) AccessLevel

An `AccessLevel` resource name that allow resources within the `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent `AccessLevel` will cause an error. If no `AccessLevel` names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.` If * is specified, then all IngressSources will be allowed.

func (ServicePerimeterStatusIngressPolicyIngressFromSourceOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressFromSourceOutput) Resource

A Google Cloud resource that is allowed to ingress the perimeter. Requests from these resources will be allowed to access perimeter data. Currently only projects are allowed. Format `projects/{project_number}` The project may be in any Google Cloud organization, not just the organization that the perimeter is defined in. `*` is not allowed, the case of allowing all Google Cloud resources only is not supported.

func (ServicePerimeterStatusIngressPolicyIngressFromSourceOutput) ToServicePerimeterStatusIngressPolicyIngressFromSourceOutput

func (ServicePerimeterStatusIngressPolicyIngressFromSourceOutput) ToServicePerimeterStatusIngressPolicyIngressFromSourceOutputWithContext

func (o ServicePerimeterStatusIngressPolicyIngressFromSourceOutput) ToServicePerimeterStatusIngressPolicyIngressFromSourceOutputWithContext(ctx context.Context) ServicePerimeterStatusIngressPolicyIngressFromSourceOutput

type ServicePerimeterStatusIngressPolicyIngressTo

type ServicePerimeterStatusIngressPolicyIngressTo struct {
	// A list of `ApiOperations` that this egress rule applies to. A request matches
	// if it contains an operation/service in this list.
	// Structure is documented below.
	Operations []ServicePerimeterStatusIngressPolicyIngressToOperation `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources []string `pulumi:"resources"`
}

type ServicePerimeterStatusIngressPolicyIngressToArgs

type ServicePerimeterStatusIngressPolicyIngressToArgs struct {
	// A list of `ApiOperations` that this egress rule applies to. A request matches
	// if it contains an operation/service in this list.
	// Structure is documented below.
	Operations ServicePerimeterStatusIngressPolicyIngressToOperationArrayInput `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources pulumi.StringArrayInput `pulumi:"resources"`
}

func (ServicePerimeterStatusIngressPolicyIngressToArgs) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimeterStatusIngressPolicyIngressToOutput

func (i ServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimeterStatusIngressPolicyIngressToOutput() ServicePerimeterStatusIngressPolicyIngressToOutput

func (ServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimeterStatusIngressPolicyIngressToOutputWithContext

func (i ServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimeterStatusIngressPolicyIngressToOutputWithContext(ctx context.Context) ServicePerimeterStatusIngressPolicyIngressToOutput

func (ServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimeterStatusIngressPolicyIngressToPtrOutput

func (i ServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimeterStatusIngressPolicyIngressToPtrOutput() ServicePerimeterStatusIngressPolicyIngressToPtrOutput

func (ServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext

func (i ServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext(ctx context.Context) ServicePerimeterStatusIngressPolicyIngressToPtrOutput

type ServicePerimeterStatusIngressPolicyIngressToInput

type ServicePerimeterStatusIngressPolicyIngressToInput interface {
	pulumi.Input

	ToServicePerimeterStatusIngressPolicyIngressToOutput() ServicePerimeterStatusIngressPolicyIngressToOutput
	ToServicePerimeterStatusIngressPolicyIngressToOutputWithContext(context.Context) ServicePerimeterStatusIngressPolicyIngressToOutput
}

ServicePerimeterStatusIngressPolicyIngressToInput is an input type that accepts ServicePerimeterStatusIngressPolicyIngressToArgs and ServicePerimeterStatusIngressPolicyIngressToOutput values. You can construct a concrete instance of `ServicePerimeterStatusIngressPolicyIngressToInput` via:

ServicePerimeterStatusIngressPolicyIngressToArgs{...}

type ServicePerimeterStatusIngressPolicyIngressToOperation

type ServicePerimeterStatusIngressPolicyIngressToOperation struct {
	// API methods or permissions to allow. Method or permission must belong
	// to the service specified by `serviceName` field. A single MethodSelector
	// entry with `*` specified for the `method` field will allow all methods
	// AND permissions for the service specified in `serviceName`.
	// Structure is documented below.
	MethodSelectors []ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelector `pulumi:"methodSelectors"`
	// The name of the API whose methods or permissions the `IngressPolicy` or
	// `EgressPolicy` want to allow. A single `ApiOperation` with serviceName
	// field set to `*` will allow all methods AND permissions for all services.
	ServiceName *string `pulumi:"serviceName"`
}

type ServicePerimeterStatusIngressPolicyIngressToOperationArgs

type ServicePerimeterStatusIngressPolicyIngressToOperationArgs struct {
	// API methods or permissions to allow. Method or permission must belong
	// to the service specified by `serviceName` field. A single MethodSelector
	// entry with `*` specified for the `method` field will allow all methods
	// AND permissions for the service specified in `serviceName`.
	// Structure is documented below.
	MethodSelectors ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayInput `pulumi:"methodSelectors"`
	// The name of the API whose methods or permissions the `IngressPolicy` or
	// `EgressPolicy` want to allow. A single `ApiOperation` with serviceName
	// field set to `*` will allow all methods AND permissions for all services.
	ServiceName pulumi.StringPtrInput `pulumi:"serviceName"`
}

func (ServicePerimeterStatusIngressPolicyIngressToOperationArgs) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOperationArgs) ToServicePerimeterStatusIngressPolicyIngressToOperationOutput

func (ServicePerimeterStatusIngressPolicyIngressToOperationArgs) ToServicePerimeterStatusIngressPolicyIngressToOperationOutputWithContext

func (i ServicePerimeterStatusIngressPolicyIngressToOperationArgs) ToServicePerimeterStatusIngressPolicyIngressToOperationOutputWithContext(ctx context.Context) ServicePerimeterStatusIngressPolicyIngressToOperationOutput

type ServicePerimeterStatusIngressPolicyIngressToOperationArray

type ServicePerimeterStatusIngressPolicyIngressToOperationArray []ServicePerimeterStatusIngressPolicyIngressToOperationInput

func (ServicePerimeterStatusIngressPolicyIngressToOperationArray) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOperationArray) ToServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput

func (ServicePerimeterStatusIngressPolicyIngressToOperationArray) ToServicePerimeterStatusIngressPolicyIngressToOperationArrayOutputWithContext

func (i ServicePerimeterStatusIngressPolicyIngressToOperationArray) ToServicePerimeterStatusIngressPolicyIngressToOperationArrayOutputWithContext(ctx context.Context) ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput

type ServicePerimeterStatusIngressPolicyIngressToOperationArrayInput

type ServicePerimeterStatusIngressPolicyIngressToOperationArrayInput interface {
	pulumi.Input

	ToServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput() ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput
	ToServicePerimeterStatusIngressPolicyIngressToOperationArrayOutputWithContext(context.Context) ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput
}

ServicePerimeterStatusIngressPolicyIngressToOperationArrayInput is an input type that accepts ServicePerimeterStatusIngressPolicyIngressToOperationArray and ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput values. You can construct a concrete instance of `ServicePerimeterStatusIngressPolicyIngressToOperationArrayInput` via:

ServicePerimeterStatusIngressPolicyIngressToOperationArray{ ServicePerimeterStatusIngressPolicyIngressToOperationArgs{...} }

type ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput

type ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) Index

func (ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput

func (ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationArrayOutputWithContext

func (o ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationArrayOutputWithContext(ctx context.Context) ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput

type ServicePerimeterStatusIngressPolicyIngressToOperationInput

type ServicePerimeterStatusIngressPolicyIngressToOperationInput interface {
	pulumi.Input

	ToServicePerimeterStatusIngressPolicyIngressToOperationOutput() ServicePerimeterStatusIngressPolicyIngressToOperationOutput
	ToServicePerimeterStatusIngressPolicyIngressToOperationOutputWithContext(context.Context) ServicePerimeterStatusIngressPolicyIngressToOperationOutput
}

ServicePerimeterStatusIngressPolicyIngressToOperationInput is an input type that accepts ServicePerimeterStatusIngressPolicyIngressToOperationArgs and ServicePerimeterStatusIngressPolicyIngressToOperationOutput values. You can construct a concrete instance of `ServicePerimeterStatusIngressPolicyIngressToOperationInput` via:

ServicePerimeterStatusIngressPolicyIngressToOperationArgs{...}

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelector

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelector struct {
	// Value for `method` should be a valid method name for the corresponding
	// `serviceName` in `ApiOperation`. If `*` used as value for method,
	// then ALL methods and permissions are allowed.
	Method *string `pulumi:"method"`
	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding `serviceName` in `ApiOperation`.
	Permission *string `pulumi:"permission"`
}

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs struct {
	// Value for `method` should be a valid method name for the corresponding
	// `serviceName` in `ApiOperation`. If `*` used as value for method,
	// then ALL methods and permissions are allowed.
	Method pulumi.StringPtrInput `pulumi:"method"`
	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding `serviceName` in `ApiOperation`.
	Permission pulumi.StringPtrInput `pulumi:"permission"`
}

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutputWithContext

func (i ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutputWithContext(ctx context.Context) ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray []ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext

func (i ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext(ctx context.Context) ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayInput

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayInput interface {
	pulumi.Input

	ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput() ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput
	ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext(context.Context) ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput
}

ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayInput is an input type that accepts ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray and ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput values. You can construct a concrete instance of `ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayInput` via:

ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray{ ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs{...} }

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput interface {
	pulumi.Input

	ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput() ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput
	ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutputWithContext(context.Context) ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput
}

ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput is an input type that accepts ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs and ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput values. You can construct a concrete instance of `ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput` via:

ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs{...}

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) Method

Value for `method` should be a valid method name for the corresponding `serviceName` in `ApiOperation`. If `*` used as value for method, then ALL methods and permissions are allowed.

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) Permission

Value for permission should be a valid Cloud IAM permission for the corresponding `serviceName` in `ApiOperation`.

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutputWithContext

type ServicePerimeterStatusIngressPolicyIngressToOperationOutput

type ServicePerimeterStatusIngressPolicyIngressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressToOperationOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOperationOutput) MethodSelectors

API methods or permissions to allow. Method or permission must belong to the service specified by `serviceName` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `serviceName`. Structure is documented below.

func (ServicePerimeterStatusIngressPolicyIngressToOperationOutput) ServiceName

The name of the API whose methods or permissions the `IngressPolicy` or `EgressPolicy` want to allow. A single `ApiOperation` with serviceName field set to `*` will allow all methods AND permissions for all services.

func (ServicePerimeterStatusIngressPolicyIngressToOperationOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationOutput

func (ServicePerimeterStatusIngressPolicyIngressToOperationOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationOutputWithContext

func (o ServicePerimeterStatusIngressPolicyIngressToOperationOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationOutputWithContext(ctx context.Context) ServicePerimeterStatusIngressPolicyIngressToOperationOutput

type ServicePerimeterStatusIngressPolicyIngressToOutput

type ServicePerimeterStatusIngressPolicyIngressToOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressToOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOutput) Operations

A list of `ApiOperations` that this egress rule applies to. A request matches if it contains an operation/service in this list. Structure is documented below.

func (ServicePerimeterStatusIngressPolicyIngressToOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, that match this to stanza. A request matches if it contains a resource in this list. If * is specified for resources, then this `EgressTo` rule will authorize access to all resources outside the perimeter.

func (ServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimeterStatusIngressPolicyIngressToOutput

func (o ServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimeterStatusIngressPolicyIngressToOutput() ServicePerimeterStatusIngressPolicyIngressToOutput

func (ServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimeterStatusIngressPolicyIngressToOutputWithContext

func (o ServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimeterStatusIngressPolicyIngressToOutputWithContext(ctx context.Context) ServicePerimeterStatusIngressPolicyIngressToOutput

func (ServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimeterStatusIngressPolicyIngressToPtrOutput

func (o ServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimeterStatusIngressPolicyIngressToPtrOutput() ServicePerimeterStatusIngressPolicyIngressToPtrOutput

func (ServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext

func (o ServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext(ctx context.Context) ServicePerimeterStatusIngressPolicyIngressToPtrOutput

type ServicePerimeterStatusIngressPolicyIngressToPtrInput

type ServicePerimeterStatusIngressPolicyIngressToPtrInput interface {
	pulumi.Input

	ToServicePerimeterStatusIngressPolicyIngressToPtrOutput() ServicePerimeterStatusIngressPolicyIngressToPtrOutput
	ToServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext(context.Context) ServicePerimeterStatusIngressPolicyIngressToPtrOutput
}

ServicePerimeterStatusIngressPolicyIngressToPtrInput is an input type that accepts ServicePerimeterStatusIngressPolicyIngressToArgs, ServicePerimeterStatusIngressPolicyIngressToPtr and ServicePerimeterStatusIngressPolicyIngressToPtrOutput values. You can construct a concrete instance of `ServicePerimeterStatusIngressPolicyIngressToPtrInput` via:

        ServicePerimeterStatusIngressPolicyIngressToArgs{...}

or:

        nil

type ServicePerimeterStatusIngressPolicyIngressToPtrOutput

type ServicePerimeterStatusIngressPolicyIngressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressToPtrOutput) Elem

func (ServicePerimeterStatusIngressPolicyIngressToPtrOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToPtrOutput) Operations

A list of `ApiOperations` that this egress rule applies to. A request matches if it contains an operation/service in this list. Structure is documented below.

func (ServicePerimeterStatusIngressPolicyIngressToPtrOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, that match this to stanza. A request matches if it contains a resource in this list. If * is specified for resources, then this `EgressTo` rule will authorize access to all resources outside the perimeter.

func (ServicePerimeterStatusIngressPolicyIngressToPtrOutput) ToServicePerimeterStatusIngressPolicyIngressToPtrOutput

func (ServicePerimeterStatusIngressPolicyIngressToPtrOutput) ToServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext

func (o ServicePerimeterStatusIngressPolicyIngressToPtrOutput) ToServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext(ctx context.Context) ServicePerimeterStatusIngressPolicyIngressToPtrOutput

type ServicePerimeterStatusIngressPolicyInput

type ServicePerimeterStatusIngressPolicyInput interface {
	pulumi.Input

	ToServicePerimeterStatusIngressPolicyOutput() ServicePerimeterStatusIngressPolicyOutput
	ToServicePerimeterStatusIngressPolicyOutputWithContext(context.Context) ServicePerimeterStatusIngressPolicyOutput
}

ServicePerimeterStatusIngressPolicyInput is an input type that accepts ServicePerimeterStatusIngressPolicyArgs and ServicePerimeterStatusIngressPolicyOutput values. You can construct a concrete instance of `ServicePerimeterStatusIngressPolicyInput` via:

ServicePerimeterStatusIngressPolicyArgs{...}

type ServicePerimeterStatusIngressPolicyOutput

type ServicePerimeterStatusIngressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyOutput) ElementType

func (ServicePerimeterStatusIngressPolicyOutput) IngressFrom

Defines the conditions on the source of a request causing this `IngressPolicy` to apply. Structure is documented below.

func (ServicePerimeterStatusIngressPolicyOutput) IngressTo

Defines the conditions on the `ApiOperation` and request destination that cause this `IngressPolicy` to apply. Structure is documented below.

func (ServicePerimeterStatusIngressPolicyOutput) ToServicePerimeterStatusIngressPolicyOutput

func (o ServicePerimeterStatusIngressPolicyOutput) ToServicePerimeterStatusIngressPolicyOutput() ServicePerimeterStatusIngressPolicyOutput

func (ServicePerimeterStatusIngressPolicyOutput) ToServicePerimeterStatusIngressPolicyOutputWithContext

func (o ServicePerimeterStatusIngressPolicyOutput) ToServicePerimeterStatusIngressPolicyOutputWithContext(ctx context.Context) ServicePerimeterStatusIngressPolicyOutput

type ServicePerimeterStatusInput

type ServicePerimeterStatusInput interface {
	pulumi.Input

	ToServicePerimeterStatusOutput() ServicePerimeterStatusOutput
	ToServicePerimeterStatusOutputWithContext(context.Context) ServicePerimeterStatusOutput
}

ServicePerimeterStatusInput is an input type that accepts ServicePerimeterStatusArgs and ServicePerimeterStatusOutput values. You can construct a concrete instance of `ServicePerimeterStatusInput` via:

ServicePerimeterStatusArgs{...}

type ServicePerimeterStatusOutput

type ServicePerimeterStatusOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusOutput) AccessLevels

A list of AccessLevel resource names that allow resources within the ServicePerimeter to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel is a syntax error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via GCP calls with request origins within the perimeter. For Service Perimeter Bridge, must be empty. Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}

func (ServicePerimeterStatusOutput) EgressPolicies

List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be empty for a perimeter bridge. Structure is documented below.

func (ServicePerimeterStatusOutput) ElementType

func (ServicePerimeterStatusOutput) IngressPolicies

List of `IngressPolicies` to apply to the perimeter. A perimeter may have multiple `IngressPolicies`, each of which is evaluated separately. Access is granted if any `Ingress Policy` grants it. Must be empty for a perimeter bridge. Structure is documented below.

func (ServicePerimeterStatusOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, that match this to stanza. A request matches if it contains a resource in this list. If * is specified for resources, then this `EgressTo` rule will authorize access to all resources outside the perimeter.

func (ServicePerimeterStatusOutput) RestrictedServices

func (o ServicePerimeterStatusOutput) RestrictedServices() pulumi.StringArrayOutput

GCP services that are subject to the Service Perimeter restrictions. Must contain a list of services. For example, if `storage.googleapis.com` is specified, access to the storage buckets inside the perimeter must meet the perimeter's access restrictions.

func (ServicePerimeterStatusOutput) ToServicePerimeterStatusOutput

func (o ServicePerimeterStatusOutput) ToServicePerimeterStatusOutput() ServicePerimeterStatusOutput

func (ServicePerimeterStatusOutput) ToServicePerimeterStatusOutputWithContext

func (o ServicePerimeterStatusOutput) ToServicePerimeterStatusOutputWithContext(ctx context.Context) ServicePerimeterStatusOutput

func (ServicePerimeterStatusOutput) ToServicePerimeterStatusPtrOutput

func (o ServicePerimeterStatusOutput) ToServicePerimeterStatusPtrOutput() ServicePerimeterStatusPtrOutput

func (ServicePerimeterStatusOutput) ToServicePerimeterStatusPtrOutputWithContext

func (o ServicePerimeterStatusOutput) ToServicePerimeterStatusPtrOutputWithContext(ctx context.Context) ServicePerimeterStatusPtrOutput

func (ServicePerimeterStatusOutput) VpcAccessibleServices

Specifies how APIs are allowed to communicate within the Service Perimeter. Structure is documented below.

type ServicePerimeterStatusPtrInput

type ServicePerimeterStatusPtrInput interface {
	pulumi.Input

	ToServicePerimeterStatusPtrOutput() ServicePerimeterStatusPtrOutput
	ToServicePerimeterStatusPtrOutputWithContext(context.Context) ServicePerimeterStatusPtrOutput
}

ServicePerimeterStatusPtrInput is an input type that accepts ServicePerimeterStatusArgs, ServicePerimeterStatusPtr and ServicePerimeterStatusPtrOutput values. You can construct a concrete instance of `ServicePerimeterStatusPtrInput` via:

        ServicePerimeterStatusArgs{...}

or:

        nil

type ServicePerimeterStatusPtrOutput

type ServicePerimeterStatusPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusPtrOutput) AccessLevels

A list of AccessLevel resource names that allow resources within the ServicePerimeter to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel is a syntax error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via GCP calls with request origins within the perimeter. For Service Perimeter Bridge, must be empty. Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}

func (ServicePerimeterStatusPtrOutput) EgressPolicies

List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be empty for a perimeter bridge. Structure is documented below.

func (ServicePerimeterStatusPtrOutput) Elem

func (ServicePerimeterStatusPtrOutput) ElementType

func (ServicePerimeterStatusPtrOutput) IngressPolicies

List of `IngressPolicies` to apply to the perimeter. A perimeter may have multiple `IngressPolicies`, each of which is evaluated separately. Access is granted if any `Ingress Policy` grants it. Must be empty for a perimeter bridge. Structure is documented below.

func (ServicePerimeterStatusPtrOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, that match this to stanza. A request matches if it contains a resource in this list. If * is specified for resources, then this `EgressTo` rule will authorize access to all resources outside the perimeter.

func (ServicePerimeterStatusPtrOutput) RestrictedServices

GCP services that are subject to the Service Perimeter restrictions. Must contain a list of services. For example, if `storage.googleapis.com` is specified, access to the storage buckets inside the perimeter must meet the perimeter's access restrictions.

func (ServicePerimeterStatusPtrOutput) ToServicePerimeterStatusPtrOutput

func (o ServicePerimeterStatusPtrOutput) ToServicePerimeterStatusPtrOutput() ServicePerimeterStatusPtrOutput

func (ServicePerimeterStatusPtrOutput) ToServicePerimeterStatusPtrOutputWithContext

func (o ServicePerimeterStatusPtrOutput) ToServicePerimeterStatusPtrOutputWithContext(ctx context.Context) ServicePerimeterStatusPtrOutput

func (ServicePerimeterStatusPtrOutput) VpcAccessibleServices

Specifies how APIs are allowed to communicate within the Service Perimeter. Structure is documented below.

type ServicePerimeterStatusVpcAccessibleServices

type ServicePerimeterStatusVpcAccessibleServices struct {
	// The list of APIs usable within the Service Perimeter.
	// Must be empty unless `enableRestriction` is True.
	AllowedServices []string `pulumi:"allowedServices"`
	// Whether to restrict API calls within the Service Perimeter to the
	// list of APIs specified in 'allowedServices'.
	EnableRestriction *bool `pulumi:"enableRestriction"`
}

type ServicePerimeterStatusVpcAccessibleServicesArgs

type ServicePerimeterStatusVpcAccessibleServicesArgs struct {
	// The list of APIs usable within the Service Perimeter.
	// Must be empty unless `enableRestriction` is True.
	AllowedServices pulumi.StringArrayInput `pulumi:"allowedServices"`
	// Whether to restrict API calls within the Service Perimeter to the
	// list of APIs specified in 'allowedServices'.
	EnableRestriction pulumi.BoolPtrInput `pulumi:"enableRestriction"`
}

func (ServicePerimeterStatusVpcAccessibleServicesArgs) ElementType

func (ServicePerimeterStatusVpcAccessibleServicesArgs) ToServicePerimeterStatusVpcAccessibleServicesOutput

func (i ServicePerimeterStatusVpcAccessibleServicesArgs) ToServicePerimeterStatusVpcAccessibleServicesOutput() ServicePerimeterStatusVpcAccessibleServicesOutput

func (ServicePerimeterStatusVpcAccessibleServicesArgs) ToServicePerimeterStatusVpcAccessibleServicesOutputWithContext

func (i ServicePerimeterStatusVpcAccessibleServicesArgs) ToServicePerimeterStatusVpcAccessibleServicesOutputWithContext(ctx context.Context) ServicePerimeterStatusVpcAccessibleServicesOutput

func (ServicePerimeterStatusVpcAccessibleServicesArgs) ToServicePerimeterStatusVpcAccessibleServicesPtrOutput

func (i ServicePerimeterStatusVpcAccessibleServicesArgs) ToServicePerimeterStatusVpcAccessibleServicesPtrOutput() ServicePerimeterStatusVpcAccessibleServicesPtrOutput

func (ServicePerimeterStatusVpcAccessibleServicesArgs) ToServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext

func (i ServicePerimeterStatusVpcAccessibleServicesArgs) ToServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext(ctx context.Context) ServicePerimeterStatusVpcAccessibleServicesPtrOutput

type ServicePerimeterStatusVpcAccessibleServicesInput

type ServicePerimeterStatusVpcAccessibleServicesInput interface {
	pulumi.Input

	ToServicePerimeterStatusVpcAccessibleServicesOutput() ServicePerimeterStatusVpcAccessibleServicesOutput
	ToServicePerimeterStatusVpcAccessibleServicesOutputWithContext(context.Context) ServicePerimeterStatusVpcAccessibleServicesOutput
}

ServicePerimeterStatusVpcAccessibleServicesInput is an input type that accepts ServicePerimeterStatusVpcAccessibleServicesArgs and ServicePerimeterStatusVpcAccessibleServicesOutput values. You can construct a concrete instance of `ServicePerimeterStatusVpcAccessibleServicesInput` via:

ServicePerimeterStatusVpcAccessibleServicesArgs{...}

type ServicePerimeterStatusVpcAccessibleServicesOutput

type ServicePerimeterStatusVpcAccessibleServicesOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusVpcAccessibleServicesOutput) AllowedServices

The list of APIs usable within the Service Perimeter. Must be empty unless `enableRestriction` is True.

func (ServicePerimeterStatusVpcAccessibleServicesOutput) ElementType

func (ServicePerimeterStatusVpcAccessibleServicesOutput) EnableRestriction

Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowedServices'.

func (ServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimeterStatusVpcAccessibleServicesOutput

func (o ServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimeterStatusVpcAccessibleServicesOutput() ServicePerimeterStatusVpcAccessibleServicesOutput

func (ServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimeterStatusVpcAccessibleServicesOutputWithContext

func (o ServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimeterStatusVpcAccessibleServicesOutputWithContext(ctx context.Context) ServicePerimeterStatusVpcAccessibleServicesOutput

func (ServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimeterStatusVpcAccessibleServicesPtrOutput

func (o ServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimeterStatusVpcAccessibleServicesPtrOutput() ServicePerimeterStatusVpcAccessibleServicesPtrOutput

func (ServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext

func (o ServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext(ctx context.Context) ServicePerimeterStatusVpcAccessibleServicesPtrOutput

type ServicePerimeterStatusVpcAccessibleServicesPtrInput

type ServicePerimeterStatusVpcAccessibleServicesPtrInput interface {
	pulumi.Input

	ToServicePerimeterStatusVpcAccessibleServicesPtrOutput() ServicePerimeterStatusVpcAccessibleServicesPtrOutput
	ToServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext(context.Context) ServicePerimeterStatusVpcAccessibleServicesPtrOutput
}

ServicePerimeterStatusVpcAccessibleServicesPtrInput is an input type that accepts ServicePerimeterStatusVpcAccessibleServicesArgs, ServicePerimeterStatusVpcAccessibleServicesPtr and ServicePerimeterStatusVpcAccessibleServicesPtrOutput values. You can construct a concrete instance of `ServicePerimeterStatusVpcAccessibleServicesPtrInput` via:

        ServicePerimeterStatusVpcAccessibleServicesArgs{...}

or:

        nil

type ServicePerimeterStatusVpcAccessibleServicesPtrOutput

type ServicePerimeterStatusVpcAccessibleServicesPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusVpcAccessibleServicesPtrOutput) AllowedServices

The list of APIs usable within the Service Perimeter. Must be empty unless `enableRestriction` is True.

func (ServicePerimeterStatusVpcAccessibleServicesPtrOutput) Elem

func (ServicePerimeterStatusVpcAccessibleServicesPtrOutput) ElementType

func (ServicePerimeterStatusVpcAccessibleServicesPtrOutput) EnableRestriction

Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowedServices'.

func (ServicePerimeterStatusVpcAccessibleServicesPtrOutput) ToServicePerimeterStatusVpcAccessibleServicesPtrOutput

func (ServicePerimeterStatusVpcAccessibleServicesPtrOutput) ToServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext

func (o ServicePerimeterStatusVpcAccessibleServicesPtrOutput) ToServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext(ctx context.Context) ServicePerimeterStatusVpcAccessibleServicesPtrOutput

type ServicePerimeters

type ServicePerimeters struct {
	pulumi.CustomResourceState

	// The AccessPolicy this ServicePerimeter lives in.
	// Format: accessPolicies/{policy_id}
	Parent pulumi.StringOutput `pulumi:"parent"`
	// The desired Service Perimeters that should replace all existing Service Perimeters in the Access Policy.
	// Structure is documented below.
	ServicePerimeters ServicePerimetersServicePerimeterArrayOutput `pulumi:"servicePerimeters"`
}

Replace all existing Service Perimeters in an Access Policy with the Service Perimeters provided. This is done atomically. This is a bulk edit of all Service Perimeters and may override existing Service Perimeters created by `accesscontextmanager.ServicePerimeter`, thus causing a permadiff if used alongside `accesscontextmanager.ServicePerimeter` on the same parent.

To get more information about ServicePerimeters, see:

* [API documentation](https://cloud.google.com/access-context-manager/docs/reference/rest/v1/accessPolicies.servicePerimeters) * How-to Guides

## Example Usage ### Access Context Manager Service Perimeters Basic

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := accesscontextmanager.NewAccessPolicy(ctx, "access_policy", &accesscontextmanager.AccessPolicyArgs{
			Parent: pulumi.String("organizations/123456789"),
			Title:  pulumi.String("my policy"),
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewServicePerimeters(ctx, "service_perimeter", &accesscontextmanager.ServicePerimetersArgs{
			Parent: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("%v%v", "accessPolicies/", name), nil
			}).(pulumi.StringOutput),
			ServicePerimeters: accesscontextmanager.ServicePerimetersServicePerimeterArray{
				&accesscontextmanager.ServicePerimetersServicePerimeterArgs{
					Name: access_policy.Name.ApplyT(func(name string) (string, error) {
						return fmt.Sprintf("%v%v%v", "accessPolicies/", name, "/servicePerimeters/"), nil
					}).(pulumi.StringOutput),
					Status: &accesscontextmanager.ServicePerimetersServicePerimeterStatusArgs{
						RestrictedServices: pulumi.StringArray{
							pulumi.String("storage.googleapis.com"),
						},
					},
					Title: pulumi.String(""),
				},
				&accesscontextmanager.ServicePerimetersServicePerimeterArgs{
					Name: access_policy.Name.ApplyT(func(name string) (string, error) {
						return fmt.Sprintf("%v%v%v", "accessPolicies/", name, "/servicePerimeters/"), nil
					}).(pulumi.StringOutput),
					Status: &accesscontextmanager.ServicePerimetersServicePerimeterStatusArgs{
						RestrictedServices: pulumi.StringArray{
							pulumi.String("bigtable.googleapis.com"),
						},
					},
					Title: pulumi.String(""),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewAccessLevel(ctx, "access_level", &accesscontextmanager.AccessLevelArgs{
			Basic: &accesscontextmanager.AccessLevelBasicArgs{
				Conditions: accesscontextmanager.AccessLevelBasicConditionArray{
					&accesscontextmanager.AccessLevelBasicConditionArgs{
						DevicePolicy: &accesscontextmanager.AccessLevelBasicConditionDevicePolicyArgs{
							OsConstraints: accesscontextmanager.AccessLevelBasicConditionDevicePolicyOsConstraintArray{
								&accesscontextmanager.AccessLevelBasicConditionDevicePolicyOsConstraintArgs{
									OsType: pulumi.String("DESKTOP_CHROME_OS"),
								},
							},
							RequireScreenLock: pulumi.Bool(false),
						},
						Regions: pulumi.StringArray{
							pulumi.String("CH"),
							pulumi.String("IT"),
							pulumi.String("US"),
						},
					},
				},
			},
			Parent: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("%v%v", "accessPolicies/", name), nil
			}).(pulumi.StringOutput),
			Title: pulumi.String("chromeos_no_lock"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ServicePerimeters can be imported using any of these accepted formats

```sh

$ pulumi import gcp:accesscontextmanager/servicePerimeters:ServicePerimeters default {{parent}}/servicePerimeters

```

```sh

$ pulumi import gcp:accesscontextmanager/servicePerimeters:ServicePerimeters default {{parent}}

```

func GetServicePerimeters

func GetServicePerimeters(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServicePerimetersState, opts ...pulumi.ResourceOption) (*ServicePerimeters, error)

GetServicePerimeters gets an existing ServicePerimeters resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewServicePerimeters

func NewServicePerimeters(ctx *pulumi.Context,
	name string, args *ServicePerimetersArgs, opts ...pulumi.ResourceOption) (*ServicePerimeters, error)

NewServicePerimeters registers a new resource with the given unique name, arguments, and options.

func (*ServicePerimeters) ElementType

func (*ServicePerimeters) ElementType() reflect.Type

func (*ServicePerimeters) ToServicePerimetersOutput

func (i *ServicePerimeters) ToServicePerimetersOutput() ServicePerimetersOutput

func (*ServicePerimeters) ToServicePerimetersOutputWithContext

func (i *ServicePerimeters) ToServicePerimetersOutputWithContext(ctx context.Context) ServicePerimetersOutput

func (*ServicePerimeters) ToServicePerimetersPtrOutput

func (i *ServicePerimeters) ToServicePerimetersPtrOutput() ServicePerimetersPtrOutput

func (*ServicePerimeters) ToServicePerimetersPtrOutputWithContext

func (i *ServicePerimeters) ToServicePerimetersPtrOutputWithContext(ctx context.Context) ServicePerimetersPtrOutput

type ServicePerimetersArgs

type ServicePerimetersArgs struct {
	// The AccessPolicy this ServicePerimeter lives in.
	// Format: accessPolicies/{policy_id}
	Parent pulumi.StringInput
	// The desired Service Perimeters that should replace all existing Service Perimeters in the Access Policy.
	// Structure is documented below.
	ServicePerimeters ServicePerimetersServicePerimeterArrayInput
}

The set of arguments for constructing a ServicePerimeters resource.

func (ServicePerimetersArgs) ElementType

func (ServicePerimetersArgs) ElementType() reflect.Type

type ServicePerimetersArray

type ServicePerimetersArray []ServicePerimetersInput

func (ServicePerimetersArray) ElementType

func (ServicePerimetersArray) ElementType() reflect.Type

func (ServicePerimetersArray) ToServicePerimetersArrayOutput

func (i ServicePerimetersArray) ToServicePerimetersArrayOutput() ServicePerimetersArrayOutput

func (ServicePerimetersArray) ToServicePerimetersArrayOutputWithContext

func (i ServicePerimetersArray) ToServicePerimetersArrayOutputWithContext(ctx context.Context) ServicePerimetersArrayOutput

type ServicePerimetersArrayInput

type ServicePerimetersArrayInput interface {
	pulumi.Input

	ToServicePerimetersArrayOutput() ServicePerimetersArrayOutput
	ToServicePerimetersArrayOutputWithContext(context.Context) ServicePerimetersArrayOutput
}

ServicePerimetersArrayInput is an input type that accepts ServicePerimetersArray and ServicePerimetersArrayOutput values. You can construct a concrete instance of `ServicePerimetersArrayInput` via:

ServicePerimetersArray{ ServicePerimetersArgs{...} }

type ServicePerimetersArrayOutput

type ServicePerimetersArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersArrayOutput) ElementType

func (ServicePerimetersArrayOutput) Index

func (ServicePerimetersArrayOutput) ToServicePerimetersArrayOutput

func (o ServicePerimetersArrayOutput) ToServicePerimetersArrayOutput() ServicePerimetersArrayOutput

func (ServicePerimetersArrayOutput) ToServicePerimetersArrayOutputWithContext

func (o ServicePerimetersArrayOutput) ToServicePerimetersArrayOutputWithContext(ctx context.Context) ServicePerimetersArrayOutput

type ServicePerimetersInput

type ServicePerimetersInput interface {
	pulumi.Input

	ToServicePerimetersOutput() ServicePerimetersOutput
	ToServicePerimetersOutputWithContext(ctx context.Context) ServicePerimetersOutput
}

type ServicePerimetersMap

type ServicePerimetersMap map[string]ServicePerimetersInput

func (ServicePerimetersMap) ElementType

func (ServicePerimetersMap) ElementType() reflect.Type

func (ServicePerimetersMap) ToServicePerimetersMapOutput

func (i ServicePerimetersMap) ToServicePerimetersMapOutput() ServicePerimetersMapOutput

func (ServicePerimetersMap) ToServicePerimetersMapOutputWithContext

func (i ServicePerimetersMap) ToServicePerimetersMapOutputWithContext(ctx context.Context) ServicePerimetersMapOutput

type ServicePerimetersMapInput

type ServicePerimetersMapInput interface {
	pulumi.Input

	ToServicePerimetersMapOutput() ServicePerimetersMapOutput
	ToServicePerimetersMapOutputWithContext(context.Context) ServicePerimetersMapOutput
}

ServicePerimetersMapInput is an input type that accepts ServicePerimetersMap and ServicePerimetersMapOutput values. You can construct a concrete instance of `ServicePerimetersMapInput` via:

ServicePerimetersMap{ "key": ServicePerimetersArgs{...} }

type ServicePerimetersMapOutput

type ServicePerimetersMapOutput struct{ *pulumi.OutputState }

func (ServicePerimetersMapOutput) ElementType

func (ServicePerimetersMapOutput) ElementType() reflect.Type

func (ServicePerimetersMapOutput) MapIndex

func (ServicePerimetersMapOutput) ToServicePerimetersMapOutput

func (o ServicePerimetersMapOutput) ToServicePerimetersMapOutput() ServicePerimetersMapOutput

func (ServicePerimetersMapOutput) ToServicePerimetersMapOutputWithContext

func (o ServicePerimetersMapOutput) ToServicePerimetersMapOutputWithContext(ctx context.Context) ServicePerimetersMapOutput

type ServicePerimetersOutput

type ServicePerimetersOutput struct{ *pulumi.OutputState }

func (ServicePerimetersOutput) ElementType

func (ServicePerimetersOutput) ElementType() reflect.Type

func (ServicePerimetersOutput) ToServicePerimetersOutput

func (o ServicePerimetersOutput) ToServicePerimetersOutput() ServicePerimetersOutput

func (ServicePerimetersOutput) ToServicePerimetersOutputWithContext

func (o ServicePerimetersOutput) ToServicePerimetersOutputWithContext(ctx context.Context) ServicePerimetersOutput

func (ServicePerimetersOutput) ToServicePerimetersPtrOutput

func (o ServicePerimetersOutput) ToServicePerimetersPtrOutput() ServicePerimetersPtrOutput

func (ServicePerimetersOutput) ToServicePerimetersPtrOutputWithContext

func (o ServicePerimetersOutput) ToServicePerimetersPtrOutputWithContext(ctx context.Context) ServicePerimetersPtrOutput

type ServicePerimetersPtrInput

type ServicePerimetersPtrInput interface {
	pulumi.Input

	ToServicePerimetersPtrOutput() ServicePerimetersPtrOutput
	ToServicePerimetersPtrOutputWithContext(ctx context.Context) ServicePerimetersPtrOutput
}

type ServicePerimetersPtrOutput

type ServicePerimetersPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersPtrOutput) Elem added in v5.21.0

func (ServicePerimetersPtrOutput) ElementType

func (ServicePerimetersPtrOutput) ElementType() reflect.Type

func (ServicePerimetersPtrOutput) ToServicePerimetersPtrOutput

func (o ServicePerimetersPtrOutput) ToServicePerimetersPtrOutput() ServicePerimetersPtrOutput

func (ServicePerimetersPtrOutput) ToServicePerimetersPtrOutputWithContext

func (o ServicePerimetersPtrOutput) ToServicePerimetersPtrOutputWithContext(ctx context.Context) ServicePerimetersPtrOutput

type ServicePerimetersServicePerimeter

type ServicePerimetersServicePerimeter struct {
	// -
	// Time the AccessPolicy was created in UTC.
	CreateTime *string `pulumi:"createTime"`
	// Description of the ServicePerimeter and its use. Does not affect
	// behavior.
	Description *string `pulumi:"description"`
	// Resource name for the ServicePerimeter. The shortName component must
	// begin with a letter and only include alphanumeric and '_'.
	// Format: accessPolicies/{policy_id}/servicePerimeters/{short_name}
	Name string `pulumi:"name"`
	// Specifies the type of the Perimeter. There are two types: regular and
	// bridge. Regular Service Perimeter contains resources, access levels,
	// and restricted services. Every resource can be in at most
	// ONE regular Service Perimeter.
	// In addition to being in a regular service perimeter, a resource can also
	// be in zero or more perimeter bridges. A perimeter bridge only contains
	// resources. Cross project operations are permitted if all effected
	// resources share some perimeter (whether bridge or regular). Perimeter
	// Bridge does not contain access levels or services: those are governed
	// entirely by the regular perimeter that resource is in.
	// Perimeter Bridges are typically useful when building more complex
	// topologies with many independent perimeters that need to share some data
	// with a common perimeter, but should not be able to share data among
	// themselves.
	// Default value is `PERIMETER_TYPE_REGULAR`.
	// Possible values are `PERIMETER_TYPE_REGULAR` and `PERIMETER_TYPE_BRIDGE`.
	PerimeterType *string `pulumi:"perimeterType"`
	// Proposed (or dry run) ServicePerimeter configuration.
	// This configuration allows to specify and test ServicePerimeter configuration
	// without enforcing actual access restrictions. Only allowed to be set when
	// the `useExplicitDryRunSpec` flag is set.
	// Structure is documented below.
	Spec *ServicePerimetersServicePerimeterSpec `pulumi:"spec"`
	// ServicePerimeter configuration. Specifies sets of resources,
	// restricted services and access levels that determine
	// perimeter content and boundaries.
	// Structure is documented below.
	Status *ServicePerimetersServicePerimeterStatus `pulumi:"status"`
	// Human readable title. Must be unique within the Policy.
	Title string `pulumi:"title"`
	// -
	// Time the AccessPolicy was updated in UTC.
	UpdateTime *string `pulumi:"updateTime"`
	// Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly exists
	// for all Service Perimeters, and that spec is identical to the status for those
	// Service Perimeters. When this flag is set, it inhibits the generation of the
	// implicit spec, thereby allowing the user to explicitly provide a
	// configuration ("spec") to use in a dry-run version of the Service Perimeter.
	// This allows the user to test changes to the enforced config ("status") without
	// actually enforcing them. This testing is done through analyzing the differences
	// between currently enforced and suggested restrictions. useExplicitDryRunSpec must
	// bet set to True if any of the fields in the spec are set to non-default values.
	UseExplicitDryRunSpec *bool `pulumi:"useExplicitDryRunSpec"`
}

type ServicePerimetersServicePerimeterArgs

type ServicePerimetersServicePerimeterArgs struct {
	// -
	// Time the AccessPolicy was created in UTC.
	CreateTime pulumi.StringPtrInput `pulumi:"createTime"`
	// Description of the ServicePerimeter and its use. Does not affect
	// behavior.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Resource name for the ServicePerimeter. The shortName component must
	// begin with a letter and only include alphanumeric and '_'.
	// Format: accessPolicies/{policy_id}/servicePerimeters/{short_name}
	Name pulumi.StringInput `pulumi:"name"`
	// Specifies the type of the Perimeter. There are two types: regular and
	// bridge. Regular Service Perimeter contains resources, access levels,
	// and restricted services. Every resource can be in at most
	// ONE regular Service Perimeter.
	// In addition to being in a regular service perimeter, a resource can also
	// be in zero or more perimeter bridges. A perimeter bridge only contains
	// resources. Cross project operations are permitted if all effected
	// resources share some perimeter (whether bridge or regular). Perimeter
	// Bridge does not contain access levels or services: those are governed
	// entirely by the regular perimeter that resource is in.
	// Perimeter Bridges are typically useful when building more complex
	// topologies with many independent perimeters that need to share some data
	// with a common perimeter, but should not be able to share data among
	// themselves.
	// Default value is `PERIMETER_TYPE_REGULAR`.
	// Possible values are `PERIMETER_TYPE_REGULAR` and `PERIMETER_TYPE_BRIDGE`.
	PerimeterType pulumi.StringPtrInput `pulumi:"perimeterType"`
	// Proposed (or dry run) ServicePerimeter configuration.
	// This configuration allows to specify and test ServicePerimeter configuration
	// without enforcing actual access restrictions. Only allowed to be set when
	// the `useExplicitDryRunSpec` flag is set.
	// Structure is documented below.
	Spec ServicePerimetersServicePerimeterSpecPtrInput `pulumi:"spec"`
	// ServicePerimeter configuration. Specifies sets of resources,
	// restricted services and access levels that determine
	// perimeter content and boundaries.
	// Structure is documented below.
	Status ServicePerimetersServicePerimeterStatusPtrInput `pulumi:"status"`
	// Human readable title. Must be unique within the Policy.
	Title pulumi.StringInput `pulumi:"title"`
	// -
	// Time the AccessPolicy was updated in UTC.
	UpdateTime pulumi.StringPtrInput `pulumi:"updateTime"`
	// Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly exists
	// for all Service Perimeters, and that spec is identical to the status for those
	// Service Perimeters. When this flag is set, it inhibits the generation of the
	// implicit spec, thereby allowing the user to explicitly provide a
	// configuration ("spec") to use in a dry-run version of the Service Perimeter.
	// This allows the user to test changes to the enforced config ("status") without
	// actually enforcing them. This testing is done through analyzing the differences
	// between currently enforced and suggested restrictions. useExplicitDryRunSpec must
	// bet set to True if any of the fields in the spec are set to non-default values.
	UseExplicitDryRunSpec pulumi.BoolPtrInput `pulumi:"useExplicitDryRunSpec"`
}

func (ServicePerimetersServicePerimeterArgs) ElementType

func (ServicePerimetersServicePerimeterArgs) ToServicePerimetersServicePerimeterOutput

func (i ServicePerimetersServicePerimeterArgs) ToServicePerimetersServicePerimeterOutput() ServicePerimetersServicePerimeterOutput

func (ServicePerimetersServicePerimeterArgs) ToServicePerimetersServicePerimeterOutputWithContext

func (i ServicePerimetersServicePerimeterArgs) ToServicePerimetersServicePerimeterOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterOutput

type ServicePerimetersServicePerimeterArray

type ServicePerimetersServicePerimeterArray []ServicePerimetersServicePerimeterInput

func (ServicePerimetersServicePerimeterArray) ElementType

func (ServicePerimetersServicePerimeterArray) ToServicePerimetersServicePerimeterArrayOutput

func (i ServicePerimetersServicePerimeterArray) ToServicePerimetersServicePerimeterArrayOutput() ServicePerimetersServicePerimeterArrayOutput

func (ServicePerimetersServicePerimeterArray) ToServicePerimetersServicePerimeterArrayOutputWithContext

func (i ServicePerimetersServicePerimeterArray) ToServicePerimetersServicePerimeterArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterArrayOutput

type ServicePerimetersServicePerimeterArrayInput

type ServicePerimetersServicePerimeterArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterArrayOutput() ServicePerimetersServicePerimeterArrayOutput
	ToServicePerimetersServicePerimeterArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterArrayOutput
}

ServicePerimetersServicePerimeterArrayInput is an input type that accepts ServicePerimetersServicePerimeterArray and ServicePerimetersServicePerimeterArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterArrayInput` via:

ServicePerimetersServicePerimeterArray{ ServicePerimetersServicePerimeterArgs{...} }

type ServicePerimetersServicePerimeterArrayOutput

type ServicePerimetersServicePerimeterArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterArrayOutput) ElementType

func (ServicePerimetersServicePerimeterArrayOutput) Index

func (ServicePerimetersServicePerimeterArrayOutput) ToServicePerimetersServicePerimeterArrayOutput

func (o ServicePerimetersServicePerimeterArrayOutput) ToServicePerimetersServicePerimeterArrayOutput() ServicePerimetersServicePerimeterArrayOutput

func (ServicePerimetersServicePerimeterArrayOutput) ToServicePerimetersServicePerimeterArrayOutputWithContext

func (o ServicePerimetersServicePerimeterArrayOutput) ToServicePerimetersServicePerimeterArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterArrayOutput

type ServicePerimetersServicePerimeterInput

type ServicePerimetersServicePerimeterInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterOutput() ServicePerimetersServicePerimeterOutput
	ToServicePerimetersServicePerimeterOutputWithContext(context.Context) ServicePerimetersServicePerimeterOutput
}

ServicePerimetersServicePerimeterInput is an input type that accepts ServicePerimetersServicePerimeterArgs and ServicePerimetersServicePerimeterOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterInput` via:

ServicePerimetersServicePerimeterArgs{...}

type ServicePerimetersServicePerimeterOutput

type ServicePerimetersServicePerimeterOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterOutput) CreateTime

- Time the AccessPolicy was created in UTC.

func (ServicePerimetersServicePerimeterOutput) Description

Description of the ServicePerimeter and its use. Does not affect behavior.

func (ServicePerimetersServicePerimeterOutput) ElementType

func (ServicePerimetersServicePerimeterOutput) Name

Resource name for the ServicePerimeter. The shortName component must begin with a letter and only include alphanumeric and '_'. Format: accessPolicies/{policy_id}/servicePerimeters/{short_name}

func (ServicePerimetersServicePerimeterOutput) PerimeterType

Specifies the type of the Perimeter. There are two types: regular and bridge. Regular Service Perimeter contains resources, access levels, and restricted services. Every resource can be in at most ONE regular Service Perimeter. In addition to being in a regular service perimeter, a resource can also be in zero or more perimeter bridges. A perimeter bridge only contains resources. Cross project operations are permitted if all effected resources share some perimeter (whether bridge or regular). Perimeter Bridge does not contain access levels or services: those are governed entirely by the regular perimeter that resource is in. Perimeter Bridges are typically useful when building more complex topologies with many independent perimeters that need to share some data with a common perimeter, but should not be able to share data among themselves. Default value is `PERIMETER_TYPE_REGULAR`. Possible values are `PERIMETER_TYPE_REGULAR` and `PERIMETER_TYPE_BRIDGE`.

func (ServicePerimetersServicePerimeterOutput) Spec

Proposed (or dry run) ServicePerimeter configuration. This configuration allows to specify and test ServicePerimeter configuration without enforcing actual access restrictions. Only allowed to be set when the `useExplicitDryRunSpec` flag is set. Structure is documented below.

func (ServicePerimetersServicePerimeterOutput) Status

ServicePerimeter configuration. Specifies sets of resources, restricted services and access levels that determine perimeter content and boundaries. Structure is documented below.

func (ServicePerimetersServicePerimeterOutput) Title

Human readable title. Must be unique within the Policy.

func (ServicePerimetersServicePerimeterOutput) ToServicePerimetersServicePerimeterOutput

func (o ServicePerimetersServicePerimeterOutput) ToServicePerimetersServicePerimeterOutput() ServicePerimetersServicePerimeterOutput

func (ServicePerimetersServicePerimeterOutput) ToServicePerimetersServicePerimeterOutputWithContext

func (o ServicePerimetersServicePerimeterOutput) ToServicePerimetersServicePerimeterOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterOutput

func (ServicePerimetersServicePerimeterOutput) UpdateTime

- Time the AccessPolicy was updated in UTC.

func (ServicePerimetersServicePerimeterOutput) UseExplicitDryRunSpec

Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly exists for all Service Perimeters, and that spec is identical to the status for those Service Perimeters. When this flag is set, it inhibits the generation of the implicit spec, thereby allowing the user to explicitly provide a configuration ("spec") to use in a dry-run version of the Service Perimeter. This allows the user to test changes to the enforced config ("status") without actually enforcing them. This testing is done through analyzing the differences between currently enforced and suggested restrictions. useExplicitDryRunSpec must bet set to True if any of the fields in the spec are set to non-default values.

type ServicePerimetersServicePerimeterSpec

type ServicePerimetersServicePerimeterSpec struct {
	// A list of AccessLevel resource names that allow resources within
	// the ServicePerimeter to be accessed from the internet.
	// AccessLevels listed must be in the same policy as this
	// ServicePerimeter. Referencing a nonexistent AccessLevel is a
	// syntax error. If no AccessLevel names are listed, resources within
	// the perimeter can only be accessed via GCP calls with request
	// origins within the perimeter. For Service Perimeter Bridge, must
	// be empty.
	// Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}
	AccessLevels []string `pulumi:"accessLevels"`
	// List of EgressPolicies to apply to the perimeter. A perimeter may
	// have multiple EgressPolicies, each of which is evaluated separately.
	// Access is granted if any EgressPolicy grants it. Must be empty for
	// a perimeter bridge.
	// Structure is documented below.
	EgressPolicies []ServicePerimetersServicePerimeterSpecEgressPolicy `pulumi:"egressPolicies"`
	// List of `IngressPolicies` to apply to the perimeter. A perimeter may
	// have multiple `IngressPolicies`, each of which is evaluated
	// separately. Access is granted if any `Ingress Policy` grants it.
	// Must be empty for a perimeter bridge.
	// Structure is documented below.
	IngressPolicies []ServicePerimetersServicePerimeterSpecIngressPolicy `pulumi:"ingressPolicies"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources []string `pulumi:"resources"`
	// GCP services that are subject to the Service Perimeter
	// restrictions. Must contain a list of services. For example, if
	// `storage.googleapis.com` is specified, access to the storage
	// buckets inside the perimeter must meet the perimeter's access
	// restrictions.
	RestrictedServices []string `pulumi:"restrictedServices"`
	// Specifies how APIs are allowed to communicate within the Service
	// Perimeter.
	// Structure is documented below.
	VpcAccessibleServices *ServicePerimetersServicePerimeterSpecVpcAccessibleServices `pulumi:"vpcAccessibleServices"`
}

type ServicePerimetersServicePerimeterSpecArgs

type ServicePerimetersServicePerimeterSpecArgs struct {
	// A list of AccessLevel resource names that allow resources within
	// the ServicePerimeter to be accessed from the internet.
	// AccessLevels listed must be in the same policy as this
	// ServicePerimeter. Referencing a nonexistent AccessLevel is a
	// syntax error. If no AccessLevel names are listed, resources within
	// the perimeter can only be accessed via GCP calls with request
	// origins within the perimeter. For Service Perimeter Bridge, must
	// be empty.
	// Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}
	AccessLevels pulumi.StringArrayInput `pulumi:"accessLevels"`
	// List of EgressPolicies to apply to the perimeter. A perimeter may
	// have multiple EgressPolicies, each of which is evaluated separately.
	// Access is granted if any EgressPolicy grants it. Must be empty for
	// a perimeter bridge.
	// Structure is documented below.
	EgressPolicies ServicePerimetersServicePerimeterSpecEgressPolicyArrayInput `pulumi:"egressPolicies"`
	// List of `IngressPolicies` to apply to the perimeter. A perimeter may
	// have multiple `IngressPolicies`, each of which is evaluated
	// separately. Access is granted if any `Ingress Policy` grants it.
	// Must be empty for a perimeter bridge.
	// Structure is documented below.
	IngressPolicies ServicePerimetersServicePerimeterSpecIngressPolicyArrayInput `pulumi:"ingressPolicies"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources pulumi.StringArrayInput `pulumi:"resources"`
	// GCP services that are subject to the Service Perimeter
	// restrictions. Must contain a list of services. For example, if
	// `storage.googleapis.com` is specified, access to the storage
	// buckets inside the perimeter must meet the perimeter's access
	// restrictions.
	RestrictedServices pulumi.StringArrayInput `pulumi:"restrictedServices"`
	// Specifies how APIs are allowed to communicate within the Service
	// Perimeter.
	// Structure is documented below.
	VpcAccessibleServices ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrInput `pulumi:"vpcAccessibleServices"`
}

func (ServicePerimetersServicePerimeterSpecArgs) ElementType

func (ServicePerimetersServicePerimeterSpecArgs) ToServicePerimetersServicePerimeterSpecOutput

func (i ServicePerimetersServicePerimeterSpecArgs) ToServicePerimetersServicePerimeterSpecOutput() ServicePerimetersServicePerimeterSpecOutput

func (ServicePerimetersServicePerimeterSpecArgs) ToServicePerimetersServicePerimeterSpecOutputWithContext

func (i ServicePerimetersServicePerimeterSpecArgs) ToServicePerimetersServicePerimeterSpecOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecOutput

func (ServicePerimetersServicePerimeterSpecArgs) ToServicePerimetersServicePerimeterSpecPtrOutput

func (i ServicePerimetersServicePerimeterSpecArgs) ToServicePerimetersServicePerimeterSpecPtrOutput() ServicePerimetersServicePerimeterSpecPtrOutput

func (ServicePerimetersServicePerimeterSpecArgs) ToServicePerimetersServicePerimeterSpecPtrOutputWithContext

func (i ServicePerimetersServicePerimeterSpecArgs) ToServicePerimetersServicePerimeterSpecPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecPtrOutput

type ServicePerimetersServicePerimeterSpecEgressPolicy

type ServicePerimetersServicePerimeterSpecEgressPolicy struct {
	// Defines conditions on the source of a request causing this `EgressPolicy` to apply.
	// Structure is documented below.
	EgressFrom *ServicePerimetersServicePerimeterSpecEgressPolicyEgressFrom `pulumi:"egressFrom"`
	// Defines the conditions on the `ApiOperation` and destination resources that
	// cause this `EgressPolicy` to apply.
	// Structure is documented below.
	EgressTo *ServicePerimetersServicePerimeterSpecEgressPolicyEgressTo `pulumi:"egressTo"`
}

type ServicePerimetersServicePerimeterSpecEgressPolicyArgs

type ServicePerimetersServicePerimeterSpecEgressPolicyArgs struct {
	// Defines conditions on the source of a request causing this `EgressPolicy` to apply.
	// Structure is documented below.
	EgressFrom ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrInput `pulumi:"egressFrom"`
	// Defines the conditions on the `ApiOperation` and destination resources that
	// cause this `EgressPolicy` to apply.
	// Structure is documented below.
	EgressTo ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrInput `pulumi:"egressTo"`
}

func (ServicePerimetersServicePerimeterSpecEgressPolicyArgs) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyOutput

func (i ServicePerimetersServicePerimeterSpecEgressPolicyArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyOutput() ServicePerimetersServicePerimeterSpecEgressPolicyOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyOutputWithContext

func (i ServicePerimetersServicePerimeterSpecEgressPolicyArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyArray

type ServicePerimetersServicePerimeterSpecEgressPolicyArray []ServicePerimetersServicePerimeterSpecEgressPolicyInput

func (ServicePerimetersServicePerimeterSpecEgressPolicyArray) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyArray) ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput

func (i ServicePerimetersServicePerimeterSpecEgressPolicyArray) ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput() ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyArray) ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutputWithContext

func (i ServicePerimetersServicePerimeterSpecEgressPolicyArray) ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyArrayInput

type ServicePerimetersServicePerimeterSpecEgressPolicyArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput() ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyArrayInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyArray and ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyArrayInput` via:

ServicePerimetersServicePerimeterSpecEgressPolicyArray{ ServicePerimetersServicePerimeterSpecEgressPolicyArgs{...} }

type ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput) Index

func (ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutputWithContext

func (o ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFrom

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFrom struct {
	// A list of identities that are allowed access through this `EgressPolicy`.
	// Should be in the format of email address. The email address should
	// represent individual user or service account only.
	Identities []string `pulumi:"identities"`
	// Specifies the type of identities that are allowed access to outside the
	// perimeter. If left unspecified, then members of `identities` field will
	// be allowed access.
	// Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.
	IdentityType *string `pulumi:"identityType"`
}

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs struct {
	// A list of identities that are allowed access through this `EgressPolicy`.
	// Should be in the format of email address. The email address should
	// represent individual user or service account only.
	Identities pulumi.StringArrayInput `pulumi:"identities"`
	// Specifies the type of identities that are allowed access to outside the
	// perimeter. If left unspecified, then members of `identities` field will
	// be allowed access.
	// Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.
	IdentityType pulumi.StringPtrInput `pulumi:"identityType"`
}

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutputWithContext

func (i ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext

func (i ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromInput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput() ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs and ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromInput` via:

ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs{...}

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) Identities

A list of identities that are allowed access through this `EgressPolicy`. Should be in the format of email address. The email address should represent individual user or service account only.

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) IdentityType

Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access. Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutputWithContext

func (o ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext

func (o ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrInput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput() ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs, ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtr and ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrInput` via:

        ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs{...}

or:

        nil

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput) Elem

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput) Identities

A list of identities that are allowed access through this `EgressPolicy`. Should be in the format of email address. The email address should represent individual user or service account only.

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput) IdentityType

Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access. Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext

func (o ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressTo

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressTo struct {
	// A list of `ApiOperations` that this egress rule applies to. A request matches
	// if it contains an operation/service in this list.
	// Structure is documented below.
	Operations []ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperation `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources []string `pulumi:"resources"`
}

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs struct {
	// A list of `ApiOperations` that this egress rule applies to. A request matches
	// if it contains an operation/service in this list.
	// Structure is documented below.
	Operations ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayInput `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources pulumi.StringArrayInput `pulumi:"resources"`
}

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutputWithContext

func (i ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext

func (i ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToInput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput() ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs and ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyEgressToInput` via:

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs{...}

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperation

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperation struct {
	// API methods or permissions to allow. Method or permission must belong
	// to the service specified by `serviceName` field. A single MethodSelector
	// entry with `*` specified for the `method` field will allow all methods
	// AND permissions for the service specified in `serviceName`.
	// Structure is documented below.
	MethodSelectors []ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelector `pulumi:"methodSelectors"`
	// The name of the API whose methods or permissions the `IngressPolicy` or
	// `EgressPolicy` want to allow. A single `ApiOperation` with serviceName
	// field set to `*` will allow all methods AND permissions for all services.
	ServiceName *string `pulumi:"serviceName"`
}

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs struct {
	// API methods or permissions to allow. Method or permission must belong
	// to the service specified by `serviceName` field. A single MethodSelector
	// entry with `*` specified for the `method` field will allow all methods
	// AND permissions for the service specified in `serviceName`.
	// Structure is documented below.
	MethodSelectors ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayInput `pulumi:"methodSelectors"`
	// The name of the API whose methods or permissions the `IngressPolicy` or
	// `EgressPolicy` want to allow. A single `ApiOperation` with serviceName
	// field set to `*` will allow all methods AND permissions for all services.
	ServiceName pulumi.StringPtrInput `pulumi:"serviceName"`
}

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutputWithContext

func (i ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray []ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationInput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutputWithContext

func (i ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayInput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput() ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray and ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayInput` via:

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray{ ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs{...} }

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutputWithContext

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationInput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput() ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs and ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationInput` via:

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs{...}

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelector

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelector struct {
	// Value for `method` should be a valid method name for the corresponding
	// `serviceName` in `ApiOperation`. If `*` used as value for method,
	// then ALL methods and permissions are allowed.
	Method *string `pulumi:"method"`
	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding `serviceName` in `ApiOperation`.
	Permission *string `pulumi:"permission"`
}

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs struct {
	// Value for `method` should be a valid method name for the corresponding
	// `serviceName` in `ApiOperation`. If `*` used as value for method,
	// then ALL methods and permissions are allowed.
	Method pulumi.StringPtrInput `pulumi:"method"`
	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding `serviceName` in `ApiOperation`.
	Permission pulumi.StringPtrInput `pulumi:"permission"`
}

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutputWithContext

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray []ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayInput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput() ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray and ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayInput` via:

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray{ ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs{...} }

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput() ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs and ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput` via:

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs{...}

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) Method

Value for `method` should be a valid method name for the corresponding `serviceName` in `ApiOperation`. If `*` used as value for method, then ALL methods and permissions are allowed.

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) Permission

Value for permission should be a valid Cloud IAM permission for the corresponding `serviceName` in `ApiOperation`.

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutputWithContext

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput) MethodSelectors

API methods or permissions to allow. Method or permission must belong to the service specified by `serviceName` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `serviceName`. Structure is documented below.

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput) ServiceName

The name of the API whose methods or permissions the `IngressPolicy` or `EgressPolicy` want to allow. A single `ApiOperation` with serviceName field set to `*` will allow all methods AND permissions for all services.

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutputWithContext

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) Operations

A list of `ApiOperations` that this egress rule applies to. A request matches if it contains an operation/service in this list. Structure is documented below.

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, that match this to stanza. A request matches if it contains a resource in this list. If * is specified for resources, then this `EgressTo` rule will authorize access to all resources outside the perimeter.

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutputWithContext

func (o ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext

func (o ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrInput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput() ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs, ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtr and ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrInput` via:

        ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs{...}

or:

        nil

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput) Elem

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput) Operations

A list of `ApiOperations` that this egress rule applies to. A request matches if it contains an operation/service in this list. Structure is documented below.

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, that match this to stanza. A request matches if it contains a resource in this list. If * is specified for resources, then this `EgressTo` rule will authorize access to all resources outside the perimeter.

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext

func (o ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyInput

type ServicePerimetersServicePerimeterSpecEgressPolicyInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyOutput() ServicePerimetersServicePerimeterSpecEgressPolicyOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyArgs and ServicePerimetersServicePerimeterSpecEgressPolicyOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyInput` via:

ServicePerimetersServicePerimeterSpecEgressPolicyArgs{...}

type ServicePerimetersServicePerimeterSpecEgressPolicyOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyOutput) EgressFrom

Defines conditions on the source of a request causing this `EgressPolicy` to apply. Structure is documented below.

func (ServicePerimetersServicePerimeterSpecEgressPolicyOutput) EgressTo

Defines the conditions on the `ApiOperation` and destination resources that cause this `EgressPolicy` to apply. Structure is documented below.

func (ServicePerimetersServicePerimeterSpecEgressPolicyOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyOutputWithContext

func (o ServicePerimetersServicePerimeterSpecEgressPolicyOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyOutput

type ServicePerimetersServicePerimeterSpecIngressPolicy

type ServicePerimetersServicePerimeterSpecIngressPolicy struct {
	// Defines the conditions on the source of a request causing this `IngressPolicy`
	// to apply.
	// Structure is documented below.
	IngressFrom *ServicePerimetersServicePerimeterSpecIngressPolicyIngressFrom `pulumi:"ingressFrom"`
	// Defines the conditions on the `ApiOperation` and request destination that cause
	// this `IngressPolicy` to apply.
	// Structure is documented below.
	IngressTo *ServicePerimetersServicePerimeterSpecIngressPolicyIngressTo `pulumi:"ingressTo"`
}

type ServicePerimetersServicePerimeterSpecIngressPolicyArgs

type ServicePerimetersServicePerimeterSpecIngressPolicyArgs struct {
	// Defines the conditions on the source of a request causing this `IngressPolicy`
	// to apply.
	// Structure is documented below.
	IngressFrom ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrInput `pulumi:"ingressFrom"`
	// Defines the conditions on the `ApiOperation` and request destination that cause
	// this `IngressPolicy` to apply.
	// Structure is documented below.
	IngressTo ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrInput `pulumi:"ingressTo"`
}

func (ServicePerimetersServicePerimeterSpecIngressPolicyArgs) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyOutputWithContext

func (i ServicePerimetersServicePerimeterSpecIngressPolicyArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyArray

type ServicePerimetersServicePerimeterSpecIngressPolicyArray []ServicePerimetersServicePerimeterSpecIngressPolicyInput

func (ServicePerimetersServicePerimeterSpecIngressPolicyArray) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyArray) ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput

func (i ServicePerimetersServicePerimeterSpecIngressPolicyArray) ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput() ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyArray) ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutputWithContext

func (i ServicePerimetersServicePerimeterSpecIngressPolicyArray) ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyArrayInput

type ServicePerimetersServicePerimeterSpecIngressPolicyArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput() ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyArrayInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyArray and ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyArrayInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyArray{ ServicePerimetersServicePerimeterSpecIngressPolicyArgs{...} }

type ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput) Index

func (ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutputWithContext

func (o ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFrom

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFrom struct {
	// A list of identities that are allowed access through this `EgressPolicy`.
	// Should be in the format of email address. The email address should
	// represent individual user or service account only.
	Identities []string `pulumi:"identities"`
	// Specifies the type of identities that are allowed access to outside the
	// perimeter. If left unspecified, then members of `identities` field will
	// be allowed access.
	// Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.
	IdentityType *string `pulumi:"identityType"`
	// Sources that this `IngressPolicy` authorizes access from.
	// Structure is documented below.
	Sources []ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSource `pulumi:"sources"`
}

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs struct {
	// A list of identities that are allowed access through this `EgressPolicy`.
	// Should be in the format of email address. The email address should
	// represent individual user or service account only.
	Identities pulumi.StringArrayInput `pulumi:"identities"`
	// Specifies the type of identities that are allowed access to outside the
	// perimeter. If left unspecified, then members of `identities` field will
	// be allowed access.
	// Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.
	IdentityType pulumi.StringPtrInput `pulumi:"identityType"`
	// Sources that this `IngressPolicy` authorizes access from.
	// Structure is documented below.
	Sources ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayInput `pulumi:"sources"`
}

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutputWithContext

func (i ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext

func (i ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs and ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs{...}

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) Identities

A list of identities that are allowed access through this `EgressPolicy`. Should be in the format of email address. The email address should represent individual user or service account only.

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) IdentityType

Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access. Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) Sources

Sources that this `IngressPolicy` authorizes access from. Structure is documented below.

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutputWithContext

func (o ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext

func (o ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs, ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtr and ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrInput` via:

        ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs{...}

or:

        nil

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput) Elem

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput) Identities

A list of identities that are allowed access through this `EgressPolicy`. Should be in the format of email address. The email address should represent individual user or service account only.

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput) IdentityType

Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access. Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput) Sources

Sources that this `IngressPolicy` authorizes access from. Structure is documented below.

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext

func (o ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSource

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSource struct {
	// An `AccessLevel` resource name that allow resources within the
	// `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
	// must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
	// `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
	// resources within the perimeter can only be accessed via Google Cloud calls
	// with request origins within the perimeter.
	// Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
	// If * is specified, then all IngressSources will be allowed.
	AccessLevel *string `pulumi:"accessLevel"`
	// A Google Cloud resource that is allowed to ingress the perimeter.
	// Requests from these resources will be allowed to access perimeter data.
	// Currently only projects are allowed. Format `projects/{project_number}`
	// The project may be in any Google Cloud organization, not just the
	// organization that the perimeter is defined in. `*` is not allowed, the case
	// of allowing all Google Cloud resources only is not supported.
	Resource *string `pulumi:"resource"`
}

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs struct {
	// An `AccessLevel` resource name that allow resources within the
	// `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
	// must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
	// `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
	// resources within the perimeter can only be accessed via Google Cloud calls
	// with request origins within the perimeter.
	// Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
	// If * is specified, then all IngressSources will be allowed.
	AccessLevel pulumi.StringPtrInput `pulumi:"accessLevel"`
	// A Google Cloud resource that is allowed to ingress the perimeter.
	// Requests from these resources will be allowed to access perimeter data.
	// Currently only projects are allowed. Format `projects/{project_number}`
	// The project may be in any Google Cloud organization, not just the
	// organization that the perimeter is defined in. `*` is not allowed, the case
	// of allowing all Google Cloud resources only is not supported.
	Resource pulumi.StringPtrInput `pulumi:"resource"`
}

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutputWithContext

func (i ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray []ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceInput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutputWithContext

func (i ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray and ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray{ ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs{...} }

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutputWithContext

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs and ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs{...}

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput) AccessLevel

An `AccessLevel` resource name that allow resources within the `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent `AccessLevel` will cause an error. If no `AccessLevel` names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.` If * is specified, then all IngressSources will be allowed.

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput) Resource

A Google Cloud resource that is allowed to ingress the perimeter. Requests from these resources will be allowed to access perimeter data. Currently only projects are allowed. Format `projects/{project_number}` The project may be in any Google Cloud organization, not just the organization that the perimeter is defined in. `*` is not allowed, the case of allowing all Google Cloud resources only is not supported.

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutputWithContext

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressTo

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressTo struct {
	// A list of `ApiOperations` that this egress rule applies to. A request matches
	// if it contains an operation/service in this list.
	// Structure is documented below.
	Operations []ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperation `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources []string `pulumi:"resources"`
}

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs struct {
	// A list of `ApiOperations` that this egress rule applies to. A request matches
	// if it contains an operation/service in this list.
	// Structure is documented below.
	Operations ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayInput `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources pulumi.StringArrayInput `pulumi:"resources"`
}

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutputWithContext

func (i ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext

func (i ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs and ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressToInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs{...}

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperation

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperation struct {
	// API methods or permissions to allow. Method or permission must belong
	// to the service specified by `serviceName` field. A single MethodSelector
	// entry with `*` specified for the `method` field will allow all methods
	// AND permissions for the service specified in `serviceName`.
	// Structure is documented below.
	MethodSelectors []ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelector `pulumi:"methodSelectors"`
	// The name of the API whose methods or permissions the `IngressPolicy` or
	// `EgressPolicy` want to allow. A single `ApiOperation` with serviceName
	// field set to `*` will allow all methods AND permissions for all services.
	ServiceName *string `pulumi:"serviceName"`
}

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs struct {
	// API methods or permissions to allow. Method or permission must belong
	// to the service specified by `serviceName` field. A single MethodSelector
	// entry with `*` specified for the `method` field will allow all methods
	// AND permissions for the service specified in `serviceName`.
	// Structure is documented below.
	MethodSelectors ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayInput `pulumi:"methodSelectors"`
	// The name of the API whose methods or permissions the `IngressPolicy` or
	// `EgressPolicy` want to allow. A single `ApiOperation` with serviceName
	// field set to `*` will allow all methods AND permissions for all services.
	ServiceName pulumi.StringPtrInput `pulumi:"serviceName"`
}

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutputWithContext

func (i ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray []ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationInput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutputWithContext

func (i ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray and ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray{ ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs{...} }

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutputWithContext

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs and ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs{...}

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelector

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelector struct {
	// Value for `method` should be a valid method name for the corresponding
	// `serviceName` in `ApiOperation`. If `*` used as value for method,
	// then ALL methods and permissions are allowed.
	Method *string `pulumi:"method"`
	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding `serviceName` in `ApiOperation`.
	Permission *string `pulumi:"permission"`
}

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs struct {
	// Value for `method` should be a valid method name for the corresponding
	// `serviceName` in `ApiOperation`. If `*` used as value for method,
	// then ALL methods and permissions are allowed.
	Method pulumi.StringPtrInput `pulumi:"method"`
	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding `serviceName` in `ApiOperation`.
	Permission pulumi.StringPtrInput `pulumi:"permission"`
}

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutputWithContext

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray []ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray and ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray{ ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs{...} }

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs and ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs{...}

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) Method

Value for `method` should be a valid method name for the corresponding `serviceName` in `ApiOperation`. If `*` used as value for method, then ALL methods and permissions are allowed.

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) Permission

Value for permission should be a valid Cloud IAM permission for the corresponding `serviceName` in `ApiOperation`.

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutputWithContext

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput) MethodSelectors

API methods or permissions to allow. Method or permission must belong to the service specified by `serviceName` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `serviceName`. Structure is documented below.

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput) ServiceName

The name of the API whose methods or permissions the `IngressPolicy` or `EgressPolicy` want to allow. A single `ApiOperation` with serviceName field set to `*` will allow all methods AND permissions for all services.

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutputWithContext

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput) Operations

A list of `ApiOperations` that this egress rule applies to. A request matches if it contains an operation/service in this list. Structure is documented below.

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, that match this to stanza. A request matches if it contains a resource in this list. If * is specified for resources, then this `EgressTo` rule will authorize access to all resources outside the perimeter.

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutputWithContext

func (o ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext

func (o ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs, ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtr and ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrInput` via:

        ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs{...}

or:

        nil

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput) Elem

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput) Operations

A list of `ApiOperations` that this egress rule applies to. A request matches if it contains an operation/service in this list. Structure is documented below.

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, that match this to stanza. A request matches if it contains a resource in this list. If * is specified for resources, then this `EgressTo` rule will authorize access to all resources outside the perimeter.

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext

func (o ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyInput

type ServicePerimetersServicePerimeterSpecIngressPolicyInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyOutput() ServicePerimetersServicePerimeterSpecIngressPolicyOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyArgs and ServicePerimetersServicePerimeterSpecIngressPolicyOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyArgs{...}

type ServicePerimetersServicePerimeterSpecIngressPolicyOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyOutput) IngressFrom

Defines the conditions on the source of a request causing this `IngressPolicy` to apply. Structure is documented below.

func (ServicePerimetersServicePerimeterSpecIngressPolicyOutput) IngressTo

Defines the conditions on the `ApiOperation` and request destination that cause this `IngressPolicy` to apply. Structure is documented below.

func (ServicePerimetersServicePerimeterSpecIngressPolicyOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyOutputWithContext

func (o ServicePerimetersServicePerimeterSpecIngressPolicyOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyOutput

type ServicePerimetersServicePerimeterSpecInput

type ServicePerimetersServicePerimeterSpecInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecOutput() ServicePerimetersServicePerimeterSpecOutput
	ToServicePerimetersServicePerimeterSpecOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecOutput
}

ServicePerimetersServicePerimeterSpecInput is an input type that accepts ServicePerimetersServicePerimeterSpecArgs and ServicePerimetersServicePerimeterSpecOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecInput` via:

ServicePerimetersServicePerimeterSpecArgs{...}

type ServicePerimetersServicePerimeterSpecOutput

type ServicePerimetersServicePerimeterSpecOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecOutput) AccessLevels

A list of AccessLevel resource names that allow resources within the ServicePerimeter to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel is a syntax error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via GCP calls with request origins within the perimeter. For Service Perimeter Bridge, must be empty. Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}

func (ServicePerimetersServicePerimeterSpecOutput) EgressPolicies

List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be empty for a perimeter bridge. Structure is documented below.

func (ServicePerimetersServicePerimeterSpecOutput) ElementType

func (ServicePerimetersServicePerimeterSpecOutput) IngressPolicies

List of `IngressPolicies` to apply to the perimeter. A perimeter may have multiple `IngressPolicies`, each of which is evaluated separately. Access is granted if any `Ingress Policy` grants it. Must be empty for a perimeter bridge. Structure is documented below.

func (ServicePerimetersServicePerimeterSpecOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, that match this to stanza. A request matches if it contains a resource in this list. If * is specified for resources, then this `EgressTo` rule will authorize access to all resources outside the perimeter.

func (ServicePerimetersServicePerimeterSpecOutput) RestrictedServices

GCP services that are subject to the Service Perimeter restrictions. Must contain a list of services. For example, if `storage.googleapis.com` is specified, access to the storage buckets inside the perimeter must meet the perimeter's access restrictions.

func (ServicePerimetersServicePerimeterSpecOutput) ToServicePerimetersServicePerimeterSpecOutput

func (o ServicePerimetersServicePerimeterSpecOutput) ToServicePerimetersServicePerimeterSpecOutput() ServicePerimetersServicePerimeterSpecOutput

func (ServicePerimetersServicePerimeterSpecOutput) ToServicePerimetersServicePerimeterSpecOutputWithContext

func (o ServicePerimetersServicePerimeterSpecOutput) ToServicePerimetersServicePerimeterSpecOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecOutput

func (ServicePerimetersServicePerimeterSpecOutput) ToServicePerimetersServicePerimeterSpecPtrOutput

func (o ServicePerimetersServicePerimeterSpecOutput) ToServicePerimetersServicePerimeterSpecPtrOutput() ServicePerimetersServicePerimeterSpecPtrOutput

func (ServicePerimetersServicePerimeterSpecOutput) ToServicePerimetersServicePerimeterSpecPtrOutputWithContext

func (o ServicePerimetersServicePerimeterSpecOutput) ToServicePerimetersServicePerimeterSpecPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecPtrOutput

func (ServicePerimetersServicePerimeterSpecOutput) VpcAccessibleServices

Specifies how APIs are allowed to communicate within the Service Perimeter. Structure is documented below.

type ServicePerimetersServicePerimeterSpecPtrInput

type ServicePerimetersServicePerimeterSpecPtrInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecPtrOutput() ServicePerimetersServicePerimeterSpecPtrOutput
	ToServicePerimetersServicePerimeterSpecPtrOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecPtrOutput
}

ServicePerimetersServicePerimeterSpecPtrInput is an input type that accepts ServicePerimetersServicePerimeterSpecArgs, ServicePerimetersServicePerimeterSpecPtr and ServicePerimetersServicePerimeterSpecPtrOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecPtrInput` via:

        ServicePerimetersServicePerimeterSpecArgs{...}

or:

        nil

type ServicePerimetersServicePerimeterSpecPtrOutput

type ServicePerimetersServicePerimeterSpecPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecPtrOutput) AccessLevels

A list of AccessLevel resource names that allow resources within the ServicePerimeter to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel is a syntax error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via GCP calls with request origins within the perimeter. For Service Perimeter Bridge, must be empty. Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}

func (ServicePerimetersServicePerimeterSpecPtrOutput) EgressPolicies

List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be empty for a perimeter bridge. Structure is documented below.

func (ServicePerimetersServicePerimeterSpecPtrOutput) Elem

func (ServicePerimetersServicePerimeterSpecPtrOutput) ElementType

func (ServicePerimetersServicePerimeterSpecPtrOutput) IngressPolicies

List of `IngressPolicies` to apply to the perimeter. A perimeter may have multiple `IngressPolicies`, each of which is evaluated separately. Access is granted if any `Ingress Policy` grants it. Must be empty for a perimeter bridge. Structure is documented below.

func (ServicePerimetersServicePerimeterSpecPtrOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, that match this to stanza. A request matches if it contains a resource in this list. If * is specified for resources, then this `EgressTo` rule will authorize access to all resources outside the perimeter.

func (ServicePerimetersServicePerimeterSpecPtrOutput) RestrictedServices

GCP services that are subject to the Service Perimeter restrictions. Must contain a list of services. For example, if `storage.googleapis.com` is specified, access to the storage buckets inside the perimeter must meet the perimeter's access restrictions.

func (ServicePerimetersServicePerimeterSpecPtrOutput) ToServicePerimetersServicePerimeterSpecPtrOutput

func (o ServicePerimetersServicePerimeterSpecPtrOutput) ToServicePerimetersServicePerimeterSpecPtrOutput() ServicePerimetersServicePerimeterSpecPtrOutput

func (ServicePerimetersServicePerimeterSpecPtrOutput) ToServicePerimetersServicePerimeterSpecPtrOutputWithContext

func (o ServicePerimetersServicePerimeterSpecPtrOutput) ToServicePerimetersServicePerimeterSpecPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecPtrOutput

func (ServicePerimetersServicePerimeterSpecPtrOutput) VpcAccessibleServices

Specifies how APIs are allowed to communicate within the Service Perimeter. Structure is documented below.

type ServicePerimetersServicePerimeterSpecVpcAccessibleServices

type ServicePerimetersServicePerimeterSpecVpcAccessibleServices struct {
	// The list of APIs usable within the Service Perimeter.
	// Must be empty unless `enableRestriction` is True.
	AllowedServices []string `pulumi:"allowedServices"`
	// Whether to restrict API calls within the Service Perimeter to the
	// list of APIs specified in 'allowedServices'.
	EnableRestriction *bool `pulumi:"enableRestriction"`
}

type ServicePerimetersServicePerimeterSpecVpcAccessibleServicesArgs

type ServicePerimetersServicePerimeterSpecVpcAccessibleServicesArgs struct {
	// The list of APIs usable within the Service Perimeter.
	// Must be empty unless `enableRestriction` is True.
	AllowedServices pulumi.StringArrayInput `pulumi:"allowedServices"`
	// Whether to restrict API calls within the Service Perimeter to the
	// list of APIs specified in 'allowedServices'.
	EnableRestriction pulumi.BoolPtrInput `pulumi:"enableRestriction"`
}

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesArgs) ElementType

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesArgs) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesArgs) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutputWithContext

func (i ServicePerimetersServicePerimeterSpecVpcAccessibleServicesArgs) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesArgs) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesArgs) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutputWithContext

func (i ServicePerimetersServicePerimeterSpecVpcAccessibleServicesArgs) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput

type ServicePerimetersServicePerimeterSpecVpcAccessibleServicesInput

type ServicePerimetersServicePerimeterSpecVpcAccessibleServicesInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput() ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput
	ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput
}

ServicePerimetersServicePerimeterSpecVpcAccessibleServicesInput is an input type that accepts ServicePerimetersServicePerimeterSpecVpcAccessibleServicesArgs and ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecVpcAccessibleServicesInput` via:

ServicePerimetersServicePerimeterSpecVpcAccessibleServicesArgs{...}

type ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput

type ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput) AllowedServices

The list of APIs usable within the Service Perimeter. Must be empty unless `enableRestriction` is True.

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput) ElementType

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput) EnableRestriction

Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowedServices'.

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutputWithContext

func (o ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutputWithContext

func (o ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput

type ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrInput

type ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput() ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput
	ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput
}

ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrInput is an input type that accepts ServicePerimetersServicePerimeterSpecVpcAccessibleServicesArgs, ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtr and ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrInput` via:

        ServicePerimetersServicePerimeterSpecVpcAccessibleServicesArgs{...}

or:

        nil

type ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput

type ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput) AllowedServices

The list of APIs usable within the Service Perimeter. Must be empty unless `enableRestriction` is True.

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput) Elem

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput) ElementType

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput) EnableRestriction

Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowedServices'.

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutputWithContext

func (o ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput

type ServicePerimetersServicePerimeterStatus

type ServicePerimetersServicePerimeterStatus struct {
	// A list of AccessLevel resource names that allow resources within
	// the ServicePerimeter to be accessed from the internet.
	// AccessLevels listed must be in the same policy as this
	// ServicePerimeter. Referencing a nonexistent AccessLevel is a
	// syntax error. If no AccessLevel names are listed, resources within
	// the perimeter can only be accessed via GCP calls with request
	// origins within the perimeter. For Service Perimeter Bridge, must
	// be empty.
	// Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}
	AccessLevels []string `pulumi:"accessLevels"`
	// List of EgressPolicies to apply to the perimeter. A perimeter may
	// have multiple EgressPolicies, each of which is evaluated separately.
	// Access is granted if any EgressPolicy grants it. Must be empty for
	// a perimeter bridge.
	// Structure is documented below.
	EgressPolicies []ServicePerimetersServicePerimeterStatusEgressPolicy `pulumi:"egressPolicies"`
	// List of `IngressPolicies` to apply to the perimeter. A perimeter may
	// have multiple `IngressPolicies`, each of which is evaluated
	// separately. Access is granted if any `Ingress Policy` grants it.
	// Must be empty for a perimeter bridge.
	// Structure is documented below.
	IngressPolicies []ServicePerimetersServicePerimeterStatusIngressPolicy `pulumi:"ingressPolicies"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources []string `pulumi:"resources"`
	// GCP services that are subject to the Service Perimeter
	// restrictions. Must contain a list of services. For example, if
	// `storage.googleapis.com` is specified, access to the storage
	// buckets inside the perimeter must meet the perimeter's access
	// restrictions.
	RestrictedServices []string `pulumi:"restrictedServices"`
	// Specifies how APIs are allowed to communicate within the Service
	// Perimeter.
	// Structure is documented below.
	VpcAccessibleServices *ServicePerimetersServicePerimeterStatusVpcAccessibleServices `pulumi:"vpcAccessibleServices"`
}

type ServicePerimetersServicePerimeterStatusArgs

type ServicePerimetersServicePerimeterStatusArgs struct {
	// A list of AccessLevel resource names that allow resources within
	// the ServicePerimeter to be accessed from the internet.
	// AccessLevels listed must be in the same policy as this
	// ServicePerimeter. Referencing a nonexistent AccessLevel is a
	// syntax error. If no AccessLevel names are listed, resources within
	// the perimeter can only be accessed via GCP calls with request
	// origins within the perimeter. For Service Perimeter Bridge, must
	// be empty.
	// Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}
	AccessLevels pulumi.StringArrayInput `pulumi:"accessLevels"`
	// List of EgressPolicies to apply to the perimeter. A perimeter may
	// have multiple EgressPolicies, each of which is evaluated separately.
	// Access is granted if any EgressPolicy grants it. Must be empty for
	// a perimeter bridge.
	// Structure is documented below.
	EgressPolicies ServicePerimetersServicePerimeterStatusEgressPolicyArrayInput `pulumi:"egressPolicies"`
	// List of `IngressPolicies` to apply to the perimeter. A perimeter may
	// have multiple `IngressPolicies`, each of which is evaluated
	// separately. Access is granted if any `Ingress Policy` grants it.
	// Must be empty for a perimeter bridge.
	// Structure is documented below.
	IngressPolicies ServicePerimetersServicePerimeterStatusIngressPolicyArrayInput `pulumi:"ingressPolicies"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources pulumi.StringArrayInput `pulumi:"resources"`
	// GCP services that are subject to the Service Perimeter
	// restrictions. Must contain a list of services. For example, if
	// `storage.googleapis.com` is specified, access to the storage
	// buckets inside the perimeter must meet the perimeter's access
	// restrictions.
	RestrictedServices pulumi.StringArrayInput `pulumi:"restrictedServices"`
	// Specifies how APIs are allowed to communicate within the Service
	// Perimeter.
	// Structure is documented below.
	VpcAccessibleServices ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrInput `pulumi:"vpcAccessibleServices"`
}

func (ServicePerimetersServicePerimeterStatusArgs) ElementType

func (ServicePerimetersServicePerimeterStatusArgs) ToServicePerimetersServicePerimeterStatusOutput

func (i ServicePerimetersServicePerimeterStatusArgs) ToServicePerimetersServicePerimeterStatusOutput() ServicePerimetersServicePerimeterStatusOutput

func (ServicePerimetersServicePerimeterStatusArgs) ToServicePerimetersServicePerimeterStatusOutputWithContext

func (i ServicePerimetersServicePerimeterStatusArgs) ToServicePerimetersServicePerimeterStatusOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusOutput

func (ServicePerimetersServicePerimeterStatusArgs) ToServicePerimetersServicePerimeterStatusPtrOutput

func (i ServicePerimetersServicePerimeterStatusArgs) ToServicePerimetersServicePerimeterStatusPtrOutput() ServicePerimetersServicePerimeterStatusPtrOutput

func (ServicePerimetersServicePerimeterStatusArgs) ToServicePerimetersServicePerimeterStatusPtrOutputWithContext

func (i ServicePerimetersServicePerimeterStatusArgs) ToServicePerimetersServicePerimeterStatusPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusPtrOutput

type ServicePerimetersServicePerimeterStatusEgressPolicy

type ServicePerimetersServicePerimeterStatusEgressPolicy struct {
	// Defines conditions on the source of a request causing this `EgressPolicy` to apply.
	// Structure is documented below.
	EgressFrom *ServicePerimetersServicePerimeterStatusEgressPolicyEgressFrom `pulumi:"egressFrom"`
	// Defines the conditions on the `ApiOperation` and destination resources that
	// cause this `EgressPolicy` to apply.
	// Structure is documented below.
	EgressTo *ServicePerimetersServicePerimeterStatusEgressPolicyEgressTo `pulumi:"egressTo"`
}

type ServicePerimetersServicePerimeterStatusEgressPolicyArgs

type ServicePerimetersServicePerimeterStatusEgressPolicyArgs struct {
	// Defines conditions on the source of a request causing this `EgressPolicy` to apply.
	// Structure is documented below.
	EgressFrom ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrInput `pulumi:"egressFrom"`
	// Defines the conditions on the `ApiOperation` and destination resources that
	// cause this `EgressPolicy` to apply.
	// Structure is documented below.
	EgressTo ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrInput `pulumi:"egressTo"`
}

func (ServicePerimetersServicePerimeterStatusEgressPolicyArgs) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyOutputWithContext

func (i ServicePerimetersServicePerimeterStatusEgressPolicyArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyArray

type ServicePerimetersServicePerimeterStatusEgressPolicyArray []ServicePerimetersServicePerimeterStatusEgressPolicyInput

func (ServicePerimetersServicePerimeterStatusEgressPolicyArray) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyArray) ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput

func (i ServicePerimetersServicePerimeterStatusEgressPolicyArray) ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput() ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyArray) ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutputWithContext

func (i ServicePerimetersServicePerimeterStatusEgressPolicyArray) ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyArrayInput

type ServicePerimetersServicePerimeterStatusEgressPolicyArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput() ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyArrayInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyArray and ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyArrayInput` via:

ServicePerimetersServicePerimeterStatusEgressPolicyArray{ ServicePerimetersServicePerimeterStatusEgressPolicyArgs{...} }

type ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput) Index

func (ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutputWithContext

func (o ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFrom

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFrom struct {
	// A list of identities that are allowed access through this `EgressPolicy`.
	// Should be in the format of email address. The email address should
	// represent individual user or service account only.
	Identities []string `pulumi:"identities"`
	// Specifies the type of identities that are allowed access to outside the
	// perimeter. If left unspecified, then members of `identities` field will
	// be allowed access.
	// Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.
	IdentityType *string `pulumi:"identityType"`
}

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs struct {
	// A list of identities that are allowed access through this `EgressPolicy`.
	// Should be in the format of email address. The email address should
	// represent individual user or service account only.
	Identities pulumi.StringArrayInput `pulumi:"identities"`
	// Specifies the type of identities that are allowed access to outside the
	// perimeter. If left unspecified, then members of `identities` field will
	// be allowed access.
	// Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.
	IdentityType pulumi.StringPtrInput `pulumi:"identityType"`
}

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutputWithContext

func (i ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext

func (i ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromInput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput() ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs and ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromInput` via:

ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs{...}

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) Identities

A list of identities that are allowed access through this `EgressPolicy`. Should be in the format of email address. The email address should represent individual user or service account only.

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) IdentityType

Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access. Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutputWithContext

func (o ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext

func (o ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrInput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput() ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs, ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtr and ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrInput` via:

        ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs{...}

or:

        nil

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput) Elem

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput) Identities

A list of identities that are allowed access through this `EgressPolicy`. Should be in the format of email address. The email address should represent individual user or service account only.

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput) IdentityType

Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access. Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext

func (o ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressTo

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressTo struct {
	// A list of `ApiOperations` that this egress rule applies to. A request matches
	// if it contains an operation/service in this list.
	// Structure is documented below.
	Operations []ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperation `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources []string `pulumi:"resources"`
}

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs struct {
	// A list of `ApiOperations` that this egress rule applies to. A request matches
	// if it contains an operation/service in this list.
	// Structure is documented below.
	Operations ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayInput `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources pulumi.StringArrayInput `pulumi:"resources"`
}

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutputWithContext

func (i ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext

func (i ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToInput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput() ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs and ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyEgressToInput` via:

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs{...}

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperation

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperation struct {
	// API methods or permissions to allow. Method or permission must belong
	// to the service specified by `serviceName` field. A single MethodSelector
	// entry with `*` specified for the `method` field will allow all methods
	// AND permissions for the service specified in `serviceName`.
	// Structure is documented below.
	MethodSelectors []ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelector `pulumi:"methodSelectors"`
	// The name of the API whose methods or permissions the `IngressPolicy` or
	// `EgressPolicy` want to allow. A single `ApiOperation` with serviceName
	// field set to `*` will allow all methods AND permissions for all services.
	ServiceName *string `pulumi:"serviceName"`
}

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs struct {
	// API methods or permissions to allow. Method or permission must belong
	// to the service specified by `serviceName` field. A single MethodSelector
	// entry with `*` specified for the `method` field will allow all methods
	// AND permissions for the service specified in `serviceName`.
	// Structure is documented below.
	MethodSelectors ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayInput `pulumi:"methodSelectors"`
	// The name of the API whose methods or permissions the `IngressPolicy` or
	// `EgressPolicy` want to allow. A single `ApiOperation` with serviceName
	// field set to `*` will allow all methods AND permissions for all services.
	ServiceName pulumi.StringPtrInput `pulumi:"serviceName"`
}

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutputWithContext

func (i ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray []ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationInput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutputWithContext

func (i ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayInput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput() ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray and ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayInput` via:

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray{ ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs{...} }

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutputWithContext

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationInput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput() ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs and ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationInput` via:

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs{...}

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelector

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelector struct {
	// Value for `method` should be a valid method name for the corresponding
	// `serviceName` in `ApiOperation`. If `*` used as value for method,
	// then ALL methods and permissions are allowed.
	Method *string `pulumi:"method"`
	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding `serviceName` in `ApiOperation`.
	Permission *string `pulumi:"permission"`
}

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs struct {
	// Value for `method` should be a valid method name for the corresponding
	// `serviceName` in `ApiOperation`. If `*` used as value for method,
	// then ALL methods and permissions are allowed.
	Method pulumi.StringPtrInput `pulumi:"method"`
	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding `serviceName` in `ApiOperation`.
	Permission pulumi.StringPtrInput `pulumi:"permission"`
}

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutputWithContext

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray []ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayInput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput() ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray and ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayInput` via:

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray{ ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs{...} }

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput() ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs and ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput` via:

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs{...}

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) Method

Value for `method` should be a valid method name for the corresponding `serviceName` in `ApiOperation`. If `*` used as value for method, then ALL methods and permissions are allowed.

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) Permission

Value for permission should be a valid Cloud IAM permission for the corresponding `serviceName` in `ApiOperation`.

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutputWithContext

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput) MethodSelectors

API methods or permissions to allow. Method or permission must belong to the service specified by `serviceName` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `serviceName`. Structure is documented below.

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput) ServiceName

The name of the API whose methods or permissions the `IngressPolicy` or `EgressPolicy` want to allow. A single `ApiOperation` with serviceName field set to `*` will allow all methods AND permissions for all services.

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutputWithContext

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) Operations

A list of `ApiOperations` that this egress rule applies to. A request matches if it contains an operation/service in this list. Structure is documented below.

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, that match this to stanza. A request matches if it contains a resource in this list. If * is specified for resources, then this `EgressTo` rule will authorize access to all resources outside the perimeter.

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutputWithContext

func (o ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext

func (o ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrInput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput() ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs, ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtr and ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrInput` via:

        ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs{...}

or:

        nil

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput) Elem

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput) Operations

A list of `ApiOperations` that this egress rule applies to. A request matches if it contains an operation/service in this list. Structure is documented below.

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, that match this to stanza. A request matches if it contains a resource in this list. If * is specified for resources, then this `EgressTo` rule will authorize access to all resources outside the perimeter.

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext

func (o ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyInput

type ServicePerimetersServicePerimeterStatusEgressPolicyInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyOutput() ServicePerimetersServicePerimeterStatusEgressPolicyOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyArgs and ServicePerimetersServicePerimeterStatusEgressPolicyOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyInput` via:

ServicePerimetersServicePerimeterStatusEgressPolicyArgs{...}

type ServicePerimetersServicePerimeterStatusEgressPolicyOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyOutput) EgressFrom

Defines conditions on the source of a request causing this `EgressPolicy` to apply. Structure is documented below.

func (ServicePerimetersServicePerimeterStatusEgressPolicyOutput) EgressTo

Defines the conditions on the `ApiOperation` and destination resources that cause this `EgressPolicy` to apply. Structure is documented below.

func (ServicePerimetersServicePerimeterStatusEgressPolicyOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyOutputWithContext

func (o ServicePerimetersServicePerimeterStatusEgressPolicyOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyOutput

type ServicePerimetersServicePerimeterStatusIngressPolicy

type ServicePerimetersServicePerimeterStatusIngressPolicy struct {
	// Defines the conditions on the source of a request causing this `IngressPolicy`
	// to apply.
	// Structure is documented below.
	IngressFrom *ServicePerimetersServicePerimeterStatusIngressPolicyIngressFrom `pulumi:"ingressFrom"`
	// Defines the conditions on the `ApiOperation` and request destination that cause
	// this `IngressPolicy` to apply.
	// Structure is documented below.
	IngressTo *ServicePerimetersServicePerimeterStatusIngressPolicyIngressTo `pulumi:"ingressTo"`
}

type ServicePerimetersServicePerimeterStatusIngressPolicyArgs

type ServicePerimetersServicePerimeterStatusIngressPolicyArgs struct {
	// Defines the conditions on the source of a request causing this `IngressPolicy`
	// to apply.
	// Structure is documented below.
	IngressFrom ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrInput `pulumi:"ingressFrom"`
	// Defines the conditions on the `ApiOperation` and request destination that cause
	// this `IngressPolicy` to apply.
	// Structure is documented below.
	IngressTo ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrInput `pulumi:"ingressTo"`
}

func (ServicePerimetersServicePerimeterStatusIngressPolicyArgs) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyOutputWithContext

func (i ServicePerimetersServicePerimeterStatusIngressPolicyArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyArray

type ServicePerimetersServicePerimeterStatusIngressPolicyArray []ServicePerimetersServicePerimeterStatusIngressPolicyInput

func (ServicePerimetersServicePerimeterStatusIngressPolicyArray) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyArray) ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput

func (i ServicePerimetersServicePerimeterStatusIngressPolicyArray) ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput() ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyArray) ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutputWithContext

func (i ServicePerimetersServicePerimeterStatusIngressPolicyArray) ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyArrayInput

type ServicePerimetersServicePerimeterStatusIngressPolicyArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput() ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyArrayInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyArray and ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyArrayInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyArray{ ServicePerimetersServicePerimeterStatusIngressPolicyArgs{...} }

type ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput) Index

func (ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutputWithContext

func (o ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFrom

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFrom struct {
	// A list of identities that are allowed access through this `EgressPolicy`.
	// Should be in the format of email address. The email address should
	// represent individual user or service account only.
	Identities []string `pulumi:"identities"`
	// Specifies the type of identities that are allowed access to outside the
	// perimeter. If left unspecified, then members of `identities` field will
	// be allowed access.
	// Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.
	IdentityType *string `pulumi:"identityType"`
	// Sources that this `IngressPolicy` authorizes access from.
	// Structure is documented below.
	Sources []ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSource `pulumi:"sources"`
}

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs struct {
	// A list of identities that are allowed access through this `EgressPolicy`.
	// Should be in the format of email address. The email address should
	// represent individual user or service account only.
	Identities pulumi.StringArrayInput `pulumi:"identities"`
	// Specifies the type of identities that are allowed access to outside the
	// perimeter. If left unspecified, then members of `identities` field will
	// be allowed access.
	// Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.
	IdentityType pulumi.StringPtrInput `pulumi:"identityType"`
	// Sources that this `IngressPolicy` authorizes access from.
	// Structure is documented below.
	Sources ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayInput `pulumi:"sources"`
}

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutputWithContext

func (i ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext

func (i ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs and ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs{...}

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) Identities

A list of identities that are allowed access through this `EgressPolicy`. Should be in the format of email address. The email address should represent individual user or service account only.

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) IdentityType

Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access. Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) Sources

Sources that this `IngressPolicy` authorizes access from. Structure is documented below.

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutputWithContext

func (o ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext

func (o ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs, ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtr and ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrInput` via:

        ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs{...}

or:

        nil

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput) Elem

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput) Identities

A list of identities that are allowed access through this `EgressPolicy`. Should be in the format of email address. The email address should represent individual user or service account only.

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput) IdentityType

Specifies the type of identities that are allowed access to outside the perimeter. If left unspecified, then members of `identities` field will be allowed access. Possible values are `IDENTITY_TYPE_UNSPECIFIED`, `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, and `ANY_SERVICE_ACCOUNT`.

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput) Sources

Sources that this `IngressPolicy` authorizes access from. Structure is documented below.

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSource

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSource struct {
	// An `AccessLevel` resource name that allow resources within the
	// `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
	// must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
	// `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
	// resources within the perimeter can only be accessed via Google Cloud calls
	// with request origins within the perimeter.
	// Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
	// If * is specified, then all IngressSources will be allowed.
	AccessLevel *string `pulumi:"accessLevel"`
	// A Google Cloud resource that is allowed to ingress the perimeter.
	// Requests from these resources will be allowed to access perimeter data.
	// Currently only projects are allowed. Format `projects/{project_number}`
	// The project may be in any Google Cloud organization, not just the
	// organization that the perimeter is defined in. `*` is not allowed, the case
	// of allowing all Google Cloud resources only is not supported.
	Resource *string `pulumi:"resource"`
}

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs struct {
	// An `AccessLevel` resource name that allow resources within the
	// `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed
	// must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent
	// `AccessLevel` will cause an error. If no `AccessLevel` names are listed,
	// resources within the perimeter can only be accessed via Google Cloud calls
	// with request origins within the perimeter.
	// Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.`
	// If * is specified, then all IngressSources will be allowed.
	AccessLevel pulumi.StringPtrInput `pulumi:"accessLevel"`
	// A Google Cloud resource that is allowed to ingress the perimeter.
	// Requests from these resources will be allowed to access perimeter data.
	// Currently only projects are allowed. Format `projects/{project_number}`
	// The project may be in any Google Cloud organization, not just the
	// organization that the perimeter is defined in. `*` is not allowed, the case
	// of allowing all Google Cloud resources only is not supported.
	Resource pulumi.StringPtrInput `pulumi:"resource"`
}

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutputWithContext

func (i ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray []ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceInput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutputWithContext

func (i ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray and ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray{ ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs{...} }

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs and ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs{...}

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput) AccessLevel

An `AccessLevel` resource name that allow resources within the `ServicePerimeters` to be accessed from the internet. `AccessLevels` listed must be in the same policy as this `ServicePerimeter`. Referencing a nonexistent `AccessLevel` will cause an error. If no `AccessLevel` names are listed, resources within the perimeter can only be accessed via Google Cloud calls with request origins within the perimeter. Example `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.` If * is specified, then all IngressSources will be allowed.

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput) Resource

A Google Cloud resource that is allowed to ingress the perimeter. Requests from these resources will be allowed to access perimeter data. Currently only projects are allowed. Format `projects/{project_number}` The project may be in any Google Cloud organization, not just the organization that the perimeter is defined in. `*` is not allowed, the case of allowing all Google Cloud resources only is not supported.

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressTo

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressTo struct {
	// A list of `ApiOperations` that this egress rule applies to. A request matches
	// if it contains an operation/service in this list.
	// Structure is documented below.
	Operations []ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperation `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources []string `pulumi:"resources"`
}

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs struct {
	// A list of `ApiOperations` that this egress rule applies to. A request matches
	// if it contains an operation/service in this list.
	// Structure is documented below.
	Operations ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayInput `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources pulumi.StringArrayInput `pulumi:"resources"`
}

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutputWithContext

func (i ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext

func (i ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs and ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressToInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs{...}

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperation

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperation struct {
	// API methods or permissions to allow. Method or permission must belong
	// to the service specified by `serviceName` field. A single MethodSelector
	// entry with `*` specified for the `method` field will allow all methods
	// AND permissions for the service specified in `serviceName`.
	// Structure is documented below.
	MethodSelectors []ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelector `pulumi:"methodSelectors"`
	// The name of the API whose methods or permissions the `IngressPolicy` or
	// `EgressPolicy` want to allow. A single `ApiOperation` with serviceName
	// field set to `*` will allow all methods AND permissions for all services.
	ServiceName *string `pulumi:"serviceName"`
}

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs struct {
	// API methods or permissions to allow. Method or permission must belong
	// to the service specified by `serviceName` field. A single MethodSelector
	// entry with `*` specified for the `method` field will allow all methods
	// AND permissions for the service specified in `serviceName`.
	// Structure is documented below.
	MethodSelectors ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayInput `pulumi:"methodSelectors"`
	// The name of the API whose methods or permissions the `IngressPolicy` or
	// `EgressPolicy` want to allow. A single `ApiOperation` with serviceName
	// field set to `*` will allow all methods AND permissions for all services.
	ServiceName pulumi.StringPtrInput `pulumi:"serviceName"`
}

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray []ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationInput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutputWithContext

func (i ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray and ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray{ ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs{...} }

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs and ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs{...}

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelector

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelector struct {
	// Value for `method` should be a valid method name for the corresponding
	// `serviceName` in `ApiOperation`. If `*` used as value for method,
	// then ALL methods and permissions are allowed.
	Method *string `pulumi:"method"`
	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding `serviceName` in `ApiOperation`.
	Permission *string `pulumi:"permission"`
}

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs struct {
	// Value for `method` should be a valid method name for the corresponding
	// `serviceName` in `ApiOperation`. If `*` used as value for method,
	// then ALL methods and permissions are allowed.
	Method pulumi.StringPtrInput `pulumi:"method"`
	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding `serviceName` in `ApiOperation`.
	Permission pulumi.StringPtrInput `pulumi:"permission"`
}

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray []ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray and ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray{ ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs{...} }

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs and ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs{...}

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) Method

Value for `method` should be a valid method name for the corresponding `serviceName` in `ApiOperation`. If `*` used as value for method, then ALL methods and permissions are allowed.

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) Permission

Value for permission should be a valid Cloud IAM permission for the corresponding `serviceName` in `ApiOperation`.

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput) MethodSelectors

API methods or permissions to allow. Method or permission must belong to the service specified by `serviceName` field. A single MethodSelector entry with `*` specified for the `method` field will allow all methods AND permissions for the service specified in `serviceName`. Structure is documented below.

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput) ServiceName

The name of the API whose methods or permissions the `IngressPolicy` or `EgressPolicy` want to allow. A single `ApiOperation` with serviceName field set to `*` will allow all methods AND permissions for all services.

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput) Operations

A list of `ApiOperations` that this egress rule applies to. A request matches if it contains an operation/service in this list. Structure is documented below.

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, that match this to stanza. A request matches if it contains a resource in this list. If * is specified for resources, then this `EgressTo` rule will authorize access to all resources outside the perimeter.

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutputWithContext

func (o ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext

func (o ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs, ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtr and ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrInput` via:

        ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs{...}

or:

        nil

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput) Elem

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput) Operations

A list of `ApiOperations` that this egress rule applies to. A request matches if it contains an operation/service in this list. Structure is documented below.

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, that match this to stanza. A request matches if it contains a resource in this list. If * is specified for resources, then this `EgressTo` rule will authorize access to all resources outside the perimeter.

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext

func (o ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyInput

type ServicePerimetersServicePerimeterStatusIngressPolicyInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyOutput() ServicePerimetersServicePerimeterStatusIngressPolicyOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyArgs and ServicePerimetersServicePerimeterStatusIngressPolicyOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyArgs{...}

type ServicePerimetersServicePerimeterStatusIngressPolicyOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyOutput) IngressFrom

Defines the conditions on the source of a request causing this `IngressPolicy` to apply. Structure is documented below.

func (ServicePerimetersServicePerimeterStatusIngressPolicyOutput) IngressTo

Defines the conditions on the `ApiOperation` and request destination that cause this `IngressPolicy` to apply. Structure is documented below.

func (ServicePerimetersServicePerimeterStatusIngressPolicyOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyOutputWithContext

func (o ServicePerimetersServicePerimeterStatusIngressPolicyOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyOutput

type ServicePerimetersServicePerimeterStatusInput

type ServicePerimetersServicePerimeterStatusInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusOutput() ServicePerimetersServicePerimeterStatusOutput
	ToServicePerimetersServicePerimeterStatusOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusOutput
}

ServicePerimetersServicePerimeterStatusInput is an input type that accepts ServicePerimetersServicePerimeterStatusArgs and ServicePerimetersServicePerimeterStatusOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusInput` via:

ServicePerimetersServicePerimeterStatusArgs{...}

type ServicePerimetersServicePerimeterStatusOutput

type ServicePerimetersServicePerimeterStatusOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusOutput) AccessLevels

A list of AccessLevel resource names that allow resources within the ServicePerimeter to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel is a syntax error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via GCP calls with request origins within the perimeter. For Service Perimeter Bridge, must be empty. Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}

func (ServicePerimetersServicePerimeterStatusOutput) EgressPolicies

List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be empty for a perimeter bridge. Structure is documented below.

func (ServicePerimetersServicePerimeterStatusOutput) ElementType

func (ServicePerimetersServicePerimeterStatusOutput) IngressPolicies

List of `IngressPolicies` to apply to the perimeter. A perimeter may have multiple `IngressPolicies`, each of which is evaluated separately. Access is granted if any `Ingress Policy` grants it. Must be empty for a perimeter bridge. Structure is documented below.

func (ServicePerimetersServicePerimeterStatusOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, that match this to stanza. A request matches if it contains a resource in this list. If * is specified for resources, then this `EgressTo` rule will authorize access to all resources outside the perimeter.

func (ServicePerimetersServicePerimeterStatusOutput) RestrictedServices

GCP services that are subject to the Service Perimeter restrictions. Must contain a list of services. For example, if `storage.googleapis.com` is specified, access to the storage buckets inside the perimeter must meet the perimeter's access restrictions.

func (ServicePerimetersServicePerimeterStatusOutput) ToServicePerimetersServicePerimeterStatusOutput

func (o ServicePerimetersServicePerimeterStatusOutput) ToServicePerimetersServicePerimeterStatusOutput() ServicePerimetersServicePerimeterStatusOutput

func (ServicePerimetersServicePerimeterStatusOutput) ToServicePerimetersServicePerimeterStatusOutputWithContext

func (o ServicePerimetersServicePerimeterStatusOutput) ToServicePerimetersServicePerimeterStatusOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusOutput

func (ServicePerimetersServicePerimeterStatusOutput) ToServicePerimetersServicePerimeterStatusPtrOutput

func (o ServicePerimetersServicePerimeterStatusOutput) ToServicePerimetersServicePerimeterStatusPtrOutput() ServicePerimetersServicePerimeterStatusPtrOutput

func (ServicePerimetersServicePerimeterStatusOutput) ToServicePerimetersServicePerimeterStatusPtrOutputWithContext

func (o ServicePerimetersServicePerimeterStatusOutput) ToServicePerimetersServicePerimeterStatusPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusPtrOutput

func (ServicePerimetersServicePerimeterStatusOutput) VpcAccessibleServices

Specifies how APIs are allowed to communicate within the Service Perimeter. Structure is documented below.

type ServicePerimetersServicePerimeterStatusPtrInput

type ServicePerimetersServicePerimeterStatusPtrInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusPtrOutput() ServicePerimetersServicePerimeterStatusPtrOutput
	ToServicePerimetersServicePerimeterStatusPtrOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusPtrOutput
}

ServicePerimetersServicePerimeterStatusPtrInput is an input type that accepts ServicePerimetersServicePerimeterStatusArgs, ServicePerimetersServicePerimeterStatusPtr and ServicePerimetersServicePerimeterStatusPtrOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusPtrInput` via:

        ServicePerimetersServicePerimeterStatusArgs{...}

or:

        nil

type ServicePerimetersServicePerimeterStatusPtrOutput

type ServicePerimetersServicePerimeterStatusPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusPtrOutput) AccessLevels

A list of AccessLevel resource names that allow resources within the ServicePerimeter to be accessed from the internet. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel is a syntax error. If no AccessLevel names are listed, resources within the perimeter can only be accessed via GCP calls with request origins within the perimeter. For Service Perimeter Bridge, must be empty. Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}

func (ServicePerimetersServicePerimeterStatusPtrOutput) EgressPolicies

List of EgressPolicies to apply to the perimeter. A perimeter may have multiple EgressPolicies, each of which is evaluated separately. Access is granted if any EgressPolicy grants it. Must be empty for a perimeter bridge. Structure is documented below.

func (ServicePerimetersServicePerimeterStatusPtrOutput) Elem

func (ServicePerimetersServicePerimeterStatusPtrOutput) ElementType

func (ServicePerimetersServicePerimeterStatusPtrOutput) IngressPolicies

List of `IngressPolicies` to apply to the perimeter. A perimeter may have multiple `IngressPolicies`, each of which is evaluated separately. Access is granted if any `Ingress Policy` grants it. Must be empty for a perimeter bridge. Structure is documented below.

func (ServicePerimetersServicePerimeterStatusPtrOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, that match this to stanza. A request matches if it contains a resource in this list. If * is specified for resources, then this `EgressTo` rule will authorize access to all resources outside the perimeter.

func (ServicePerimetersServicePerimeterStatusPtrOutput) RestrictedServices

GCP services that are subject to the Service Perimeter restrictions. Must contain a list of services. For example, if `storage.googleapis.com` is specified, access to the storage buckets inside the perimeter must meet the perimeter's access restrictions.

func (ServicePerimetersServicePerimeterStatusPtrOutput) ToServicePerimetersServicePerimeterStatusPtrOutput

func (o ServicePerimetersServicePerimeterStatusPtrOutput) ToServicePerimetersServicePerimeterStatusPtrOutput() ServicePerimetersServicePerimeterStatusPtrOutput

func (ServicePerimetersServicePerimeterStatusPtrOutput) ToServicePerimetersServicePerimeterStatusPtrOutputWithContext

func (o ServicePerimetersServicePerimeterStatusPtrOutput) ToServicePerimetersServicePerimeterStatusPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusPtrOutput

func (ServicePerimetersServicePerimeterStatusPtrOutput) VpcAccessibleServices

Specifies how APIs are allowed to communicate within the Service Perimeter. Structure is documented below.

type ServicePerimetersServicePerimeterStatusVpcAccessibleServices

type ServicePerimetersServicePerimeterStatusVpcAccessibleServices struct {
	// The list of APIs usable within the Service Perimeter.
	// Must be empty unless `enableRestriction` is True.
	AllowedServices []string `pulumi:"allowedServices"`
	// Whether to restrict API calls within the Service Perimeter to the
	// list of APIs specified in 'allowedServices'.
	EnableRestriction *bool `pulumi:"enableRestriction"`
}

type ServicePerimetersServicePerimeterStatusVpcAccessibleServicesArgs

type ServicePerimetersServicePerimeterStatusVpcAccessibleServicesArgs struct {
	// The list of APIs usable within the Service Perimeter.
	// Must be empty unless `enableRestriction` is True.
	AllowedServices pulumi.StringArrayInput `pulumi:"allowedServices"`
	// Whether to restrict API calls within the Service Perimeter to the
	// list of APIs specified in 'allowedServices'.
	EnableRestriction pulumi.BoolPtrInput `pulumi:"enableRestriction"`
}

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesArgs) ElementType

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesArgs) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesArgs) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutputWithContext

func (i ServicePerimetersServicePerimeterStatusVpcAccessibleServicesArgs) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesArgs) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesArgs) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext

func (i ServicePerimetersServicePerimeterStatusVpcAccessibleServicesArgs) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput

type ServicePerimetersServicePerimeterStatusVpcAccessibleServicesInput

type ServicePerimetersServicePerimeterStatusVpcAccessibleServicesInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput() ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput
	ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput
}

ServicePerimetersServicePerimeterStatusVpcAccessibleServicesInput is an input type that accepts ServicePerimetersServicePerimeterStatusVpcAccessibleServicesArgs and ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusVpcAccessibleServicesInput` via:

ServicePerimetersServicePerimeterStatusVpcAccessibleServicesArgs{...}

type ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput

type ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput) AllowedServices

The list of APIs usable within the Service Perimeter. Must be empty unless `enableRestriction` is True.

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput) ElementType

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput) EnableRestriction

Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowedServices'.

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutputWithContext

func (o ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext

func (o ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput

type ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrInput

type ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput() ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput
	ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput
}

ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrInput is an input type that accepts ServicePerimetersServicePerimeterStatusVpcAccessibleServicesArgs, ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtr and ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrInput` via:

        ServicePerimetersServicePerimeterStatusVpcAccessibleServicesArgs{...}

or:

        nil

type ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput

type ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput) AllowedServices

The list of APIs usable within the Service Perimeter. Must be empty unless `enableRestriction` is True.

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput) Elem

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput) ElementType

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput) EnableRestriction

Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowedServices'.

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext

func (o ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput

type ServicePerimetersState

type ServicePerimetersState struct {
	// The AccessPolicy this ServicePerimeter lives in.
	// Format: accessPolicies/{policy_id}
	Parent pulumi.StringPtrInput
	// The desired Service Perimeters that should replace all existing Service Perimeters in the Access Policy.
	// Structure is documented below.
	ServicePerimeters ServicePerimetersServicePerimeterArrayInput
}

func (ServicePerimetersState) ElementType

func (ServicePerimetersState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL