accesscontextmanager

package
v4.19.0 Latest Latest
Warning

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

Go to latest
Published: Apr 6, 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/v4/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi/sdk/v2/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 added in v4.4.0

func (*AccessLevel) ElementType() reflect.Type

func (*AccessLevel) ToAccessLevelOutput added in v4.4.0

func (i *AccessLevel) ToAccessLevelOutput() AccessLevelOutput

func (*AccessLevel) ToAccessLevelOutputWithContext added in v4.4.0

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

func (*AccessLevel) ToAccessLevelPtrOutput added in v4.11.1

func (i *AccessLevel) ToAccessLevelPtrOutput() AccessLevelPtrOutput

func (*AccessLevel) ToAccessLevelPtrOutputWithContext added in v4.11.1

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 added in v4.11.1

type AccessLevelArray []AccessLevelInput

func (AccessLevelArray) ElementType added in v4.11.1

func (AccessLevelArray) ElementType() reflect.Type

func (AccessLevelArray) ToAccessLevelArrayOutput added in v4.11.1

func (i AccessLevelArray) ToAccessLevelArrayOutput() AccessLevelArrayOutput

func (AccessLevelArray) ToAccessLevelArrayOutputWithContext added in v4.11.1

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

type AccessLevelArrayInput added in v4.11.1

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 added in v4.11.1

type AccessLevelArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelArrayOutput) ElementType added in v4.11.1

func (AccessLevelArrayOutput) ElementType() reflect.Type

func (AccessLevelArrayOutput) Index added in v4.11.1

func (AccessLevelArrayOutput) ToAccessLevelArrayOutput added in v4.11.1

func (o AccessLevelArrayOutput) ToAccessLevelArrayOutput() AccessLevelArrayOutput

func (AccessLevelArrayOutput) ToAccessLevelArrayOutputWithContext added in v4.11.1

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`, and `DESKTOP_CHROME_OS`.
	OsType string `pulumi:"osType"`
}

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`, and `DESKTOP_CHROME_OS`.
	OsType pulumi.StringInput `pulumi:"osType"`
}

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`, and `DESKTOP_CHROME_OS`.

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 added in v4.1.0

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 added in v4.1.0

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 added in v4.1.0

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 added in v4.4.0

func (*AccessLevelCondition) ElementType() reflect.Type

func (*AccessLevelCondition) ToAccessLevelConditionOutput added in v4.4.0

func (i *AccessLevelCondition) ToAccessLevelConditionOutput() AccessLevelConditionOutput

func (*AccessLevelCondition) ToAccessLevelConditionOutputWithContext added in v4.4.0

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

func (*AccessLevelCondition) ToAccessLevelConditionPtrOutput added in v4.11.1

func (i *AccessLevelCondition) ToAccessLevelConditionPtrOutput() AccessLevelConditionPtrOutput

func (*AccessLevelCondition) ToAccessLevelConditionPtrOutputWithContext added in v4.11.1

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

type AccessLevelConditionArgs added in v4.1.0

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 added in v4.1.0

func (AccessLevelConditionArgs) ElementType() reflect.Type

type AccessLevelConditionArray added in v4.11.1

type AccessLevelConditionArray []AccessLevelConditionInput

func (AccessLevelConditionArray) ElementType added in v4.11.1

func (AccessLevelConditionArray) ElementType() reflect.Type

func (AccessLevelConditionArray) ToAccessLevelConditionArrayOutput added in v4.11.1

func (i AccessLevelConditionArray) ToAccessLevelConditionArrayOutput() AccessLevelConditionArrayOutput

func (AccessLevelConditionArray) ToAccessLevelConditionArrayOutputWithContext added in v4.11.1

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

type AccessLevelConditionArrayInput added in v4.11.1

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 added in v4.11.1

type AccessLevelConditionArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionArrayOutput) ElementType added in v4.11.1

func (AccessLevelConditionArrayOutput) Index added in v4.11.1

func (AccessLevelConditionArrayOutput) ToAccessLevelConditionArrayOutput added in v4.11.1

func (o AccessLevelConditionArrayOutput) ToAccessLevelConditionArrayOutput() AccessLevelConditionArrayOutput

func (AccessLevelConditionArrayOutput) ToAccessLevelConditionArrayOutputWithContext added in v4.11.1

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

type AccessLevelConditionDevicePolicy added in v4.1.0

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 added in v4.1.0

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 added in v4.1.0

func (AccessLevelConditionDevicePolicyArgs) ToAccessLevelConditionDevicePolicyOutput added in v4.1.0

func (i AccessLevelConditionDevicePolicyArgs) ToAccessLevelConditionDevicePolicyOutput() AccessLevelConditionDevicePolicyOutput

func (AccessLevelConditionDevicePolicyArgs) ToAccessLevelConditionDevicePolicyOutputWithContext added in v4.1.0

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

func (AccessLevelConditionDevicePolicyArgs) ToAccessLevelConditionDevicePolicyPtrOutput added in v4.1.0

func (i AccessLevelConditionDevicePolicyArgs) ToAccessLevelConditionDevicePolicyPtrOutput() AccessLevelConditionDevicePolicyPtrOutput

func (AccessLevelConditionDevicePolicyArgs) ToAccessLevelConditionDevicePolicyPtrOutputWithContext added in v4.1.0

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

type AccessLevelConditionDevicePolicyInput added in v4.1.0

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 added in v4.1.0

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`, and `DESKTOP_CHROME_OS`.
	OsType string `pulumi:"osType"`
}

type AccessLevelConditionDevicePolicyOsConstraintArgs added in v4.1.0

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`, and `DESKTOP_CHROME_OS`.
	OsType pulumi.StringInput `pulumi:"osType"`
}

func (AccessLevelConditionDevicePolicyOsConstraintArgs) ElementType added in v4.1.0

func (AccessLevelConditionDevicePolicyOsConstraintArgs) ToAccessLevelConditionDevicePolicyOsConstraintOutput added in v4.1.0

func (i AccessLevelConditionDevicePolicyOsConstraintArgs) ToAccessLevelConditionDevicePolicyOsConstraintOutput() AccessLevelConditionDevicePolicyOsConstraintOutput

func (AccessLevelConditionDevicePolicyOsConstraintArgs) ToAccessLevelConditionDevicePolicyOsConstraintOutputWithContext added in v4.1.0

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

type AccessLevelConditionDevicePolicyOsConstraintArray added in v4.1.0

type AccessLevelConditionDevicePolicyOsConstraintArray []AccessLevelConditionDevicePolicyOsConstraintInput

func (AccessLevelConditionDevicePolicyOsConstraintArray) ElementType added in v4.1.0

func (AccessLevelConditionDevicePolicyOsConstraintArray) ToAccessLevelConditionDevicePolicyOsConstraintArrayOutput added in v4.1.0

func (i AccessLevelConditionDevicePolicyOsConstraintArray) ToAccessLevelConditionDevicePolicyOsConstraintArrayOutput() AccessLevelConditionDevicePolicyOsConstraintArrayOutput

func (AccessLevelConditionDevicePolicyOsConstraintArray) ToAccessLevelConditionDevicePolicyOsConstraintArrayOutputWithContext added in v4.1.0

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

type AccessLevelConditionDevicePolicyOsConstraintArrayInput added in v4.1.0

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 added in v4.1.0

type AccessLevelConditionDevicePolicyOsConstraintArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionDevicePolicyOsConstraintArrayOutput) ElementType added in v4.1.0

func (AccessLevelConditionDevicePolicyOsConstraintArrayOutput) Index added in v4.1.0

func (AccessLevelConditionDevicePolicyOsConstraintArrayOutput) ToAccessLevelConditionDevicePolicyOsConstraintArrayOutput added in v4.1.0

func (AccessLevelConditionDevicePolicyOsConstraintArrayOutput) ToAccessLevelConditionDevicePolicyOsConstraintArrayOutputWithContext added in v4.1.0

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

type AccessLevelConditionDevicePolicyOsConstraintInput added in v4.1.0

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 added in v4.1.0

type AccessLevelConditionDevicePolicyOsConstraintOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionDevicePolicyOsConstraintOutput) ElementType added in v4.1.0

func (AccessLevelConditionDevicePolicyOsConstraintOutput) MinimumVersion added in v4.1.0

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 added in v4.1.0

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

func (AccessLevelConditionDevicePolicyOsConstraintOutput) ToAccessLevelConditionDevicePolicyOsConstraintOutput added in v4.1.0

func (o AccessLevelConditionDevicePolicyOsConstraintOutput) ToAccessLevelConditionDevicePolicyOsConstraintOutput() AccessLevelConditionDevicePolicyOsConstraintOutput

func (AccessLevelConditionDevicePolicyOsConstraintOutput) ToAccessLevelConditionDevicePolicyOsConstraintOutputWithContext added in v4.1.0

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

type AccessLevelConditionDevicePolicyOutput added in v4.1.0

type AccessLevelConditionDevicePolicyOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionDevicePolicyOutput) AllowedDeviceManagementLevels added in v4.1.0

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 added in v4.1.0

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 added in v4.1.0

func (AccessLevelConditionDevicePolicyOutput) OsConstraints added in v4.1.0

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

func (AccessLevelConditionDevicePolicyOutput) RequireAdminApproval added in v4.1.0

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

func (AccessLevelConditionDevicePolicyOutput) RequireCorpOwned added in v4.1.0

Whether the device needs to be corp owned.

func (AccessLevelConditionDevicePolicyOutput) RequireScreenLock added in v4.1.0

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

func (AccessLevelConditionDevicePolicyOutput) ToAccessLevelConditionDevicePolicyOutput added in v4.1.0

func (o AccessLevelConditionDevicePolicyOutput) ToAccessLevelConditionDevicePolicyOutput() AccessLevelConditionDevicePolicyOutput

func (AccessLevelConditionDevicePolicyOutput) ToAccessLevelConditionDevicePolicyOutputWithContext added in v4.1.0

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

func (AccessLevelConditionDevicePolicyOutput) ToAccessLevelConditionDevicePolicyPtrOutput added in v4.1.0

func (o AccessLevelConditionDevicePolicyOutput) ToAccessLevelConditionDevicePolicyPtrOutput() AccessLevelConditionDevicePolicyPtrOutput

func (AccessLevelConditionDevicePolicyOutput) ToAccessLevelConditionDevicePolicyPtrOutputWithContext added in v4.1.0

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

type AccessLevelConditionDevicePolicyPtrInput added in v4.1.0

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 added in v4.1.0

type AccessLevelConditionDevicePolicyPtrOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionDevicePolicyPtrOutput) AllowedDeviceManagementLevels added in v4.1.0

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 added in v4.1.0

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 added in v4.1.0

func (AccessLevelConditionDevicePolicyPtrOutput) ElementType added in v4.1.0

func (AccessLevelConditionDevicePolicyPtrOutput) OsConstraints added in v4.1.0

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

func (AccessLevelConditionDevicePolicyPtrOutput) RequireAdminApproval added in v4.1.0

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

func (AccessLevelConditionDevicePolicyPtrOutput) RequireCorpOwned added in v4.1.0

Whether the device needs to be corp owned.

func (AccessLevelConditionDevicePolicyPtrOutput) RequireScreenLock added in v4.1.0

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

func (AccessLevelConditionDevicePolicyPtrOutput) ToAccessLevelConditionDevicePolicyPtrOutput added in v4.1.0

func (o AccessLevelConditionDevicePolicyPtrOutput) ToAccessLevelConditionDevicePolicyPtrOutput() AccessLevelConditionDevicePolicyPtrOutput

func (AccessLevelConditionDevicePolicyPtrOutput) ToAccessLevelConditionDevicePolicyPtrOutputWithContext added in v4.1.0

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

type AccessLevelConditionInput added in v4.4.0

type AccessLevelConditionInput interface {
	pulumi.Input

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

type AccessLevelConditionMap added in v4.11.1

type AccessLevelConditionMap map[string]AccessLevelConditionInput

func (AccessLevelConditionMap) ElementType added in v4.11.1

func (AccessLevelConditionMap) ElementType() reflect.Type

func (AccessLevelConditionMap) ToAccessLevelConditionMapOutput added in v4.11.1

func (i AccessLevelConditionMap) ToAccessLevelConditionMapOutput() AccessLevelConditionMapOutput

func (AccessLevelConditionMap) ToAccessLevelConditionMapOutputWithContext added in v4.11.1

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

type AccessLevelConditionMapInput added in v4.11.1

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 added in v4.11.1

type AccessLevelConditionMapOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionMapOutput) ElementType added in v4.11.1

func (AccessLevelConditionMapOutput) MapIndex added in v4.11.1

func (AccessLevelConditionMapOutput) ToAccessLevelConditionMapOutput added in v4.11.1

func (o AccessLevelConditionMapOutput) ToAccessLevelConditionMapOutput() AccessLevelConditionMapOutput

func (AccessLevelConditionMapOutput) ToAccessLevelConditionMapOutputWithContext added in v4.11.1

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

type AccessLevelConditionOutput added in v4.4.0

type AccessLevelConditionOutput struct {
	*pulumi.OutputState
}

func (AccessLevelConditionOutput) ElementType added in v4.4.0

func (AccessLevelConditionOutput) ElementType() reflect.Type

func (AccessLevelConditionOutput) ToAccessLevelConditionOutput added in v4.4.0

func (o AccessLevelConditionOutput) ToAccessLevelConditionOutput() AccessLevelConditionOutput

func (AccessLevelConditionOutput) ToAccessLevelConditionOutputWithContext added in v4.4.0

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

func (AccessLevelConditionOutput) ToAccessLevelConditionPtrOutput added in v4.11.1

func (o AccessLevelConditionOutput) ToAccessLevelConditionPtrOutput() AccessLevelConditionPtrOutput

func (AccessLevelConditionOutput) ToAccessLevelConditionPtrOutputWithContext added in v4.11.1

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

type AccessLevelConditionPtrInput added in v4.11.1

type AccessLevelConditionPtrInput interface {
	pulumi.Input

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

type AccessLevelConditionPtrOutput added in v4.11.1

type AccessLevelConditionPtrOutput struct {
	*pulumi.OutputState
}

func (AccessLevelConditionPtrOutput) ElementType added in v4.11.1

func (AccessLevelConditionPtrOutput) ToAccessLevelConditionPtrOutput added in v4.11.1

func (o AccessLevelConditionPtrOutput) ToAccessLevelConditionPtrOutput() AccessLevelConditionPtrOutput

func (AccessLevelConditionPtrOutput) ToAccessLevelConditionPtrOutputWithContext added in v4.11.1

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

type AccessLevelConditionState added in v4.1.0

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 added in v4.1.0

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 added in v4.4.0

type AccessLevelInput interface {
	pulumi.Input

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

type AccessLevelMap added in v4.11.1

type AccessLevelMap map[string]AccessLevelInput

func (AccessLevelMap) ElementType added in v4.11.1

func (AccessLevelMap) ElementType() reflect.Type

func (AccessLevelMap) ToAccessLevelMapOutput added in v4.11.1

func (i AccessLevelMap) ToAccessLevelMapOutput() AccessLevelMapOutput

func (AccessLevelMap) ToAccessLevelMapOutputWithContext added in v4.11.1

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

type AccessLevelMapInput added in v4.11.1

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 added in v4.11.1

type AccessLevelMapOutput struct{ *pulumi.OutputState }

func (AccessLevelMapOutput) ElementType added in v4.11.1

func (AccessLevelMapOutput) ElementType() reflect.Type

func (AccessLevelMapOutput) MapIndex added in v4.11.1

func (AccessLevelMapOutput) ToAccessLevelMapOutput added in v4.11.1

func (o AccessLevelMapOutput) ToAccessLevelMapOutput() AccessLevelMapOutput

func (AccessLevelMapOutput) ToAccessLevelMapOutputWithContext added in v4.11.1

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

type AccessLevelOutput added in v4.4.0

type AccessLevelOutput struct {
	*pulumi.OutputState
}

func (AccessLevelOutput) ElementType added in v4.4.0

func (AccessLevelOutput) ElementType() reflect.Type

func (AccessLevelOutput) ToAccessLevelOutput added in v4.4.0

func (o AccessLevelOutput) ToAccessLevelOutput() AccessLevelOutput

func (AccessLevelOutput) ToAccessLevelOutputWithContext added in v4.4.0

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

func (AccessLevelOutput) ToAccessLevelPtrOutput added in v4.11.1

func (o AccessLevelOutput) ToAccessLevelPtrOutput() AccessLevelPtrOutput

func (AccessLevelOutput) ToAccessLevelPtrOutputWithContext added in v4.11.1

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

type AccessLevelPtrInput added in v4.11.1

type AccessLevelPtrInput interface {
	pulumi.Input

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

type AccessLevelPtrOutput added in v4.11.1

type AccessLevelPtrOutput struct {
	*pulumi.OutputState
}

func (AccessLevelPtrOutput) ElementType added in v4.11.1

func (AccessLevelPtrOutput) ElementType() reflect.Type

func (AccessLevelPtrOutput) ToAccessLevelPtrOutput added in v4.11.1

func (o AccessLevelPtrOutput) ToAccessLevelPtrOutput() AccessLevelPtrOutput

func (AccessLevelPtrOutput) ToAccessLevelPtrOutputWithContext added in v4.11.1

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/v4/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi/sdk/v2/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 added in v4.4.0

func (*AccessLevels) ElementType() reflect.Type

func (*AccessLevels) ToAccessLevelsOutput added in v4.4.0

func (i *AccessLevels) ToAccessLevelsOutput() AccessLevelsOutput

func (*AccessLevels) ToAccessLevelsOutputWithContext added in v4.4.0

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

func (*AccessLevels) ToAccessLevelsPtrOutput added in v4.11.1

func (i *AccessLevels) ToAccessLevelsPtrOutput() AccessLevelsPtrOutput

func (*AccessLevels) ToAccessLevelsPtrOutputWithContext added in v4.11.1

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`, and `DESKTOP_CHROME_OS`.
	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`, and `DESKTOP_CHROME_OS`.
	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`, and `DESKTOP_CHROME_OS`.

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 added in v4.11.1

type AccessLevelsArray []AccessLevelsInput

func (AccessLevelsArray) ElementType added in v4.11.1

func (AccessLevelsArray) ElementType() reflect.Type

func (AccessLevelsArray) ToAccessLevelsArrayOutput added in v4.11.1

func (i AccessLevelsArray) ToAccessLevelsArrayOutput() AccessLevelsArrayOutput

func (AccessLevelsArray) ToAccessLevelsArrayOutputWithContext added in v4.11.1

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

type AccessLevelsArrayInput added in v4.11.1

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 added in v4.11.1

type AccessLevelsArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelsArrayOutput) ElementType added in v4.11.1

func (AccessLevelsArrayOutput) ElementType() reflect.Type

func (AccessLevelsArrayOutput) Index added in v4.11.1

func (AccessLevelsArrayOutput) ToAccessLevelsArrayOutput added in v4.11.1

func (o AccessLevelsArrayOutput) ToAccessLevelsArrayOutput() AccessLevelsArrayOutput

func (AccessLevelsArrayOutput) ToAccessLevelsArrayOutputWithContext added in v4.11.1

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

type AccessLevelsCondition added in v4.1.0

type AccessLevelsCondition 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 AccessLevelsConditionDevicePolicyPtrOutput `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

func GetAccessLevelsCondition added in v4.1.0

func GetAccessLevelsCondition(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AccessLevelsConditionState, opts ...pulumi.ResourceOption) (*AccessLevelsCondition, error)

GetAccessLevelsCondition gets an existing AccessLevelsCondition 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 NewAccessLevelsCondition added in v4.1.0

func NewAccessLevelsCondition(ctx *pulumi.Context,
	name string, args *AccessLevelsConditionArgs, opts ...pulumi.ResourceOption) (*AccessLevelsCondition, error)

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

type AccessLevelsConditionArgs added in v4.1.0

type AccessLevelsConditionArgs 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 AccessLevelsConditionDevicePolicyPtrInput
	// 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 AccessLevelsCondition resource.

func (AccessLevelsConditionArgs) ElementType added in v4.1.0

func (AccessLevelsConditionArgs) ElementType() reflect.Type

type AccessLevelsConditionState added in v4.1.0

type AccessLevelsConditionState 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 AccessLevelsConditionDevicePolicyPtrInput
	// 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 (AccessLevelsConditionState) ElementType added in v4.1.0

func (AccessLevelsConditionState) ElementType() reflect.Type

type AccessLevelsInput added in v4.4.0

type AccessLevelsInput interface {
	pulumi.Input

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

type AccessLevelsMap added in v4.11.1

type AccessLevelsMap map[string]AccessLevelsInput

func (AccessLevelsMap) ElementType added in v4.11.1

func (AccessLevelsMap) ElementType() reflect.Type

func (AccessLevelsMap) ToAccessLevelsMapOutput added in v4.11.1

func (i AccessLevelsMap) ToAccessLevelsMapOutput() AccessLevelsMapOutput

func (AccessLevelsMap) ToAccessLevelsMapOutputWithContext added in v4.11.1

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

type AccessLevelsMapInput added in v4.11.1

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 added in v4.11.1

type AccessLevelsMapOutput struct{ *pulumi.OutputState }

func (AccessLevelsMapOutput) ElementType added in v4.11.1

func (AccessLevelsMapOutput) ElementType() reflect.Type

func (AccessLevelsMapOutput) MapIndex added in v4.11.1

func (AccessLevelsMapOutput) ToAccessLevelsMapOutput added in v4.11.1

func (o AccessLevelsMapOutput) ToAccessLevelsMapOutput() AccessLevelsMapOutput

func (AccessLevelsMapOutput) ToAccessLevelsMapOutputWithContext added in v4.11.1

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

type AccessLevelsOutput added in v4.4.0

type AccessLevelsOutput struct {
	*pulumi.OutputState
}

func (AccessLevelsOutput) ElementType added in v4.4.0

func (AccessLevelsOutput) ElementType() reflect.Type

func (AccessLevelsOutput) ToAccessLevelsOutput added in v4.4.0

func (o AccessLevelsOutput) ToAccessLevelsOutput() AccessLevelsOutput

func (AccessLevelsOutput) ToAccessLevelsOutputWithContext added in v4.4.0

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

func (AccessLevelsOutput) ToAccessLevelsPtrOutput added in v4.11.1

func (o AccessLevelsOutput) ToAccessLevelsPtrOutput() AccessLevelsPtrOutput

func (AccessLevelsOutput) ToAccessLevelsPtrOutputWithContext added in v4.11.1

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

type AccessLevelsPtrInput added in v4.11.1

type AccessLevelsPtrInput interface {
	pulumi.Input

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

type AccessLevelsPtrOutput added in v4.11.1

type AccessLevelsPtrOutput struct {
	*pulumi.OutputState
}

func (AccessLevelsPtrOutput) ElementType added in v4.11.1

func (AccessLevelsPtrOutput) ElementType() reflect.Type

func (AccessLevelsPtrOutput) ToAccessLevelsPtrOutput added in v4.11.1

func (o AccessLevelsPtrOutput) ToAccessLevelsPtrOutput() AccessLevelsPtrOutput

func (AccessLevelsPtrOutput) ToAccessLevelsPtrOutputWithContext added in v4.11.1

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/v4/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi/sdk/v2/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 added in v4.4.0

func (*AccessPolicy) ElementType() reflect.Type

func (*AccessPolicy) ToAccessPolicyOutput added in v4.4.0

func (i *AccessPolicy) ToAccessPolicyOutput() AccessPolicyOutput

func (*AccessPolicy) ToAccessPolicyOutputWithContext added in v4.4.0

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

func (*AccessPolicy) ToAccessPolicyPtrOutput added in v4.11.1

func (i *AccessPolicy) ToAccessPolicyPtrOutput() AccessPolicyPtrOutput

func (*AccessPolicy) ToAccessPolicyPtrOutputWithContext added in v4.11.1

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 added in v4.11.1

type AccessPolicyArray []AccessPolicyInput

func (AccessPolicyArray) ElementType added in v4.11.1

func (AccessPolicyArray) ElementType() reflect.Type

func (AccessPolicyArray) ToAccessPolicyArrayOutput added in v4.11.1

func (i AccessPolicyArray) ToAccessPolicyArrayOutput() AccessPolicyArrayOutput

func (AccessPolicyArray) ToAccessPolicyArrayOutputWithContext added in v4.11.1

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

type AccessPolicyArrayInput added in v4.11.1

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 added in v4.11.1

type AccessPolicyArrayOutput struct{ *pulumi.OutputState }

func (AccessPolicyArrayOutput) ElementType added in v4.11.1

func (AccessPolicyArrayOutput) ElementType() reflect.Type

func (AccessPolicyArrayOutput) Index added in v4.11.1

func (AccessPolicyArrayOutput) ToAccessPolicyArrayOutput added in v4.11.1

func (o AccessPolicyArrayOutput) ToAccessPolicyArrayOutput() AccessPolicyArrayOutput

func (AccessPolicyArrayOutput) ToAccessPolicyArrayOutputWithContext added in v4.11.1

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

type AccessPolicyInput added in v4.4.0

type AccessPolicyInput interface {
	pulumi.Input

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

type AccessPolicyMap added in v4.11.1

type AccessPolicyMap map[string]AccessPolicyInput

func (AccessPolicyMap) ElementType added in v4.11.1

func (AccessPolicyMap) ElementType() reflect.Type

func (AccessPolicyMap) ToAccessPolicyMapOutput added in v4.11.1

func (i AccessPolicyMap) ToAccessPolicyMapOutput() AccessPolicyMapOutput

func (AccessPolicyMap) ToAccessPolicyMapOutputWithContext added in v4.11.1

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

type AccessPolicyMapInput added in v4.11.1

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 added in v4.11.1

type AccessPolicyMapOutput struct{ *pulumi.OutputState }

func (AccessPolicyMapOutput) ElementType added in v4.11.1

func (AccessPolicyMapOutput) ElementType() reflect.Type

func (AccessPolicyMapOutput) MapIndex added in v4.11.1

func (AccessPolicyMapOutput) ToAccessPolicyMapOutput added in v4.11.1

func (o AccessPolicyMapOutput) ToAccessPolicyMapOutput() AccessPolicyMapOutput

func (AccessPolicyMapOutput) ToAccessPolicyMapOutputWithContext added in v4.11.1

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

type AccessPolicyOutput added in v4.4.0

type AccessPolicyOutput struct {
	*pulumi.OutputState
}

func (AccessPolicyOutput) ElementType added in v4.4.0

func (AccessPolicyOutput) ElementType() reflect.Type

func (AccessPolicyOutput) ToAccessPolicyOutput added in v4.4.0

func (o AccessPolicyOutput) ToAccessPolicyOutput() AccessPolicyOutput

func (AccessPolicyOutput) ToAccessPolicyOutputWithContext added in v4.4.0

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

func (AccessPolicyOutput) ToAccessPolicyPtrOutput added in v4.11.1

func (o AccessPolicyOutput) ToAccessPolicyPtrOutput() AccessPolicyPtrOutput

func (AccessPolicyOutput) ToAccessPolicyPtrOutputWithContext added in v4.11.1

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

type AccessPolicyPtrInput added in v4.11.1

type AccessPolicyPtrInput interface {
	pulumi.Input

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

type AccessPolicyPtrOutput added in v4.11.1

type AccessPolicyPtrOutput struct {
	*pulumi.OutputState
}

func (AccessPolicyPtrOutput) ElementType added in v4.11.1

func (AccessPolicyPtrOutput) ElementType() reflect.Type

func (AccessPolicyPtrOutput) ToAccessPolicyPtrOutput added in v4.11.1

func (o AccessPolicyPtrOutput) ToAccessPolicyPtrOutput() AccessPolicyPtrOutput

func (AccessPolicyPtrOutput) ToAccessPolicyPtrOutputWithContext added in v4.11.1

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 added in v4.8.0

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 added in v4.8.0

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 added in v4.8.0

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 added in v4.8.0

func (*GcpUserAccessBinding) ElementType() reflect.Type

func (*GcpUserAccessBinding) ToGcpUserAccessBindingOutput added in v4.8.0

func (i *GcpUserAccessBinding) ToGcpUserAccessBindingOutput() GcpUserAccessBindingOutput

func (*GcpUserAccessBinding) ToGcpUserAccessBindingOutputWithContext added in v4.8.0

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

func (*GcpUserAccessBinding) ToGcpUserAccessBindingPtrOutput added in v4.11.1

func (i *GcpUserAccessBinding) ToGcpUserAccessBindingPtrOutput() GcpUserAccessBindingPtrOutput

func (*GcpUserAccessBinding) ToGcpUserAccessBindingPtrOutputWithContext added in v4.11.1

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

type GcpUserAccessBindingArgs added in v4.8.0

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 added in v4.8.0

func (GcpUserAccessBindingArgs) ElementType() reflect.Type

type GcpUserAccessBindingArray added in v4.11.1

type GcpUserAccessBindingArray []GcpUserAccessBindingInput

func (GcpUserAccessBindingArray) ElementType added in v4.11.1

func (GcpUserAccessBindingArray) ElementType() reflect.Type

func (GcpUserAccessBindingArray) ToGcpUserAccessBindingArrayOutput added in v4.11.1

func (i GcpUserAccessBindingArray) ToGcpUserAccessBindingArrayOutput() GcpUserAccessBindingArrayOutput

func (GcpUserAccessBindingArray) ToGcpUserAccessBindingArrayOutputWithContext added in v4.11.1

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

type GcpUserAccessBindingArrayInput added in v4.11.1

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 added in v4.11.1

type GcpUserAccessBindingArrayOutput struct{ *pulumi.OutputState }

func (GcpUserAccessBindingArrayOutput) ElementType added in v4.11.1

func (GcpUserAccessBindingArrayOutput) Index added in v4.11.1

func (GcpUserAccessBindingArrayOutput) ToGcpUserAccessBindingArrayOutput added in v4.11.1

func (o GcpUserAccessBindingArrayOutput) ToGcpUserAccessBindingArrayOutput() GcpUserAccessBindingArrayOutput

func (GcpUserAccessBindingArrayOutput) ToGcpUserAccessBindingArrayOutputWithContext added in v4.11.1

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

type GcpUserAccessBindingInput added in v4.8.0

type GcpUserAccessBindingInput interface {
	pulumi.Input

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

type GcpUserAccessBindingMap added in v4.11.1

type GcpUserAccessBindingMap map[string]GcpUserAccessBindingInput

func (GcpUserAccessBindingMap) ElementType added in v4.11.1

func (GcpUserAccessBindingMap) ElementType() reflect.Type

func (GcpUserAccessBindingMap) ToGcpUserAccessBindingMapOutput added in v4.11.1

func (i GcpUserAccessBindingMap) ToGcpUserAccessBindingMapOutput() GcpUserAccessBindingMapOutput

func (GcpUserAccessBindingMap) ToGcpUserAccessBindingMapOutputWithContext added in v4.11.1

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

type GcpUserAccessBindingMapInput added in v4.11.1

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 added in v4.11.1

type GcpUserAccessBindingMapOutput struct{ *pulumi.OutputState }

func (GcpUserAccessBindingMapOutput) ElementType added in v4.11.1

func (GcpUserAccessBindingMapOutput) MapIndex added in v4.11.1

func (GcpUserAccessBindingMapOutput) ToGcpUserAccessBindingMapOutput added in v4.11.1

func (o GcpUserAccessBindingMapOutput) ToGcpUserAccessBindingMapOutput() GcpUserAccessBindingMapOutput

func (GcpUserAccessBindingMapOutput) ToGcpUserAccessBindingMapOutputWithContext added in v4.11.1

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

type GcpUserAccessBindingOutput added in v4.8.0

type GcpUserAccessBindingOutput struct {
	*pulumi.OutputState
}

func (GcpUserAccessBindingOutput) ElementType added in v4.8.0

func (GcpUserAccessBindingOutput) ElementType() reflect.Type

func (GcpUserAccessBindingOutput) ToGcpUserAccessBindingOutput added in v4.8.0

func (o GcpUserAccessBindingOutput) ToGcpUserAccessBindingOutput() GcpUserAccessBindingOutput

func (GcpUserAccessBindingOutput) ToGcpUserAccessBindingOutputWithContext added in v4.8.0

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

func (GcpUserAccessBindingOutput) ToGcpUserAccessBindingPtrOutput added in v4.11.1

func (o GcpUserAccessBindingOutput) ToGcpUserAccessBindingPtrOutput() GcpUserAccessBindingPtrOutput

func (GcpUserAccessBindingOutput) ToGcpUserAccessBindingPtrOutputWithContext added in v4.11.1

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

type GcpUserAccessBindingPtrInput added in v4.11.1

type GcpUserAccessBindingPtrInput interface {
	pulumi.Input

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

type GcpUserAccessBindingPtrOutput added in v4.11.1

type GcpUserAccessBindingPtrOutput struct {
	*pulumi.OutputState
}

func (GcpUserAccessBindingPtrOutput) ElementType added in v4.11.1

func (GcpUserAccessBindingPtrOutput) ToGcpUserAccessBindingPtrOutput added in v4.11.1

func (o GcpUserAccessBindingPtrOutput) ToGcpUserAccessBindingPtrOutput() GcpUserAccessBindingPtrOutput

func (GcpUserAccessBindingPtrOutput) ToGcpUserAccessBindingPtrOutputWithContext added in v4.11.1

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

type GcpUserAccessBindingState added in v4.8.0

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 added in v4.8.0

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/v4/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi/sdk/v2/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/v4/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi/sdk/v2/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/v4/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi/sdk/v2/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 added in v4.4.0

func (*ServicePerimeter) ElementType() reflect.Type

func (*ServicePerimeter) ToServicePerimeterOutput added in v4.4.0

func (i *ServicePerimeter) ToServicePerimeterOutput() ServicePerimeterOutput

func (*ServicePerimeter) ToServicePerimeterOutputWithContext added in v4.4.0

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

func (*ServicePerimeter) ToServicePerimeterPtrOutput added in v4.11.1

func (i *ServicePerimeter) ToServicePerimeterPtrOutput() ServicePerimeterPtrOutput

func (*ServicePerimeter) ToServicePerimeterPtrOutputWithContext added in v4.11.1

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 added in v4.11.1

type ServicePerimeterArray []ServicePerimeterInput

func (ServicePerimeterArray) ElementType added in v4.11.1

func (ServicePerimeterArray) ElementType() reflect.Type

func (ServicePerimeterArray) ToServicePerimeterArrayOutput added in v4.11.1

func (i ServicePerimeterArray) ToServicePerimeterArrayOutput() ServicePerimeterArrayOutput

func (ServicePerimeterArray) ToServicePerimeterArrayOutputWithContext added in v4.11.1

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

type ServicePerimeterArrayInput added in v4.11.1

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 added in v4.11.1

type ServicePerimeterArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterArrayOutput) ElementType added in v4.11.1

func (ServicePerimeterArrayOutput) Index added in v4.11.1

func (ServicePerimeterArrayOutput) ToServicePerimeterArrayOutput added in v4.11.1

func (o ServicePerimeterArrayOutput) ToServicePerimeterArrayOutput() ServicePerimeterArrayOutput

func (ServicePerimeterArrayOutput) ToServicePerimeterArrayOutputWithContext added in v4.11.1

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

type ServicePerimeterInput added in v4.4.0

type ServicePerimeterInput interface {
	pulumi.Input

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

type ServicePerimeterMap added in v4.11.1

type ServicePerimeterMap map[string]ServicePerimeterInput

func (ServicePerimeterMap) ElementType added in v4.11.1

func (ServicePerimeterMap) ElementType() reflect.Type

func (ServicePerimeterMap) ToServicePerimeterMapOutput added in v4.11.1

func (i ServicePerimeterMap) ToServicePerimeterMapOutput() ServicePerimeterMapOutput

func (ServicePerimeterMap) ToServicePerimeterMapOutputWithContext added in v4.11.1

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

type ServicePerimeterMapInput added in v4.11.1

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 added in v4.11.1

type ServicePerimeterMapOutput struct{ *pulumi.OutputState }

func (ServicePerimeterMapOutput) ElementType added in v4.11.1

func (ServicePerimeterMapOutput) ElementType() reflect.Type

func (ServicePerimeterMapOutput) MapIndex added in v4.11.1

func (ServicePerimeterMapOutput) ToServicePerimeterMapOutput added in v4.11.1

func (o ServicePerimeterMapOutput) ToServicePerimeterMapOutput() ServicePerimeterMapOutput

func (ServicePerimeterMapOutput) ToServicePerimeterMapOutputWithContext added in v4.11.1

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

type ServicePerimeterOutput added in v4.4.0

type ServicePerimeterOutput struct {
	*pulumi.OutputState
}

func (ServicePerimeterOutput) ElementType added in v4.4.0

func (ServicePerimeterOutput) ElementType() reflect.Type

func (ServicePerimeterOutput) ToServicePerimeterOutput added in v4.4.0

func (o ServicePerimeterOutput) ToServicePerimeterOutput() ServicePerimeterOutput

func (ServicePerimeterOutput) ToServicePerimeterOutputWithContext added in v4.4.0

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

func (ServicePerimeterOutput) ToServicePerimeterPtrOutput added in v4.11.1

func (o ServicePerimeterOutput) ToServicePerimeterPtrOutput() ServicePerimeterPtrOutput

func (ServicePerimeterOutput) ToServicePerimeterPtrOutputWithContext added in v4.11.1

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

type ServicePerimeterPtrInput added in v4.11.1

type ServicePerimeterPtrInput interface {
	pulumi.Input

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

type ServicePerimeterPtrOutput added in v4.11.1

type ServicePerimeterPtrOutput struct {
	*pulumi.OutputState
}

func (ServicePerimeterPtrOutput) ElementType added in v4.11.1

func (ServicePerimeterPtrOutput) ElementType() reflect.Type

func (ServicePerimeterPtrOutput) ToServicePerimeterPtrOutput added in v4.11.1

func (o ServicePerimeterPtrOutput) ToServicePerimeterPtrOutput() ServicePerimeterPtrOutput

func (ServicePerimeterPtrOutput) ToServicePerimeterPtrOutputWithContext added in v4.11.1

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/v4/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi/sdk/v2/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 added in v4.4.0

func (*ServicePerimeterResource) ElementType() reflect.Type

func (*ServicePerimeterResource) ToServicePerimeterResourceOutput added in v4.4.0

func (i *ServicePerimeterResource) ToServicePerimeterResourceOutput() ServicePerimeterResourceOutput

func (*ServicePerimeterResource) ToServicePerimeterResourceOutputWithContext added in v4.4.0

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

func (*ServicePerimeterResource) ToServicePerimeterResourcePtrOutput added in v4.11.1

func (i *ServicePerimeterResource) ToServicePerimeterResourcePtrOutput() ServicePerimeterResourcePtrOutput

func (*ServicePerimeterResource) ToServicePerimeterResourcePtrOutputWithContext added in v4.11.1

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 added in v4.11.1

type ServicePerimeterResourceArray []ServicePerimeterResourceInput

func (ServicePerimeterResourceArray) ElementType added in v4.11.1

func (ServicePerimeterResourceArray) ToServicePerimeterResourceArrayOutput added in v4.11.1

func (i ServicePerimeterResourceArray) ToServicePerimeterResourceArrayOutput() ServicePerimeterResourceArrayOutput

func (ServicePerimeterResourceArray) ToServicePerimeterResourceArrayOutputWithContext added in v4.11.1

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

type ServicePerimeterResourceArrayInput added in v4.11.1

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 added in v4.11.1

type ServicePerimeterResourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterResourceArrayOutput) ElementType added in v4.11.1

func (ServicePerimeterResourceArrayOutput) Index added in v4.11.1

func (ServicePerimeterResourceArrayOutput) ToServicePerimeterResourceArrayOutput added in v4.11.1

func (o ServicePerimeterResourceArrayOutput) ToServicePerimeterResourceArrayOutput() ServicePerimeterResourceArrayOutput

func (ServicePerimeterResourceArrayOutput) ToServicePerimeterResourceArrayOutputWithContext added in v4.11.1

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

type ServicePerimeterResourceInput added in v4.4.0

type ServicePerimeterResourceInput interface {
	pulumi.Input

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

type ServicePerimeterResourceMap added in v4.11.1

type ServicePerimeterResourceMap map[string]ServicePerimeterResourceInput

func (ServicePerimeterResourceMap) ElementType added in v4.11.1

func (ServicePerimeterResourceMap) ToServicePerimeterResourceMapOutput added in v4.11.1

func (i ServicePerimeterResourceMap) ToServicePerimeterResourceMapOutput() ServicePerimeterResourceMapOutput

func (ServicePerimeterResourceMap) ToServicePerimeterResourceMapOutputWithContext added in v4.11.1

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

type ServicePerimeterResourceMapInput added in v4.11.1

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 added in v4.11.1

type ServicePerimeterResourceMapOutput struct{ *pulumi.OutputState }

func (ServicePerimeterResourceMapOutput) ElementType added in v4.11.1

func (ServicePerimeterResourceMapOutput) MapIndex added in v4.11.1

func (ServicePerimeterResourceMapOutput) ToServicePerimeterResourceMapOutput added in v4.11.1

func (o ServicePerimeterResourceMapOutput) ToServicePerimeterResourceMapOutput() ServicePerimeterResourceMapOutput

func (ServicePerimeterResourceMapOutput) ToServicePerimeterResourceMapOutputWithContext added in v4.11.1

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

type ServicePerimeterResourceOutput added in v4.4.0

type ServicePerimeterResourceOutput struct {
	*pulumi.OutputState
}

func (ServicePerimeterResourceOutput) ElementType added in v4.4.0

func (ServicePerimeterResourceOutput) ToServicePerimeterResourceOutput added in v4.4.0

func (o ServicePerimeterResourceOutput) ToServicePerimeterResourceOutput() ServicePerimeterResourceOutput

func (ServicePerimeterResourceOutput) ToServicePerimeterResourceOutputWithContext added in v4.4.0

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

func (ServicePerimeterResourceOutput) ToServicePerimeterResourcePtrOutput added in v4.11.1

func (o ServicePerimeterResourceOutput) ToServicePerimeterResourcePtrOutput() ServicePerimeterResourcePtrOutput

func (ServicePerimeterResourceOutput) ToServicePerimeterResourcePtrOutputWithContext added in v4.11.1

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

type ServicePerimeterResourcePtrInput added in v4.11.1

type ServicePerimeterResourcePtrInput interface {
	pulumi.Input

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

type ServicePerimeterResourcePtrOutput added in v4.11.1

type ServicePerimeterResourcePtrOutput struct {
	*pulumi.OutputState
}

func (ServicePerimeterResourcePtrOutput) ElementType added in v4.11.1

func (ServicePerimeterResourcePtrOutput) ToServicePerimeterResourcePtrOutput added in v4.11.1

func (o ServicePerimeterResourcePtrOutput) ToServicePerimeterResourcePtrOutput() ServicePerimeterResourcePtrOutput

func (ServicePerimeterResourcePtrOutput) ToServicePerimeterResourcePtrOutputWithContext added in v4.11.1

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 added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimeterSpecEgressPolicyArgs) ToServicePerimeterSpecEgressPolicyOutput added in v4.18.0

func (i ServicePerimeterSpecEgressPolicyArgs) ToServicePerimeterSpecEgressPolicyOutput() ServicePerimeterSpecEgressPolicyOutput

func (ServicePerimeterSpecEgressPolicyArgs) ToServicePerimeterSpecEgressPolicyOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecEgressPolicyArray added in v4.18.0

type ServicePerimeterSpecEgressPolicyArray []ServicePerimeterSpecEgressPolicyInput

func (ServicePerimeterSpecEgressPolicyArray) ElementType added in v4.18.0

func (ServicePerimeterSpecEgressPolicyArray) ToServicePerimeterSpecEgressPolicyArrayOutput added in v4.18.0

func (i ServicePerimeterSpecEgressPolicyArray) ToServicePerimeterSpecEgressPolicyArrayOutput() ServicePerimeterSpecEgressPolicyArrayOutput

func (ServicePerimeterSpecEgressPolicyArray) ToServicePerimeterSpecEgressPolicyArrayOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecEgressPolicyArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterSpecEgressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyArrayOutput) ElementType added in v4.18.0

func (ServicePerimeterSpecEgressPolicyArrayOutput) Index added in v4.18.0

func (ServicePerimeterSpecEgressPolicyArrayOutput) ToServicePerimeterSpecEgressPolicyArrayOutput added in v4.18.0

func (o ServicePerimeterSpecEgressPolicyArrayOutput) ToServicePerimeterSpecEgressPolicyArrayOutput() ServicePerimeterSpecEgressPolicyArrayOutput

func (ServicePerimeterSpecEgressPolicyArrayOutput) ToServicePerimeterSpecEgressPolicyArrayOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecEgressPolicyEgressFrom added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimeterSpecEgressPolicyEgressFromOutput added in v4.18.0

func (i ServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimeterSpecEgressPolicyEgressFromOutput() ServicePerimeterSpecEgressPolicyEgressFromOutput

func (ServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimeterSpecEgressPolicyEgressFromOutputWithContext added in v4.18.0

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

func (ServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutput added in v4.18.0

func (i ServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutput() ServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (ServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecEgressPolicyEgressFromInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterSpecEgressPolicyEgressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressFromOutput) ElementType added in v4.18.0

func (ServicePerimeterSpecEgressPolicyEgressFromOutput) Identities added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (o ServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimeterSpecEgressPolicyEgressFromOutput() ServicePerimeterSpecEgressPolicyEgressFromOutput

func (ServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimeterSpecEgressPolicyEgressFromOutputWithContext added in v4.18.0

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

func (ServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutput added in v4.18.0

func (o ServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutput() ServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (ServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecEgressPolicyEgressFromPtrInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterSpecEgressPolicyEgressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressFromPtrOutput) Elem added in v4.18.0

func (ServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ElementType added in v4.18.0

func (ServicePerimeterSpecEgressPolicyEgressFromPtrOutput) Identities added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (o ServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutput() ServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (ServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecEgressPolicyEgressTo added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimeterSpecEgressPolicyEgressToOutput added in v4.18.0

func (i ServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimeterSpecEgressPolicyEgressToOutput() ServicePerimeterSpecEgressPolicyEgressToOutput

func (ServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimeterSpecEgressPolicyEgressToOutputWithContext added in v4.18.0

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

func (ServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimeterSpecEgressPolicyEgressToPtrOutput added in v4.18.0

func (i ServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimeterSpecEgressPolicyEgressToPtrOutput() ServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (ServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecEgressPolicyEgressToInput added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimeterSpecEgressPolicyEgressToOperationArgs) ToServicePerimeterSpecEgressPolicyEgressToOperationOutput added in v4.18.0

func (i ServicePerimeterSpecEgressPolicyEgressToOperationArgs) ToServicePerimeterSpecEgressPolicyEgressToOperationOutput() ServicePerimeterSpecEgressPolicyEgressToOperationOutput

func (ServicePerimeterSpecEgressPolicyEgressToOperationArgs) ToServicePerimeterSpecEgressPolicyEgressToOperationOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecEgressPolicyEgressToOperationArray added in v4.18.0

type ServicePerimeterSpecEgressPolicyEgressToOperationArray []ServicePerimeterSpecEgressPolicyEgressToOperationInput

func (ServicePerimeterSpecEgressPolicyEgressToOperationArray) ElementType added in v4.18.0

func (ServicePerimeterSpecEgressPolicyEgressToOperationArray) ToServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput added in v4.18.0

func (i ServicePerimeterSpecEgressPolicyEgressToOperationArray) ToServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput() ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput

func (ServicePerimeterSpecEgressPolicyEgressToOperationArray) ToServicePerimeterSpecEgressPolicyEgressToOperationArrayOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecEgressPolicyEgressToOperationArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ElementType added in v4.18.0

func (ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) Index added in v4.18.0

func (ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput added in v4.18.0

func (ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationArrayOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecEgressPolicyEgressToOperationInput added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput added in v4.18.0

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray added in v4.18.0

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray []ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ElementType added in v4.18.0

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput added in v4.18.0

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) ElementType added in v4.18.0

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) Index added in v4.18.0

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput added in v4.18.0

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext added in v4.18.0

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ElementType added in v4.18.0

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) Method added in v4.18.0

/ 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 added in v4.18.0

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

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput added in v4.18.0

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecEgressPolicyEgressToOperationOutput added in v4.18.0

type ServicePerimeterSpecEgressPolicyEgressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressToOperationOutput) ElementType added in v4.18.0

func (ServicePerimeterSpecEgressPolicyEgressToOperationOutput) MethodSelectors added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimeterSpecEgressPolicyEgressToOperationOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecEgressPolicyEgressToOutput added in v4.18.0

type ServicePerimeterSpecEgressPolicyEgressToOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressToOutput) ElementType added in v4.18.0

func (ServicePerimeterSpecEgressPolicyEgressToOutput) Operations added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (o ServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimeterSpecEgressPolicyEgressToOutput() ServicePerimeterSpecEgressPolicyEgressToOutput

func (ServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimeterSpecEgressPolicyEgressToOutputWithContext added in v4.18.0

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

func (ServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimeterSpecEgressPolicyEgressToPtrOutput added in v4.18.0

func (o ServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimeterSpecEgressPolicyEgressToPtrOutput() ServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (ServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecEgressPolicyEgressToPtrInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterSpecEgressPolicyEgressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressToPtrOutput) Elem added in v4.18.0

func (ServicePerimeterSpecEgressPolicyEgressToPtrOutput) ElementType added in v4.18.0

func (ServicePerimeterSpecEgressPolicyEgressToPtrOutput) Operations added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (o ServicePerimeterSpecEgressPolicyEgressToPtrOutput) ToServicePerimeterSpecEgressPolicyEgressToPtrOutput() ServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (ServicePerimeterSpecEgressPolicyEgressToPtrOutput) ToServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecEgressPolicyInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterSpecEgressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyOutput) EgressFrom added in v4.18.0

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

func (ServicePerimeterSpecEgressPolicyOutput) EgressTo added in v4.18.0

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

func (ServicePerimeterSpecEgressPolicyOutput) ElementType added in v4.18.0

func (ServicePerimeterSpecEgressPolicyOutput) ToServicePerimeterSpecEgressPolicyOutput added in v4.18.0

func (o ServicePerimeterSpecEgressPolicyOutput) ToServicePerimeterSpecEgressPolicyOutput() ServicePerimeterSpecEgressPolicyOutput

func (ServicePerimeterSpecEgressPolicyOutput) ToServicePerimeterSpecEgressPolicyOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecIngressPolicy added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimeterSpecIngressPolicyArgs) ToServicePerimeterSpecIngressPolicyOutput added in v4.18.0

func (i ServicePerimeterSpecIngressPolicyArgs) ToServicePerimeterSpecIngressPolicyOutput() ServicePerimeterSpecIngressPolicyOutput

func (ServicePerimeterSpecIngressPolicyArgs) ToServicePerimeterSpecIngressPolicyOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecIngressPolicyArray added in v4.18.0

type ServicePerimeterSpecIngressPolicyArray []ServicePerimeterSpecIngressPolicyInput

func (ServicePerimeterSpecIngressPolicyArray) ElementType added in v4.18.0

func (ServicePerimeterSpecIngressPolicyArray) ToServicePerimeterSpecIngressPolicyArrayOutput added in v4.18.0

func (i ServicePerimeterSpecIngressPolicyArray) ToServicePerimeterSpecIngressPolicyArrayOutput() ServicePerimeterSpecIngressPolicyArrayOutput

func (ServicePerimeterSpecIngressPolicyArray) ToServicePerimeterSpecIngressPolicyArrayOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecIngressPolicyArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterSpecIngressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyArrayOutput) ElementType added in v4.18.0

func (ServicePerimeterSpecIngressPolicyArrayOutput) Index added in v4.18.0

func (ServicePerimeterSpecIngressPolicyArrayOutput) ToServicePerimeterSpecIngressPolicyArrayOutput added in v4.18.0

func (o ServicePerimeterSpecIngressPolicyArrayOutput) ToServicePerimeterSpecIngressPolicyArrayOutput() ServicePerimeterSpecIngressPolicyArrayOutput

func (ServicePerimeterSpecIngressPolicyArrayOutput) ToServicePerimeterSpecIngressPolicyArrayOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecIngressPolicyIngressFrom added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimeterSpecIngressPolicyIngressFromOutput added in v4.18.0

func (i ServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimeterSpecIngressPolicyIngressFromOutput() ServicePerimeterSpecIngressPolicyIngressFromOutput

func (ServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimeterSpecIngressPolicyIngressFromOutputWithContext added in v4.18.0

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

func (ServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutput added in v4.18.0

func (i ServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutput() ServicePerimeterSpecIngressPolicyIngressFromPtrOutput

func (ServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecIngressPolicyIngressFromInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterSpecIngressPolicyIngressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressFromOutput) ElementType added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressFromOutput) Identities added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

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

func (ServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimeterSpecIngressPolicyIngressFromOutput added in v4.18.0

func (o ServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimeterSpecIngressPolicyIngressFromOutput() ServicePerimeterSpecIngressPolicyIngressFromOutput

func (ServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimeterSpecIngressPolicyIngressFromOutputWithContext added in v4.18.0

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

func (ServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutput added in v4.18.0

func (o ServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutput() ServicePerimeterSpecIngressPolicyIngressFromPtrOutput

func (ServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecIngressPolicyIngressFromPtrInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterSpecIngressPolicyIngressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressFromPtrOutput) Elem added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressFromPtrOutput) ElementType added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressFromPtrOutput) Identities added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

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

func (ServicePerimeterSpecIngressPolicyIngressFromPtrOutput) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutput added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressFromPtrOutput) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecIngressPolicyIngressFromSource added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ToServicePerimeterSpecIngressPolicyIngressFromSourceOutput added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ToServicePerimeterSpecIngressPolicyIngressFromSourceOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecIngressPolicyIngressFromSourceArray added in v4.18.0

type ServicePerimeterSpecIngressPolicyIngressFromSourceArray []ServicePerimeterSpecIngressPolicyIngressFromSourceInput

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArray) ElementType added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArray) ToServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput added in v4.18.0

func (i ServicePerimeterSpecIngressPolicyIngressFromSourceArray) ToServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput() ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArray) ToServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecIngressPolicyIngressFromSourceArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ElementType added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) Index added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ToServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ToServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecIngressPolicyIngressFromSourceInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterSpecIngressPolicyIngressFromSourceOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressFromSourceOutput) AccessLevel added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressFromSourceOutput) Resource added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressFromSourceOutput) ToServicePerimeterSpecIngressPolicyIngressFromSourceOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecIngressPolicyIngressTo added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimeterSpecIngressPolicyIngressToOutput added in v4.18.0

func (i ServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimeterSpecIngressPolicyIngressToOutput() ServicePerimeterSpecIngressPolicyIngressToOutput

func (ServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimeterSpecIngressPolicyIngressToOutputWithContext added in v4.18.0

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

func (ServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimeterSpecIngressPolicyIngressToPtrOutput added in v4.18.0

func (i ServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimeterSpecIngressPolicyIngressToPtrOutput() ServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (ServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecIngressPolicyIngressToInput added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressToOperationArgs) ToServicePerimeterSpecIngressPolicyIngressToOperationOutput added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressToOperationArgs) ToServicePerimeterSpecIngressPolicyIngressToOperationOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecIngressPolicyIngressToOperationArray added in v4.18.0

type ServicePerimeterSpecIngressPolicyIngressToOperationArray []ServicePerimeterSpecIngressPolicyIngressToOperationInput

func (ServicePerimeterSpecIngressPolicyIngressToOperationArray) ElementType added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressToOperationArray) ToServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput added in v4.18.0

func (i ServicePerimeterSpecIngressPolicyIngressToOperationArray) ToServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput() ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput

func (ServicePerimeterSpecIngressPolicyIngressToOperationArray) ToServicePerimeterSpecIngressPolicyIngressToOperationArrayOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecIngressPolicyIngressToOperationArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ElementType added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) Index added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationArrayOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecIngressPolicyIngressToOperationInput added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray added in v4.18.0

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray []ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ElementType added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) ElementType added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) Index added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext added in v4.18.0

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ElementType added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) Method added in v4.18.0

/ 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 added in v4.18.0

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

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecIngressPolicyIngressToOperationOutput added in v4.18.0

type ServicePerimeterSpecIngressPolicyIngressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressToOperationOutput) ElementType added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressToOperationOutput) MethodSelectors added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressToOperationOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecIngressPolicyIngressToOutput added in v4.18.0

type ServicePerimeterSpecIngressPolicyIngressToOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressToOutput) ElementType added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressToOutput) Operations added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (o ServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimeterSpecIngressPolicyIngressToOutput() ServicePerimeterSpecIngressPolicyIngressToOutput

func (ServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimeterSpecIngressPolicyIngressToOutputWithContext added in v4.18.0

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

func (ServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimeterSpecIngressPolicyIngressToPtrOutput added in v4.18.0

func (o ServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimeterSpecIngressPolicyIngressToPtrOutput() ServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (ServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecIngressPolicyIngressToPtrInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterSpecIngressPolicyIngressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressToPtrOutput) Elem added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressToPtrOutput) ElementType added in v4.18.0

func (ServicePerimeterSpecIngressPolicyIngressToPtrOutput) Operations added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (o ServicePerimeterSpecIngressPolicyIngressToPtrOutput) ToServicePerimeterSpecIngressPolicyIngressToPtrOutput() ServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (ServicePerimeterSpecIngressPolicyIngressToPtrOutput) ToServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext added in v4.18.0

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

type ServicePerimeterSpecIngressPolicyInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterSpecIngressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyOutput) ElementType added in v4.18.0

func (ServicePerimeterSpecIngressPolicyOutput) IngressFrom added in v4.18.0

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

func (ServicePerimeterSpecIngressPolicyOutput) IngressTo added in v4.18.0

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

func (ServicePerimeterSpecIngressPolicyOutput) ToServicePerimeterSpecIngressPolicyOutput added in v4.18.0

func (o ServicePerimeterSpecIngressPolicyOutput) ToServicePerimeterSpecIngressPolicyOutput() ServicePerimeterSpecIngressPolicyOutput

func (ServicePerimeterSpecIngressPolicyOutput) ToServicePerimeterSpecIngressPolicyOutputWithContext added in v4.18.0

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 added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimeterStatusEgressPolicyArgs) ToServicePerimeterStatusEgressPolicyOutput added in v4.18.0

func (i ServicePerimeterStatusEgressPolicyArgs) ToServicePerimeterStatusEgressPolicyOutput() ServicePerimeterStatusEgressPolicyOutput

func (ServicePerimeterStatusEgressPolicyArgs) ToServicePerimeterStatusEgressPolicyOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusEgressPolicyArray added in v4.18.0

type ServicePerimeterStatusEgressPolicyArray []ServicePerimeterStatusEgressPolicyInput

func (ServicePerimeterStatusEgressPolicyArray) ElementType added in v4.18.0

func (ServicePerimeterStatusEgressPolicyArray) ToServicePerimeterStatusEgressPolicyArrayOutput added in v4.18.0

func (i ServicePerimeterStatusEgressPolicyArray) ToServicePerimeterStatusEgressPolicyArrayOutput() ServicePerimeterStatusEgressPolicyArrayOutput

func (ServicePerimeterStatusEgressPolicyArray) ToServicePerimeterStatusEgressPolicyArrayOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusEgressPolicyArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterStatusEgressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyArrayOutput) ElementType added in v4.18.0

func (ServicePerimeterStatusEgressPolicyArrayOutput) Index added in v4.18.0

func (ServicePerimeterStatusEgressPolicyArrayOutput) ToServicePerimeterStatusEgressPolicyArrayOutput added in v4.18.0

func (o ServicePerimeterStatusEgressPolicyArrayOutput) ToServicePerimeterStatusEgressPolicyArrayOutput() ServicePerimeterStatusEgressPolicyArrayOutput

func (ServicePerimeterStatusEgressPolicyArrayOutput) ToServicePerimeterStatusEgressPolicyArrayOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusEgressPolicyEgressFrom added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimeterStatusEgressPolicyEgressFromOutput added in v4.18.0

func (i ServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimeterStatusEgressPolicyEgressFromOutput() ServicePerimeterStatusEgressPolicyEgressFromOutput

func (ServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimeterStatusEgressPolicyEgressFromOutputWithContext added in v4.18.0

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

func (ServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutput added in v4.18.0

func (i ServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutput() ServicePerimeterStatusEgressPolicyEgressFromPtrOutput

func (ServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusEgressPolicyEgressFromInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterStatusEgressPolicyEgressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressFromOutput) ElementType added in v4.18.0

func (ServicePerimeterStatusEgressPolicyEgressFromOutput) Identities added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (o ServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimeterStatusEgressPolicyEgressFromOutput() ServicePerimeterStatusEgressPolicyEgressFromOutput

func (ServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimeterStatusEgressPolicyEgressFromOutputWithContext added in v4.18.0

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

func (ServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutput added in v4.18.0

func (o ServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutput() ServicePerimeterStatusEgressPolicyEgressFromPtrOutput

func (ServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusEgressPolicyEgressFromPtrInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterStatusEgressPolicyEgressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressFromPtrOutput) Elem added in v4.18.0

func (ServicePerimeterStatusEgressPolicyEgressFromPtrOutput) ElementType added in v4.18.0

func (ServicePerimeterStatusEgressPolicyEgressFromPtrOutput) Identities added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimeterStatusEgressPolicyEgressFromPtrOutput) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusEgressPolicyEgressTo added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimeterStatusEgressPolicyEgressToOutput added in v4.18.0

func (i ServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimeterStatusEgressPolicyEgressToOutput() ServicePerimeterStatusEgressPolicyEgressToOutput

func (ServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimeterStatusEgressPolicyEgressToOutputWithContext added in v4.18.0

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

func (ServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimeterStatusEgressPolicyEgressToPtrOutput added in v4.18.0

func (i ServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimeterStatusEgressPolicyEgressToPtrOutput() ServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (ServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusEgressPolicyEgressToInput added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimeterStatusEgressPolicyEgressToOperationArgs) ToServicePerimeterStatusEgressPolicyEgressToOperationOutput added in v4.18.0

func (ServicePerimeterStatusEgressPolicyEgressToOperationArgs) ToServicePerimeterStatusEgressPolicyEgressToOperationOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusEgressPolicyEgressToOperationArray added in v4.18.0

type ServicePerimeterStatusEgressPolicyEgressToOperationArray []ServicePerimeterStatusEgressPolicyEgressToOperationInput

func (ServicePerimeterStatusEgressPolicyEgressToOperationArray) ElementType added in v4.18.0

func (ServicePerimeterStatusEgressPolicyEgressToOperationArray) ToServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput added in v4.18.0

func (i ServicePerimeterStatusEgressPolicyEgressToOperationArray) ToServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput() ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput

func (ServicePerimeterStatusEgressPolicyEgressToOperationArray) ToServicePerimeterStatusEgressPolicyEgressToOperationArrayOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusEgressPolicyEgressToOperationArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ElementType added in v4.18.0

func (ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) Index added in v4.18.0

func (ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput added in v4.18.0

func (ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationArrayOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusEgressPolicyEgressToOperationInput added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput added in v4.18.0

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray added in v4.18.0

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray []ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ElementType added in v4.18.0

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput added in v4.18.0

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) ElementType added in v4.18.0

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) Index added in v4.18.0

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput added in v4.18.0

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext added in v4.18.0

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ElementType added in v4.18.0

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) Method added in v4.18.0

/ 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 added in v4.18.0

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

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput added in v4.18.0

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusEgressPolicyEgressToOperationOutput added in v4.18.0

type ServicePerimeterStatusEgressPolicyEgressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressToOperationOutput) ElementType added in v4.18.0

func (ServicePerimeterStatusEgressPolicyEgressToOperationOutput) MethodSelectors added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimeterStatusEgressPolicyEgressToOperationOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusEgressPolicyEgressToOutput added in v4.18.0

type ServicePerimeterStatusEgressPolicyEgressToOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressToOutput) ElementType added in v4.18.0

func (ServicePerimeterStatusEgressPolicyEgressToOutput) Operations added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (o ServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimeterStatusEgressPolicyEgressToOutput() ServicePerimeterStatusEgressPolicyEgressToOutput

func (ServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimeterStatusEgressPolicyEgressToOutputWithContext added in v4.18.0

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

func (ServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimeterStatusEgressPolicyEgressToPtrOutput added in v4.18.0

func (o ServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimeterStatusEgressPolicyEgressToPtrOutput() ServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (ServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusEgressPolicyEgressToPtrInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterStatusEgressPolicyEgressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressToPtrOutput) Elem added in v4.18.0

func (ServicePerimeterStatusEgressPolicyEgressToPtrOutput) ElementType added in v4.18.0

func (ServicePerimeterStatusEgressPolicyEgressToPtrOutput) Operations added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (o ServicePerimeterStatusEgressPolicyEgressToPtrOutput) ToServicePerimeterStatusEgressPolicyEgressToPtrOutput() ServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (ServicePerimeterStatusEgressPolicyEgressToPtrOutput) ToServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusEgressPolicyInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterStatusEgressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyOutput) EgressFrom added in v4.18.0

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

func (ServicePerimeterStatusEgressPolicyOutput) EgressTo added in v4.18.0

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

func (ServicePerimeterStatusEgressPolicyOutput) ElementType added in v4.18.0

func (ServicePerimeterStatusEgressPolicyOutput) ToServicePerimeterStatusEgressPolicyOutput added in v4.18.0

func (o ServicePerimeterStatusEgressPolicyOutput) ToServicePerimeterStatusEgressPolicyOutput() ServicePerimeterStatusEgressPolicyOutput

func (ServicePerimeterStatusEgressPolicyOutput) ToServicePerimeterStatusEgressPolicyOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusIngressPolicy added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimeterStatusIngressPolicyArgs) ToServicePerimeterStatusIngressPolicyOutput added in v4.18.0

func (i ServicePerimeterStatusIngressPolicyArgs) ToServicePerimeterStatusIngressPolicyOutput() ServicePerimeterStatusIngressPolicyOutput

func (ServicePerimeterStatusIngressPolicyArgs) ToServicePerimeterStatusIngressPolicyOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusIngressPolicyArray added in v4.18.0

type ServicePerimeterStatusIngressPolicyArray []ServicePerimeterStatusIngressPolicyInput

func (ServicePerimeterStatusIngressPolicyArray) ElementType added in v4.18.0

func (ServicePerimeterStatusIngressPolicyArray) ToServicePerimeterStatusIngressPolicyArrayOutput added in v4.18.0

func (i ServicePerimeterStatusIngressPolicyArray) ToServicePerimeterStatusIngressPolicyArrayOutput() ServicePerimeterStatusIngressPolicyArrayOutput

func (ServicePerimeterStatusIngressPolicyArray) ToServicePerimeterStatusIngressPolicyArrayOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusIngressPolicyArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterStatusIngressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyArrayOutput) ElementType added in v4.18.0

func (ServicePerimeterStatusIngressPolicyArrayOutput) Index added in v4.18.0

func (ServicePerimeterStatusIngressPolicyArrayOutput) ToServicePerimeterStatusIngressPolicyArrayOutput added in v4.18.0

func (o ServicePerimeterStatusIngressPolicyArrayOutput) ToServicePerimeterStatusIngressPolicyArrayOutput() ServicePerimeterStatusIngressPolicyArrayOutput

func (ServicePerimeterStatusIngressPolicyArrayOutput) ToServicePerimeterStatusIngressPolicyArrayOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusIngressPolicyIngressFrom added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimeterStatusIngressPolicyIngressFromOutput added in v4.18.0

func (i ServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimeterStatusIngressPolicyIngressFromOutput() ServicePerimeterStatusIngressPolicyIngressFromOutput

func (ServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimeterStatusIngressPolicyIngressFromOutputWithContext added in v4.18.0

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

func (ServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutput added in v4.18.0

func (i ServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutput() ServicePerimeterStatusIngressPolicyIngressFromPtrOutput

func (ServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusIngressPolicyIngressFromInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterStatusIngressPolicyIngressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressFromOutput) ElementType added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressFromOutput) Identities added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

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

func (ServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimeterStatusIngressPolicyIngressFromOutput added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimeterStatusIngressPolicyIngressFromOutputWithContext added in v4.18.0

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

func (ServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutput added in v4.18.0

func (o ServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutput() ServicePerimeterStatusIngressPolicyIngressFromPtrOutput

func (ServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusIngressPolicyIngressFromPtrInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterStatusIngressPolicyIngressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressFromPtrOutput) Elem added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressFromPtrOutput) ElementType added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressFromPtrOutput) Identities added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

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

func (ServicePerimeterStatusIngressPolicyIngressFromPtrOutput) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutput added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressFromPtrOutput) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusIngressPolicyIngressFromSource added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ToServicePerimeterStatusIngressPolicyIngressFromSourceOutput added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ToServicePerimeterStatusIngressPolicyIngressFromSourceOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusIngressPolicyIngressFromSourceArray added in v4.18.0

type ServicePerimeterStatusIngressPolicyIngressFromSourceArray []ServicePerimeterStatusIngressPolicyIngressFromSourceInput

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArray) ElementType added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArray) ToServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput added in v4.18.0

func (i ServicePerimeterStatusIngressPolicyIngressFromSourceArray) ToServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput() ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArray) ToServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusIngressPolicyIngressFromSourceArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ElementType added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) Index added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ToServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ToServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusIngressPolicyIngressFromSourceInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterStatusIngressPolicyIngressFromSourceOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressFromSourceOutput) AccessLevel added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressFromSourceOutput) Resource added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressFromSourceOutput) ToServicePerimeterStatusIngressPolicyIngressFromSourceOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusIngressPolicyIngressTo added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimeterStatusIngressPolicyIngressToOutput added in v4.18.0

func (i ServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimeterStatusIngressPolicyIngressToOutput() ServicePerimeterStatusIngressPolicyIngressToOutput

func (ServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimeterStatusIngressPolicyIngressToOutputWithContext added in v4.18.0

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

func (ServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimeterStatusIngressPolicyIngressToPtrOutput added in v4.18.0

func (i ServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimeterStatusIngressPolicyIngressToPtrOutput() ServicePerimeterStatusIngressPolicyIngressToPtrOutput

func (ServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusIngressPolicyIngressToInput added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressToOperationArgs) ToServicePerimeterStatusIngressPolicyIngressToOperationOutput added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressToOperationArgs) ToServicePerimeterStatusIngressPolicyIngressToOperationOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusIngressPolicyIngressToOperationArray added in v4.18.0

type ServicePerimeterStatusIngressPolicyIngressToOperationArray []ServicePerimeterStatusIngressPolicyIngressToOperationInput

func (ServicePerimeterStatusIngressPolicyIngressToOperationArray) ElementType added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressToOperationArray) ToServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressToOperationArray) ToServicePerimeterStatusIngressPolicyIngressToOperationArrayOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusIngressPolicyIngressToOperationArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ElementType added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) Index added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationArrayOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusIngressPolicyIngressToOperationInput added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray added in v4.18.0

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray []ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ElementType added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) ElementType added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) Index added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext added in v4.18.0

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) ElementType added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) Method added in v4.18.0

/ 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 added in v4.18.0

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

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutputWithContext added in v4.18.0

type ServicePerimeterStatusIngressPolicyIngressToOperationOutput added in v4.18.0

type ServicePerimeterStatusIngressPolicyIngressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressToOperationOutput) ElementType added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressToOperationOutput) MethodSelectors added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressToOperationOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusIngressPolicyIngressToOutput added in v4.18.0

type ServicePerimeterStatusIngressPolicyIngressToOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressToOutput) ElementType added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressToOutput) Operations added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (o ServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimeterStatusIngressPolicyIngressToOutput() ServicePerimeterStatusIngressPolicyIngressToOutput

func (ServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimeterStatusIngressPolicyIngressToOutputWithContext added in v4.18.0

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

func (ServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimeterStatusIngressPolicyIngressToPtrOutput added in v4.18.0

func (o ServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimeterStatusIngressPolicyIngressToPtrOutput() ServicePerimeterStatusIngressPolicyIngressToPtrOutput

func (ServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusIngressPolicyIngressToPtrInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterStatusIngressPolicyIngressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressToPtrOutput) Elem added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressToPtrOutput) ElementType added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressToPtrOutput) Operations added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimeterStatusIngressPolicyIngressToPtrOutput) ToServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext added in v4.18.0

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

type ServicePerimeterStatusIngressPolicyInput added in v4.18.0

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 added in v4.18.0

type ServicePerimeterStatusIngressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyOutput) ElementType added in v4.18.0

func (ServicePerimeterStatusIngressPolicyOutput) IngressFrom added in v4.18.0

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

func (ServicePerimeterStatusIngressPolicyOutput) IngressTo added in v4.18.0

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

func (ServicePerimeterStatusIngressPolicyOutput) ToServicePerimeterStatusIngressPolicyOutput added in v4.18.0

func (o ServicePerimeterStatusIngressPolicyOutput) ToServicePerimeterStatusIngressPolicyOutput() ServicePerimeterStatusIngressPolicyOutput

func (ServicePerimeterStatusIngressPolicyOutput) ToServicePerimeterStatusIngressPolicyOutputWithContext added in v4.18.0

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 added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

/ 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/v4/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi/sdk/v2/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 added in v4.4.0

func (*ServicePerimeters) ElementType() reflect.Type

func (*ServicePerimeters) ToServicePerimetersOutput added in v4.4.0

func (i *ServicePerimeters) ToServicePerimetersOutput() ServicePerimetersOutput

func (*ServicePerimeters) ToServicePerimetersOutputWithContext added in v4.4.0

func (i *ServicePerimeters) ToServicePerimetersOutputWithContext(ctx context.Context) ServicePerimetersOutput

func (*ServicePerimeters) ToServicePerimetersPtrOutput added in v4.11.1

func (i *ServicePerimeters) ToServicePerimetersPtrOutput() ServicePerimetersPtrOutput

func (*ServicePerimeters) ToServicePerimetersPtrOutputWithContext added in v4.11.1

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 added in v4.11.1

type ServicePerimetersArray []ServicePerimetersInput

func (ServicePerimetersArray) ElementType added in v4.11.1

func (ServicePerimetersArray) ElementType() reflect.Type

func (ServicePerimetersArray) ToServicePerimetersArrayOutput added in v4.11.1

func (i ServicePerimetersArray) ToServicePerimetersArrayOutput() ServicePerimetersArrayOutput

func (ServicePerimetersArray) ToServicePerimetersArrayOutputWithContext added in v4.11.1

func (i ServicePerimetersArray) ToServicePerimetersArrayOutputWithContext(ctx context.Context) ServicePerimetersArrayOutput

type ServicePerimetersArrayInput added in v4.11.1

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 added in v4.11.1

type ServicePerimetersArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersArrayOutput) ElementType added in v4.11.1

func (ServicePerimetersArrayOutput) Index added in v4.11.1

func (ServicePerimetersArrayOutput) ToServicePerimetersArrayOutput added in v4.11.1

func (o ServicePerimetersArrayOutput) ToServicePerimetersArrayOutput() ServicePerimetersArrayOutput

func (ServicePerimetersArrayOutput) ToServicePerimetersArrayOutputWithContext added in v4.11.1

func (o ServicePerimetersArrayOutput) ToServicePerimetersArrayOutputWithContext(ctx context.Context) ServicePerimetersArrayOutput

type ServicePerimetersInput added in v4.4.0

type ServicePerimetersInput interface {
	pulumi.Input

	ToServicePerimetersOutput() ServicePerimetersOutput
	ToServicePerimetersOutputWithContext(ctx context.Context) ServicePerimetersOutput
}

type ServicePerimetersMap added in v4.11.1

type ServicePerimetersMap map[string]ServicePerimetersInput

func (ServicePerimetersMap) ElementType added in v4.11.1

func (ServicePerimetersMap) ElementType() reflect.Type

func (ServicePerimetersMap) ToServicePerimetersMapOutput added in v4.11.1

func (i ServicePerimetersMap) ToServicePerimetersMapOutput() ServicePerimetersMapOutput

func (ServicePerimetersMap) ToServicePerimetersMapOutputWithContext added in v4.11.1

func (i ServicePerimetersMap) ToServicePerimetersMapOutputWithContext(ctx context.Context) ServicePerimetersMapOutput

type ServicePerimetersMapInput added in v4.11.1

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 added in v4.11.1

type ServicePerimetersMapOutput struct{ *pulumi.OutputState }

func (ServicePerimetersMapOutput) ElementType added in v4.11.1

func (ServicePerimetersMapOutput) ElementType() reflect.Type

func (ServicePerimetersMapOutput) MapIndex added in v4.11.1

func (ServicePerimetersMapOutput) ToServicePerimetersMapOutput added in v4.11.1

func (o ServicePerimetersMapOutput) ToServicePerimetersMapOutput() ServicePerimetersMapOutput

func (ServicePerimetersMapOutput) ToServicePerimetersMapOutputWithContext added in v4.11.1

func (o ServicePerimetersMapOutput) ToServicePerimetersMapOutputWithContext(ctx context.Context) ServicePerimetersMapOutput

type ServicePerimetersOutput added in v4.4.0

type ServicePerimetersOutput struct {
	*pulumi.OutputState
}

func (ServicePerimetersOutput) ElementType added in v4.4.0

func (ServicePerimetersOutput) ElementType() reflect.Type

func (ServicePerimetersOutput) ToServicePerimetersOutput added in v4.4.0

func (o ServicePerimetersOutput) ToServicePerimetersOutput() ServicePerimetersOutput

func (ServicePerimetersOutput) ToServicePerimetersOutputWithContext added in v4.4.0

func (o ServicePerimetersOutput) ToServicePerimetersOutputWithContext(ctx context.Context) ServicePerimetersOutput

func (ServicePerimetersOutput) ToServicePerimetersPtrOutput added in v4.11.1

func (o ServicePerimetersOutput) ToServicePerimetersPtrOutput() ServicePerimetersPtrOutput

func (ServicePerimetersOutput) ToServicePerimetersPtrOutputWithContext added in v4.11.1

func (o ServicePerimetersOutput) ToServicePerimetersPtrOutputWithContext(ctx context.Context) ServicePerimetersPtrOutput

type ServicePerimetersPtrInput added in v4.11.1

type ServicePerimetersPtrInput interface {
	pulumi.Input

	ToServicePerimetersPtrOutput() ServicePerimetersPtrOutput
	ToServicePerimetersPtrOutputWithContext(ctx context.Context) ServicePerimetersPtrOutput
}

type ServicePerimetersPtrOutput added in v4.11.1

type ServicePerimetersPtrOutput struct {
	*pulumi.OutputState
}

func (ServicePerimetersPtrOutput) ElementType added in v4.11.1

func (ServicePerimetersPtrOutput) ElementType() reflect.Type

func (ServicePerimetersPtrOutput) ToServicePerimetersPtrOutput added in v4.11.1

func (o ServicePerimetersPtrOutput) ToServicePerimetersPtrOutput() ServicePerimetersPtrOutput

func (ServicePerimetersPtrOutput) ToServicePerimetersPtrOutputWithContext added in v4.11.1

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 added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyOutput added in v4.18.0

func (i ServicePerimetersServicePerimeterSpecEgressPolicyArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyOutput() ServicePerimetersServicePerimeterSpecEgressPolicyOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterSpecEgressPolicyArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyArray added in v4.18.0

type ServicePerimetersServicePerimeterSpecEgressPolicyArray []ServicePerimetersServicePerimeterSpecEgressPolicyInput

func (ServicePerimetersServicePerimeterSpecEgressPolicyArray) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyArray) ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput added in v4.18.0

func (i ServicePerimetersServicePerimeterSpecEgressPolicyArray) ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput() ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyArray) ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterSpecEgressPolicyArray) ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput) Index added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFrom added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) Identities added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput) Elem added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput) Identities added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressTo added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToInput added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray added in v4.18.0

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray []ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationInput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) Index added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationInput added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray added in v4.18.0

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray []ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) Index added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) Method added in v4.18.0

/ 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 added in v4.18.0

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput added in v4.18.0

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput) MethodSelectors added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput added in v4.18.0

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) Operations added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput) Elem added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput) Operations added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterSpecEgressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyOutput) EgressFrom added in v4.18.0

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyOutput) EgressTo added in v4.18.0

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterSpecEgressPolicyOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyOutput

type ServicePerimetersServicePerimeterSpecIngressPolicy added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterSpecIngressPolicyArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyArray added in v4.18.0

type ServicePerimetersServicePerimeterSpecIngressPolicyArray []ServicePerimetersServicePerimeterSpecIngressPolicyInput

func (ServicePerimetersServicePerimeterSpecIngressPolicyArray) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyArray) ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput added in v4.18.0

func (i ServicePerimetersServicePerimeterSpecIngressPolicyArray) ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput() ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyArray) ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterSpecIngressPolicyArray) ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput) Index added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFrom added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) Identities added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput) Elem added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput) Identities added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSource added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray added in v4.18.0

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray []ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceInput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) Index added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput) AccessLevel added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput) Resource added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressTo added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToInput added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray added in v4.18.0

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray []ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationInput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) Index added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationInput added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray added in v4.18.0

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray []ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) Index added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) Method added in v4.18.0

/ 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 added in v4.18.0

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput added in v4.18.0

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput) MethodSelectors added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput added in v4.18.0

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput) Operations added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput) Elem added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput) Operations added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterSpecIngressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyOutput) IngressFrom added in v4.18.0

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyOutput) IngressTo added in v4.18.0

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyOutput added in v4.18.0

func (ServicePerimetersServicePerimeterSpecIngressPolicyOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyOutputWithContext added in v4.18.0

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 added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterStatusEgressPolicyArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyArray added in v4.18.0

type ServicePerimetersServicePerimeterStatusEgressPolicyArray []ServicePerimetersServicePerimeterStatusEgressPolicyInput

func (ServicePerimetersServicePerimeterStatusEgressPolicyArray) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyArray) ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput added in v4.18.0

func (i ServicePerimetersServicePerimeterStatusEgressPolicyArray) ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput() ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyArray) ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterStatusEgressPolicyArray) ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput) Index added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFrom added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) Identities added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput) Elem added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput) Identities added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressTo added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToInput added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray added in v4.18.0

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray []ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationInput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) Index added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationInput added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray added in v4.18.0

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray []ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) Index added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) Method added in v4.18.0

/ 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 added in v4.18.0

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput added in v4.18.0

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput) MethodSelectors added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput added in v4.18.0

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) Operations added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput) Elem added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput) Operations added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterStatusEgressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyOutput) EgressFrom added in v4.18.0

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyOutput) EgressTo added in v4.18.0

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterStatusEgressPolicyOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyOutput

type ServicePerimetersServicePerimeterStatusIngressPolicy added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterStatusIngressPolicyArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyArray added in v4.18.0

type ServicePerimetersServicePerimeterStatusIngressPolicyArray []ServicePerimetersServicePerimeterStatusIngressPolicyInput

func (ServicePerimetersServicePerimeterStatusIngressPolicyArray) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyArray) ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput added in v4.18.0

func (i ServicePerimetersServicePerimeterStatusIngressPolicyArray) ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput() ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyArray) ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterStatusIngressPolicyArray) ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput) Index added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFrom added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) Identities added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput) Elem added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput) Identities added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSource added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray added in v4.18.0

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray []ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceInput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) Index added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput) AccessLevel added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput) Resource added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressTo added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToInput added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray added in v4.18.0

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray []ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationInput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutputWithContext added in v4.18.0

func (i ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) Index added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationInput added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

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 added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray added in v4.18.0

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray []ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) Index added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) Method added in v4.18.0

/ 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 added in v4.18.0

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput added in v4.18.0

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput) MethodSelectors added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutputWithContext added in v4.18.0

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput added in v4.18.0

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput) Operations added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput) Elem added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput) Operations added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext added in v4.18.0

func (o ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyInput added in v4.18.0

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 added in v4.18.0

type ServicePerimetersServicePerimeterStatusIngressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyOutput) ElementType added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyOutput) IngressFrom added in v4.18.0

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyOutput) IngressTo added in v4.18.0

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyOutput added in v4.18.0

func (ServicePerimetersServicePerimeterStatusIngressPolicyOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyOutputWithContext added in v4.18.0

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 added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

/ 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 added in v4.18.0

/ 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