accesscontextmanager

package
v6.67.1 Latest Latest
Warning

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

Go to latest
Published: Nov 4, 2023 License: Apache-2.0 Imports: 8 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 AccessLevel and its use. Does not affect behavior.
	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"`
	// Human readable title. Must be unique within the Policy.
	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/v6/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

## Import

AccessLevel can be imported using any of these accepted formats:

```sh

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

```

func GetAccessLevel

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

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

func NewAccessLevel

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

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

func (*AccessLevel) ElementType

func (*AccessLevel) ElementType() reflect.Type

func (*AccessLevel) ToAccessLevelOutput

func (i *AccessLevel) ToAccessLevelOutput() AccessLevelOutput

func (*AccessLevel) ToAccessLevelOutputWithContext

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

func (*AccessLevel) ToOutput added in v6.65.1

func (i *AccessLevel) ToOutput(ctx context.Context) pulumix.Output[*AccessLevel]

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 AccessLevel and its use. Does not affect behavior.
	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
	// Human readable title. Must be unique within the Policy.
	Title pulumi.StringInput
}

The set of arguments for constructing a AccessLevel resource.

func (AccessLevelArgs) ElementType

func (AccessLevelArgs) ElementType() reflect.Type

type AccessLevelArray

type AccessLevelArray []AccessLevelInput

func (AccessLevelArray) ElementType

func (AccessLevelArray) ElementType() reflect.Type

func (AccessLevelArray) ToAccessLevelArrayOutput

func (i AccessLevelArray) ToAccessLevelArrayOutput() AccessLevelArrayOutput

func (AccessLevelArray) ToAccessLevelArrayOutputWithContext

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

func (AccessLevelArray) ToOutput added in v6.65.1

type AccessLevelArrayInput

type AccessLevelArrayInput interface {
	pulumi.Input

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

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

AccessLevelArray{ AccessLevelArgs{...} }

type AccessLevelArrayOutput

type AccessLevelArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelArrayOutput) ElementType

func (AccessLevelArrayOutput) ElementType() reflect.Type

func (AccessLevelArrayOutput) Index

func (AccessLevelArrayOutput) ToAccessLevelArrayOutput

func (o AccessLevelArrayOutput) ToAccessLevelArrayOutput() AccessLevelArrayOutput

func (AccessLevelArrayOutput) ToAccessLevelArrayOutputWithContext

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

func (AccessLevelArrayOutput) ToOutput added in v6.65.1

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`, `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`, `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

func (AccessLevelBasicArgs) ToOutput added in v6.65.1

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

func (AccessLevelBasicConditionArgs) ToOutput added in v6.65.1

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

func (AccessLevelBasicConditionArray) ToOutput added in v6.65.1

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

func (AccessLevelBasicConditionArrayOutput) ToOutput added in v6.65.1

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`, `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`, `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`, `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`, `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

func (AccessLevelBasicConditionDevicePolicyArgs) ToOutput added in v6.65.1

type AccessLevelBasicConditionDevicePolicyInput

type AccessLevelBasicConditionDevicePolicyInput interface {
	pulumi.Input

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

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

AccessLevelBasicConditionDevicePolicyArgs{...}

type AccessLevelBasicConditionDevicePolicyOsConstraint

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

type AccessLevelBasicConditionDevicePolicyOsConstraintArgs

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

func (AccessLevelBasicConditionDevicePolicyOsConstraintArgs) ElementType

func (AccessLevelBasicConditionDevicePolicyOsConstraintArgs) ToAccessLevelBasicConditionDevicePolicyOsConstraintOutput

func (i AccessLevelBasicConditionDevicePolicyOsConstraintArgs) ToAccessLevelBasicConditionDevicePolicyOsConstraintOutput() AccessLevelBasicConditionDevicePolicyOsConstraintOutput

func (AccessLevelBasicConditionDevicePolicyOsConstraintArgs) ToAccessLevelBasicConditionDevicePolicyOsConstraintOutputWithContext

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

func (AccessLevelBasicConditionDevicePolicyOsConstraintArgs) ToOutput added in v6.65.1

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

func (AccessLevelBasicConditionDevicePolicyOsConstraintArray) ToOutput added in v6.65.1

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

func (AccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput) ToOutput added in v6.65.1

type AccessLevelBasicConditionDevicePolicyOsConstraintInput

type AccessLevelBasicConditionDevicePolicyOsConstraintInput interface {
	pulumi.Input

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

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

AccessLevelBasicConditionDevicePolicyOsConstraintArgs{...}

type AccessLevelBasicConditionDevicePolicyOsConstraintOutput

type AccessLevelBasicConditionDevicePolicyOsConstraintOutput struct{ *pulumi.OutputState }

func (AccessLevelBasicConditionDevicePolicyOsConstraintOutput) ElementType

func (AccessLevelBasicConditionDevicePolicyOsConstraintOutput) MinimumVersion

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

func (AccessLevelBasicConditionDevicePolicyOsConstraintOutput) OsType

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

func (AccessLevelBasicConditionDevicePolicyOsConstraintOutput) RequireVerifiedChromeOs

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

func (AccessLevelBasicConditionDevicePolicyOsConstraintOutput) ToAccessLevelBasicConditionDevicePolicyOsConstraintOutput

func (AccessLevelBasicConditionDevicePolicyOsConstraintOutput) ToAccessLevelBasicConditionDevicePolicyOsConstraintOutputWithContext

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

func (AccessLevelBasicConditionDevicePolicyOsConstraintOutput) ToOutput added in v6.65.1

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`, `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`, `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

func (AccessLevelBasicConditionDevicePolicyOutput) ToOutput added in v6.65.1

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`, `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`, `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

func (AccessLevelBasicConditionDevicePolicyPtrOutput) ToOutput added in v6.65.1

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

func (AccessLevelBasicConditionOutput) ToOutput added in v6.65.1

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`, `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

func (AccessLevelBasicOutput) ToOutput added in v6.65.1

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`, `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

func (AccessLevelBasicPtrOutput) ToOutput added in v6.65.1

type AccessLevelCondition

type AccessLevelCondition struct {
	pulumi.CustomResourceState

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

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

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

To get more information about AccessLevelCondition, see:

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

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

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

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := accesscontextmanager.NewAccessPolicy(ctx, "access-policy", &accesscontextmanager.AccessPolicyArgs{
			Parent: pulumi.String("organizations/123456789"),
			Title:  pulumi.String("my policy"),
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewAccessLevel(ctx, "access-level-service-account", &accesscontextmanager.AccessLevelArgs{
			Parent: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("accessPolicies/%v", name), nil
			}).(pulumi.StringOutput),
			Title: pulumi.String("chromeos_no_lock"),
			Basic: &accesscontextmanager.AccessLevelBasicArgs{
				Conditions: accesscontextmanager.AccessLevelBasicConditionArray{
					&accesscontextmanager.AccessLevelBasicConditionArgs{
						DevicePolicy: &accesscontextmanager.AccessLevelBasicConditionDevicePolicyArgs{
							RequireScreenLock: pulumi.Bool(true),
							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 = serviceAccount.NewAccount(ctx, "created-later", &serviceAccount.AccountArgs{
			AccountId: pulumi.String("my-account-id"),
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewAccessLevelCondition(ctx, "access-level-conditions", &accesscontextmanager.AccessLevelConditionArgs{
			AccessLevel: access_level_service_account.Name,
			IpSubnetworks: pulumi.StringArray{
				pulumi.String("192.0.4.0/24"),
			},
			Members: pulumi.StringArray{
				pulumi.String("user:test@google.com"),
				pulumi.String("user:test2@google.com"),
				created_later.Email.ApplyT(func(email string) (string, error) {
					return fmt.Sprintf("serviceAccount:%v", email), nil
				}).(pulumi.StringOutput),
			},
			Negate: pulumi.Bool(false),
			DevicePolicy: &accesscontextmanager.AccessLevelConditionDevicePolicyArgs{
				RequireScreenLock:    pulumi.Bool(false),
				RequireAdminApproval: pulumi.Bool(false),
				RequireCorpOwned:     pulumi.Bool(true),
				OsConstraints: accesscontextmanager.AccessLevelConditionDevicePolicyOsConstraintArray{
					&accesscontextmanager.AccessLevelConditionDevicePolicyOsConstraintArgs{
						OsType: pulumi.String("DESKTOP_CHROME_OS"),
					},
				},
			},
			Regions: pulumi.StringArray{
				pulumi.String("IT"),
				pulumi.String("US"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

This resource does not support import.

func GetAccessLevelCondition

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

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

func NewAccessLevelCondition

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

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

func (*AccessLevelCondition) ElementType

func (*AccessLevelCondition) ElementType() reflect.Type

func (*AccessLevelCondition) ToAccessLevelConditionOutput

func (i *AccessLevelCondition) ToAccessLevelConditionOutput() AccessLevelConditionOutput

func (*AccessLevelCondition) ToAccessLevelConditionOutputWithContext

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

func (*AccessLevelCondition) ToOutput added in v6.65.1

type AccessLevelConditionArgs

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

The set of arguments for constructing a AccessLevelCondition resource.

func (AccessLevelConditionArgs) ElementType

func (AccessLevelConditionArgs) ElementType() reflect.Type

type AccessLevelConditionArray

type AccessLevelConditionArray []AccessLevelConditionInput

func (AccessLevelConditionArray) ElementType

func (AccessLevelConditionArray) ElementType() reflect.Type

func (AccessLevelConditionArray) ToAccessLevelConditionArrayOutput

func (i AccessLevelConditionArray) ToAccessLevelConditionArrayOutput() AccessLevelConditionArrayOutput

func (AccessLevelConditionArray) ToAccessLevelConditionArrayOutputWithContext

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

func (AccessLevelConditionArray) ToOutput added in v6.65.1

type AccessLevelConditionArrayInput

type AccessLevelConditionArrayInput interface {
	pulumi.Input

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

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

AccessLevelConditionArray{ AccessLevelConditionArgs{...} }

type AccessLevelConditionArrayOutput

type AccessLevelConditionArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionArrayOutput) ElementType

func (AccessLevelConditionArrayOutput) Index

func (AccessLevelConditionArrayOutput) ToAccessLevelConditionArrayOutput

func (o AccessLevelConditionArrayOutput) ToAccessLevelConditionArrayOutput() AccessLevelConditionArrayOutput

func (AccessLevelConditionArrayOutput) ToAccessLevelConditionArrayOutputWithContext

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

func (AccessLevelConditionArrayOutput) ToOutput added in v6.65.1

type AccessLevelConditionDevicePolicy

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

type AccessLevelConditionDevicePolicyArgs

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

func (AccessLevelConditionDevicePolicyArgs) ElementType

func (AccessLevelConditionDevicePolicyArgs) ToAccessLevelConditionDevicePolicyOutput

func (i AccessLevelConditionDevicePolicyArgs) ToAccessLevelConditionDevicePolicyOutput() AccessLevelConditionDevicePolicyOutput

func (AccessLevelConditionDevicePolicyArgs) ToAccessLevelConditionDevicePolicyOutputWithContext

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

func (AccessLevelConditionDevicePolicyArgs) ToAccessLevelConditionDevicePolicyPtrOutput

func (i AccessLevelConditionDevicePolicyArgs) ToAccessLevelConditionDevicePolicyPtrOutput() AccessLevelConditionDevicePolicyPtrOutput

func (AccessLevelConditionDevicePolicyArgs) ToAccessLevelConditionDevicePolicyPtrOutputWithContext

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

func (AccessLevelConditionDevicePolicyArgs) ToOutput added in v6.65.1

type AccessLevelConditionDevicePolicyInput

type AccessLevelConditionDevicePolicyInput interface {
	pulumi.Input

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

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

AccessLevelConditionDevicePolicyArgs{...}

type AccessLevelConditionDevicePolicyOsConstraint

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

type AccessLevelConditionDevicePolicyOsConstraintArgs

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

func (AccessLevelConditionDevicePolicyOsConstraintArgs) ElementType

func (AccessLevelConditionDevicePolicyOsConstraintArgs) ToAccessLevelConditionDevicePolicyOsConstraintOutput

func (i AccessLevelConditionDevicePolicyOsConstraintArgs) ToAccessLevelConditionDevicePolicyOsConstraintOutput() AccessLevelConditionDevicePolicyOsConstraintOutput

func (AccessLevelConditionDevicePolicyOsConstraintArgs) ToAccessLevelConditionDevicePolicyOsConstraintOutputWithContext

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

func (AccessLevelConditionDevicePolicyOsConstraintArgs) ToOutput added in v6.65.1

type AccessLevelConditionDevicePolicyOsConstraintArray

type AccessLevelConditionDevicePolicyOsConstraintArray []AccessLevelConditionDevicePolicyOsConstraintInput

func (AccessLevelConditionDevicePolicyOsConstraintArray) ElementType

func (AccessLevelConditionDevicePolicyOsConstraintArray) ToAccessLevelConditionDevicePolicyOsConstraintArrayOutput

func (i AccessLevelConditionDevicePolicyOsConstraintArray) ToAccessLevelConditionDevicePolicyOsConstraintArrayOutput() AccessLevelConditionDevicePolicyOsConstraintArrayOutput

func (AccessLevelConditionDevicePolicyOsConstraintArray) ToAccessLevelConditionDevicePolicyOsConstraintArrayOutputWithContext

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

func (AccessLevelConditionDevicePolicyOsConstraintArray) ToOutput added in v6.65.1

type AccessLevelConditionDevicePolicyOsConstraintArrayInput

type AccessLevelConditionDevicePolicyOsConstraintArrayInput interface {
	pulumi.Input

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

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

AccessLevelConditionDevicePolicyOsConstraintArray{ AccessLevelConditionDevicePolicyOsConstraintArgs{...} }

type AccessLevelConditionDevicePolicyOsConstraintArrayOutput

type AccessLevelConditionDevicePolicyOsConstraintArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionDevicePolicyOsConstraintArrayOutput) ElementType

func (AccessLevelConditionDevicePolicyOsConstraintArrayOutput) Index

func (AccessLevelConditionDevicePolicyOsConstraintArrayOutput) ToAccessLevelConditionDevicePolicyOsConstraintArrayOutput

func (AccessLevelConditionDevicePolicyOsConstraintArrayOutput) ToAccessLevelConditionDevicePolicyOsConstraintArrayOutputWithContext

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

func (AccessLevelConditionDevicePolicyOsConstraintArrayOutput) ToOutput added in v6.65.1

type AccessLevelConditionDevicePolicyOsConstraintInput

type AccessLevelConditionDevicePolicyOsConstraintInput interface {
	pulumi.Input

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

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

AccessLevelConditionDevicePolicyOsConstraintArgs{...}

type AccessLevelConditionDevicePolicyOsConstraintOutput

type AccessLevelConditionDevicePolicyOsConstraintOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionDevicePolicyOsConstraintOutput) ElementType

func (AccessLevelConditionDevicePolicyOsConstraintOutput) MinimumVersion

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

func (AccessLevelConditionDevicePolicyOsConstraintOutput) OsType

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

func (AccessLevelConditionDevicePolicyOsConstraintOutput) ToAccessLevelConditionDevicePolicyOsConstraintOutput

func (o AccessLevelConditionDevicePolicyOsConstraintOutput) ToAccessLevelConditionDevicePolicyOsConstraintOutput() AccessLevelConditionDevicePolicyOsConstraintOutput

func (AccessLevelConditionDevicePolicyOsConstraintOutput) ToAccessLevelConditionDevicePolicyOsConstraintOutputWithContext

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

func (AccessLevelConditionDevicePolicyOsConstraintOutput) ToOutput added in v6.65.1

type AccessLevelConditionDevicePolicyOutput

type AccessLevelConditionDevicePolicyOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionDevicePolicyOutput) AllowedDeviceManagementLevels

func (o AccessLevelConditionDevicePolicyOutput) AllowedDeviceManagementLevels() pulumi.StringArrayOutput

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

func (AccessLevelConditionDevicePolicyOutput) AllowedEncryptionStatuses

func (o AccessLevelConditionDevicePolicyOutput) AllowedEncryptionStatuses() pulumi.StringArrayOutput

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

func (AccessLevelConditionDevicePolicyOutput) ElementType

func (AccessLevelConditionDevicePolicyOutput) OsConstraints

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

func (AccessLevelConditionDevicePolicyOutput) RequireAdminApproval

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

func (AccessLevelConditionDevicePolicyOutput) RequireCorpOwned

Whether the device needs to be corp owned.

func (AccessLevelConditionDevicePolicyOutput) RequireScreenLock

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

func (AccessLevelConditionDevicePolicyOutput) ToAccessLevelConditionDevicePolicyOutput

func (o AccessLevelConditionDevicePolicyOutput) ToAccessLevelConditionDevicePolicyOutput() AccessLevelConditionDevicePolicyOutput

func (AccessLevelConditionDevicePolicyOutput) ToAccessLevelConditionDevicePolicyOutputWithContext

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

func (AccessLevelConditionDevicePolicyOutput) ToAccessLevelConditionDevicePolicyPtrOutput

func (o AccessLevelConditionDevicePolicyOutput) ToAccessLevelConditionDevicePolicyPtrOutput() AccessLevelConditionDevicePolicyPtrOutput

func (AccessLevelConditionDevicePolicyOutput) ToAccessLevelConditionDevicePolicyPtrOutputWithContext

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

func (AccessLevelConditionDevicePolicyOutput) ToOutput added in v6.65.1

type AccessLevelConditionDevicePolicyPtrInput

type AccessLevelConditionDevicePolicyPtrInput interface {
	pulumi.Input

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

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

        AccessLevelConditionDevicePolicyArgs{...}

or:

        nil

type AccessLevelConditionDevicePolicyPtrOutput

type AccessLevelConditionDevicePolicyPtrOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionDevicePolicyPtrOutput) AllowedDeviceManagementLevels

func (o AccessLevelConditionDevicePolicyPtrOutput) AllowedDeviceManagementLevels() pulumi.StringArrayOutput

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

func (AccessLevelConditionDevicePolicyPtrOutput) AllowedEncryptionStatuses

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

func (AccessLevelConditionDevicePolicyPtrOutput) Elem

func (AccessLevelConditionDevicePolicyPtrOutput) ElementType

func (AccessLevelConditionDevicePolicyPtrOutput) OsConstraints

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

func (AccessLevelConditionDevicePolicyPtrOutput) RequireAdminApproval

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

func (AccessLevelConditionDevicePolicyPtrOutput) RequireCorpOwned

Whether the device needs to be corp owned.

func (AccessLevelConditionDevicePolicyPtrOutput) RequireScreenLock

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

func (AccessLevelConditionDevicePolicyPtrOutput) ToAccessLevelConditionDevicePolicyPtrOutput

func (o AccessLevelConditionDevicePolicyPtrOutput) ToAccessLevelConditionDevicePolicyPtrOutput() AccessLevelConditionDevicePolicyPtrOutput

func (AccessLevelConditionDevicePolicyPtrOutput) ToAccessLevelConditionDevicePolicyPtrOutputWithContext

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

func (AccessLevelConditionDevicePolicyPtrOutput) ToOutput added in v6.65.1

type AccessLevelConditionInput

type AccessLevelConditionInput interface {
	pulumi.Input

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

type AccessLevelConditionMap

type AccessLevelConditionMap map[string]AccessLevelConditionInput

func (AccessLevelConditionMap) ElementType

func (AccessLevelConditionMap) ElementType() reflect.Type

func (AccessLevelConditionMap) ToAccessLevelConditionMapOutput

func (i AccessLevelConditionMap) ToAccessLevelConditionMapOutput() AccessLevelConditionMapOutput

func (AccessLevelConditionMap) ToAccessLevelConditionMapOutputWithContext

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

func (AccessLevelConditionMap) ToOutput added in v6.65.1

type AccessLevelConditionMapInput

type AccessLevelConditionMapInput interface {
	pulumi.Input

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

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

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

type AccessLevelConditionMapOutput

type AccessLevelConditionMapOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionMapOutput) ElementType

func (AccessLevelConditionMapOutput) MapIndex

func (AccessLevelConditionMapOutput) ToAccessLevelConditionMapOutput

func (o AccessLevelConditionMapOutput) ToAccessLevelConditionMapOutput() AccessLevelConditionMapOutput

func (AccessLevelConditionMapOutput) ToAccessLevelConditionMapOutputWithContext

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

func (AccessLevelConditionMapOutput) ToOutput added in v6.65.1

type AccessLevelConditionOutput

type AccessLevelConditionOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionOutput) AccessLevel added in v6.23.0

The name of the Access Level to add this condition to.

***

func (AccessLevelConditionOutput) DevicePolicy added in v6.23.0

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 (AccessLevelConditionOutput) ElementType

func (AccessLevelConditionOutput) ElementType() reflect.Type

func (AccessLevelConditionOutput) IpSubnetworks added in v6.23.0

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 (AccessLevelConditionOutput) Members added in v6.23.0

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 (AccessLevelConditionOutput) Negate added in v6.23.0

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 (AccessLevelConditionOutput) Regions added in v6.23.0

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

func (AccessLevelConditionOutput) RequiredAccessLevels added in v6.23.0

func (o AccessLevelConditionOutput) 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 (AccessLevelConditionOutput) ToAccessLevelConditionOutput

func (o AccessLevelConditionOutput) ToAccessLevelConditionOutput() AccessLevelConditionOutput

func (AccessLevelConditionOutput) ToAccessLevelConditionOutputWithContext

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

func (AccessLevelConditionOutput) ToOutput added in v6.65.1

type AccessLevelConditionState

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

func (AccessLevelConditionState) ElementType

func (AccessLevelConditionState) ElementType() reflect.Type

type AccessLevelCustom

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

type AccessLevelCustomArgs

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

func (AccessLevelCustomArgs) ElementType

func (AccessLevelCustomArgs) ElementType() reflect.Type

func (AccessLevelCustomArgs) ToAccessLevelCustomOutput

func (i AccessLevelCustomArgs) ToAccessLevelCustomOutput() AccessLevelCustomOutput

func (AccessLevelCustomArgs) ToAccessLevelCustomOutputWithContext

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

func (AccessLevelCustomArgs) ToAccessLevelCustomPtrOutput

func (i AccessLevelCustomArgs) ToAccessLevelCustomPtrOutput() AccessLevelCustomPtrOutput

func (AccessLevelCustomArgs) ToAccessLevelCustomPtrOutputWithContext

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

func (AccessLevelCustomArgs) ToOutput added in v6.65.1

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

func (AccessLevelCustomExprArgs) ToOutput added in v6.65.1

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

func (AccessLevelCustomExprOutput) ToOutput added in v6.65.1

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

func (AccessLevelCustomExprPtrOutput) ToOutput added in v6.65.1

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

func (AccessLevelCustomOutput) ToOutput added in v6.65.1

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

func (AccessLevelCustomPtrOutput) ToOutput added in v6.65.1

type AccessLevelInput

type AccessLevelInput interface {
	pulumi.Input

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

type AccessLevelMap

type AccessLevelMap map[string]AccessLevelInput

func (AccessLevelMap) ElementType

func (AccessLevelMap) ElementType() reflect.Type

func (AccessLevelMap) ToAccessLevelMapOutput

func (i AccessLevelMap) ToAccessLevelMapOutput() AccessLevelMapOutput

func (AccessLevelMap) ToAccessLevelMapOutputWithContext

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

func (AccessLevelMap) ToOutput added in v6.65.1

type AccessLevelMapInput

type AccessLevelMapInput interface {
	pulumi.Input

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

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

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

type AccessLevelMapOutput

type AccessLevelMapOutput struct{ *pulumi.OutputState }

func (AccessLevelMapOutput) ElementType

func (AccessLevelMapOutput) ElementType() reflect.Type

func (AccessLevelMapOutput) MapIndex

func (AccessLevelMapOutput) ToAccessLevelMapOutput

func (o AccessLevelMapOutput) ToAccessLevelMapOutput() AccessLevelMapOutput

func (AccessLevelMapOutput) ToAccessLevelMapOutputWithContext

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

func (AccessLevelMapOutput) ToOutput added in v6.65.1

type AccessLevelOutput

type AccessLevelOutput struct{ *pulumi.OutputState }

func (AccessLevelOutput) Basic added in v6.23.0

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

func (AccessLevelOutput) Custom added in v6.23.0

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 (AccessLevelOutput) Description added in v6.23.0

func (o AccessLevelOutput) Description() pulumi.StringPtrOutput

Description of the AccessLevel and its use. Does not affect behavior.

func (AccessLevelOutput) ElementType

func (AccessLevelOutput) ElementType() reflect.Type

func (AccessLevelOutput) Name added in v6.23.0

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 (AccessLevelOutput) Parent added in v6.23.0

The AccessPolicy this AccessLevel lives in. Format: accessPolicies/{policy_id}

func (AccessLevelOutput) Title added in v6.23.0

Human readable title. Must be unique within the Policy.

func (AccessLevelOutput) ToAccessLevelOutput

func (o AccessLevelOutput) ToAccessLevelOutput() AccessLevelOutput

func (AccessLevelOutput) ToAccessLevelOutputWithContext

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

func (AccessLevelOutput) ToOutput added in v6.65.1

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 AccessLevel and its use. Does not affect behavior.
	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
	// Human readable title. Must be unique within the Policy.
	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/v6/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

## Import

AccessLevels can be imported using any of these accepted formats

```sh

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

```

```sh

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

```

func GetAccessLevels

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

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

func NewAccessLevels

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

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

func (*AccessLevels) ElementType

func (*AccessLevels) ElementType() reflect.Type

func (*AccessLevels) ToAccessLevelsOutput

func (i *AccessLevels) ToAccessLevelsOutput() AccessLevelsOutput

func (*AccessLevels) ToAccessLevelsOutputWithContext

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

func (*AccessLevels) ToOutput added in v6.65.1

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 AccessLevel and its use. Does not affect behavior.
	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"`
	// Human readable title. Must be unique within the Policy.
	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 AccessLevel and its use. Does not affect behavior.
	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"`
	// Human readable title. Must be unique within the Policy.
	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

func (AccessLevelsAccessLevelArgs) ToOutput added in v6.65.1

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

func (AccessLevelsAccessLevelArray) ToOutput added in v6.65.1

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

func (AccessLevelsAccessLevelArrayOutput) ToOutput added in v6.65.1

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`, `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`, `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

func (AccessLevelsAccessLevelBasicArgs) ToOutput added in v6.65.1

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

func (AccessLevelsAccessLevelBasicConditionArgs) ToOutput added in v6.65.1

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

func (AccessLevelsAccessLevelBasicConditionArray) ToOutput added in v6.65.1

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

func (AccessLevelsAccessLevelBasicConditionArrayOutput) ToOutput added in v6.65.1

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`, `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`, `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`, `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`, `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

func (AccessLevelsAccessLevelBasicConditionDevicePolicyArgs) ToOutput added in v6.65.1

type AccessLevelsAccessLevelBasicConditionDevicePolicyInput

type AccessLevelsAccessLevelBasicConditionDevicePolicyInput interface {
	pulumi.Input

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

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

AccessLevelsAccessLevelBasicConditionDevicePolicyArgs{...}

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraint

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

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArgs

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

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArgs) ElementType

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArgs) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArgs) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutputWithContext

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

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArgs) ToOutput added in v6.65.1

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArray

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArray []AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintInput

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArray) ElementType

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArray) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArray) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutputWithContext

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

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArray) ToOutput added in v6.65.1

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

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput) ToOutput added in v6.65.1

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintInput

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintInput interface {
	pulumi.Input

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

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

AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArgs{...}

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput) ElementType

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput) MinimumVersion

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

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput) OsType

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

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutputWithContext

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

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput) ToOutput added in v6.65.1

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`, `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`, `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

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOutput) ToOutput added in v6.65.1

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`, `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`, `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

func (AccessLevelsAccessLevelBasicConditionDevicePolicyPtrOutput) ToOutput added in v6.65.1

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

func (AccessLevelsAccessLevelBasicConditionOutput) ToOutput added in v6.65.1

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`, `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

func (AccessLevelsAccessLevelBasicOutput) ToOutput added in v6.65.1

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`, `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

func (AccessLevelsAccessLevelBasicPtrOutput) ToOutput added in v6.65.1

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

func (AccessLevelsAccessLevelCustomArgs) ToOutput added in v6.65.1

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

func (AccessLevelsAccessLevelCustomExprArgs) ToOutput added in v6.65.1

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

func (AccessLevelsAccessLevelCustomExprOutput) ToOutput added in v6.65.1

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

func (AccessLevelsAccessLevelCustomExprPtrOutput) ToOutput added in v6.65.1

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

func (AccessLevelsAccessLevelCustomOutput) ToOutput added in v6.65.1

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

func (AccessLevelsAccessLevelCustomPtrOutput) ToOutput added in v6.65.1

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 AccessLevel and its use. Does not affect behavior.

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

Human readable title. Must be unique within the Policy.

func (AccessLevelsAccessLevelOutput) ToAccessLevelsAccessLevelOutput

func (o AccessLevelsAccessLevelOutput) ToAccessLevelsAccessLevelOutput() AccessLevelsAccessLevelOutput

func (AccessLevelsAccessLevelOutput) ToAccessLevelsAccessLevelOutputWithContext

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

func (AccessLevelsAccessLevelOutput) ToOutput added in v6.65.1

type AccessLevelsArgs

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

The set of arguments for constructing a AccessLevels resource.

func (AccessLevelsArgs) ElementType

func (AccessLevelsArgs) ElementType() reflect.Type

type AccessLevelsArray

type AccessLevelsArray []AccessLevelsInput

func (AccessLevelsArray) ElementType

func (AccessLevelsArray) ElementType() reflect.Type

func (AccessLevelsArray) ToAccessLevelsArrayOutput

func (i AccessLevelsArray) ToAccessLevelsArrayOutput() AccessLevelsArrayOutput

func (AccessLevelsArray) ToAccessLevelsArrayOutputWithContext

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

func (AccessLevelsArray) ToOutput added in v6.65.1

type AccessLevelsArrayInput

type AccessLevelsArrayInput interface {
	pulumi.Input

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

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

AccessLevelsArray{ AccessLevelsArgs{...} }

type AccessLevelsArrayOutput

type AccessLevelsArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelsArrayOutput) ElementType

func (AccessLevelsArrayOutput) ElementType() reflect.Type

func (AccessLevelsArrayOutput) Index

func (AccessLevelsArrayOutput) ToAccessLevelsArrayOutput

func (o AccessLevelsArrayOutput) ToAccessLevelsArrayOutput() AccessLevelsArrayOutput

func (AccessLevelsArrayOutput) ToAccessLevelsArrayOutputWithContext

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

func (AccessLevelsArrayOutput) ToOutput added in v6.65.1

type AccessLevelsInput

type AccessLevelsInput interface {
	pulumi.Input

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

type AccessLevelsMap

type AccessLevelsMap map[string]AccessLevelsInput

func (AccessLevelsMap) ElementType

func (AccessLevelsMap) ElementType() reflect.Type

func (AccessLevelsMap) ToAccessLevelsMapOutput

func (i AccessLevelsMap) ToAccessLevelsMapOutput() AccessLevelsMapOutput

func (AccessLevelsMap) ToAccessLevelsMapOutputWithContext

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

func (AccessLevelsMap) ToOutput added in v6.65.1

type AccessLevelsMapInput

type AccessLevelsMapInput interface {
	pulumi.Input

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

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

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

type AccessLevelsMapOutput

type AccessLevelsMapOutput struct{ *pulumi.OutputState }

func (AccessLevelsMapOutput) ElementType

func (AccessLevelsMapOutput) ElementType() reflect.Type

func (AccessLevelsMapOutput) MapIndex

func (AccessLevelsMapOutput) ToAccessLevelsMapOutput

func (o AccessLevelsMapOutput) ToAccessLevelsMapOutput() AccessLevelsMapOutput

func (AccessLevelsMapOutput) ToAccessLevelsMapOutputWithContext

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

func (AccessLevelsMapOutput) ToOutput added in v6.65.1

type AccessLevelsOutput

type AccessLevelsOutput struct{ *pulumi.OutputState }

func (AccessLevelsOutput) AccessLevels added in v6.23.0

The desired Access Levels that should replace all existing Access Levels in the Access Policy. Structure is documented below.

func (AccessLevelsOutput) ElementType

func (AccessLevelsOutput) ElementType() reflect.Type

func (AccessLevelsOutput) Parent added in v6.23.0

The AccessPolicy this AccessLevel lives in. Format: accessPolicies/{policy_id}

***

func (AccessLevelsOutput) ToAccessLevelsOutput

func (o AccessLevelsOutput) ToAccessLevelsOutput() AccessLevelsOutput

func (AccessLevelsOutput) ToAccessLevelsOutputWithContext

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

func (AccessLevelsOutput) ToOutput added in v6.65.1

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"`
	// Folder or project on which this policy is applicable.
	// Format: folders/{{folder_id}} or projects/{{project_id}}
	Scopes pulumi.StringPtrOutput `pulumi:"scopes"`
	// 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/v6/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

``` ### Access Context Manager Access Policy Scoped

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		project, err := organizations.NewProject(ctx, "project", &organizations.ProjectArgs{
			OrgId:     pulumi.String("123456789"),
			ProjectId: pulumi.String("acm-test-proj-123"),
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewAccessPolicy(ctx, "access-policy", &accesscontextmanager.AccessPolicyArgs{
			Parent: pulumi.String("organizations/123456789"),
			Scopes: project.Number.ApplyT(func(number string) (string, error) {
				return fmt.Sprintf("projects/%v", number), nil
			}).(pulumi.StringOutput),
			Title: pulumi.String("Scoped Access Policy"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

AccessPolicy can be imported using any of these accepted formats:

```sh

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

```

func GetAccessPolicy

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

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

func NewAccessPolicy

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

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

func (*AccessPolicy) ElementType

func (*AccessPolicy) ElementType() reflect.Type

func (*AccessPolicy) ToAccessPolicyOutput

func (i *AccessPolicy) ToAccessPolicyOutput() AccessPolicyOutput

func (*AccessPolicy) ToAccessPolicyOutputWithContext

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

func (*AccessPolicy) ToOutput added in v6.65.1

type AccessPolicyArgs

type AccessPolicyArgs struct {
	// The parent of this AccessPolicy in the Cloud Resource Hierarchy.
	// Format: organizations/{organization_id}
	Parent pulumi.StringInput
	// Folder or project on which this policy is applicable.
	// Format: folders/{{folder_id}} or projects/{{project_id}}
	Scopes pulumi.StringPtrInput
	// Human readable title. Does not affect behavior.
	//
	// ***
	Title pulumi.StringInput
}

The set of arguments for constructing a AccessPolicy resource.

func (AccessPolicyArgs) ElementType

func (AccessPolicyArgs) ElementType() reflect.Type

type AccessPolicyArray

type AccessPolicyArray []AccessPolicyInput

func (AccessPolicyArray) ElementType

func (AccessPolicyArray) ElementType() reflect.Type

func (AccessPolicyArray) ToAccessPolicyArrayOutput

func (i AccessPolicyArray) ToAccessPolicyArrayOutput() AccessPolicyArrayOutput

func (AccessPolicyArray) ToAccessPolicyArrayOutputWithContext

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

func (AccessPolicyArray) ToOutput added in v6.65.1

type AccessPolicyArrayInput

type AccessPolicyArrayInput interface {
	pulumi.Input

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

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

AccessPolicyArray{ AccessPolicyArgs{...} }

type AccessPolicyArrayOutput

type AccessPolicyArrayOutput struct{ *pulumi.OutputState }

func (AccessPolicyArrayOutput) ElementType

func (AccessPolicyArrayOutput) ElementType() reflect.Type

func (AccessPolicyArrayOutput) Index

func (AccessPolicyArrayOutput) ToAccessPolicyArrayOutput

func (o AccessPolicyArrayOutput) ToAccessPolicyArrayOutput() AccessPolicyArrayOutput

func (AccessPolicyArrayOutput) ToAccessPolicyArrayOutputWithContext

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

func (AccessPolicyArrayOutput) ToOutput added in v6.65.1

type AccessPolicyIamBinding added in v6.19.0

type AccessPolicyIamBinding struct {
	pulumi.CustomResourceState

	Condition AccessPolicyIamBindingConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag    pulumi.StringOutput      `pulumi:"etag"`
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// Used to find the parent resource to bind the IAM policy to
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Name pulumi.StringOutput `pulumi:"name"`
	// The role that should be applied. Only one
	// `accesscontextmanager.AccessPolicyIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage your IAM policy for Access Context Manager (VPC Service Controls) AccessPolicy. Each of these resources serves a different use case:

* `accesscontextmanager.AccessPolicyIamPolicy`: Authoritative. Sets the IAM policy for the accesspolicy and replaces any existing policy already attached. * `accesscontextmanager.AccessPolicyIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the accesspolicy are preserved. * `accesscontextmanager.AccessPolicyIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the accesspolicy are preserved.

A data source can be used to retrieve policy data in advent you do not need creation

* `accesscontextmanager.AccessPolicyIamPolicy`: Retrieves the IAM policy for the accesspolicy

> **Note:** `accesscontextmanager.AccessPolicyIamPolicy` **cannot** be used in conjunction with `accesscontextmanager.AccessPolicyIamBinding` and `accesscontextmanager.AccessPolicyIamMember` or they will fight over what your policy should be.

> **Note:** `accesscontextmanager.AccessPolicyIamBinding` resources **can be** used in conjunction with `accesscontextmanager.AccessPolicyIamMember` resources **only if** they do not grant privilege to the same role.

## google\_access\_context\_manager\_access\_policy\_iam\_policy

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/accesscontextmanager.policyAdmin",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewAccessPolicyIamPolicy(ctx, "policy", &accesscontextmanager.AccessPolicyIamPolicyArgs{
			PolicyData: *pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_access\_context\_manager\_access\_policy\_iam\_binding

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := accesscontextmanager.NewAccessPolicyIamBinding(ctx, "binding", &accesscontextmanager.AccessPolicyIamBindingArgs{
			Role: pulumi.String("roles/accesscontextmanager.policyAdmin"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_access\_context\_manager\_access\_policy\_iam\_member

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := accesscontextmanager.NewAccessPolicyIamMember(ctx, "member", &accesscontextmanager.AccessPolicyIamMemberArgs{
			Role:   pulumi.String("roles/accesscontextmanager.policyAdmin"),
			Member: pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* accessPolicies/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Access Context Manager (VPC Service Controls) accesspolicy IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:accesscontextmanager/accessPolicyIamBinding:AccessPolicyIamBinding editor "accessPolicies/{{access_policy}} roles/accesscontextmanager.policyAdmin user:jane@example.com"

```

IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.

```sh

$ pulumi import gcp:accesscontextmanager/accessPolicyIamBinding:AccessPolicyIamBinding editor "accessPolicies/{{access_policy}} roles/accesscontextmanager.policyAdmin"

```

IAM policy imports use the identifier of the resource in question, e.g.

```sh

$ pulumi import gcp:accesscontextmanager/accessPolicyIamBinding:AccessPolicyIamBinding editor accessPolicies/{{access_policy}}

```

-> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetAccessPolicyIamBinding added in v6.19.0

func GetAccessPolicyIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AccessPolicyIamBindingState, opts ...pulumi.ResourceOption) (*AccessPolicyIamBinding, error)

GetAccessPolicyIamBinding gets an existing AccessPolicyIamBinding 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 NewAccessPolicyIamBinding added in v6.19.0

func NewAccessPolicyIamBinding(ctx *pulumi.Context,
	name string, args *AccessPolicyIamBindingArgs, opts ...pulumi.ResourceOption) (*AccessPolicyIamBinding, error)

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

func (*AccessPolicyIamBinding) ElementType added in v6.19.0

func (*AccessPolicyIamBinding) ElementType() reflect.Type

func (*AccessPolicyIamBinding) ToAccessPolicyIamBindingOutput added in v6.19.0

func (i *AccessPolicyIamBinding) ToAccessPolicyIamBindingOutput() AccessPolicyIamBindingOutput

func (*AccessPolicyIamBinding) ToAccessPolicyIamBindingOutputWithContext added in v6.19.0

func (i *AccessPolicyIamBinding) ToAccessPolicyIamBindingOutputWithContext(ctx context.Context) AccessPolicyIamBindingOutput

func (*AccessPolicyIamBinding) ToOutput added in v6.65.1

type AccessPolicyIamBindingArgs added in v6.19.0

type AccessPolicyIamBindingArgs struct {
	Condition AccessPolicyIamBindingConditionPtrInput
	Members   pulumi.StringArrayInput
	// Used to find the parent resource to bind the IAM policy to
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Name pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `accesscontextmanager.AccessPolicyIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a AccessPolicyIamBinding resource.

func (AccessPolicyIamBindingArgs) ElementType added in v6.19.0

func (AccessPolicyIamBindingArgs) ElementType() reflect.Type

type AccessPolicyIamBindingArray added in v6.19.0

type AccessPolicyIamBindingArray []AccessPolicyIamBindingInput

func (AccessPolicyIamBindingArray) ElementType added in v6.19.0

func (AccessPolicyIamBindingArray) ToAccessPolicyIamBindingArrayOutput added in v6.19.0

func (i AccessPolicyIamBindingArray) ToAccessPolicyIamBindingArrayOutput() AccessPolicyIamBindingArrayOutput

func (AccessPolicyIamBindingArray) ToAccessPolicyIamBindingArrayOutputWithContext added in v6.19.0

func (i AccessPolicyIamBindingArray) ToAccessPolicyIamBindingArrayOutputWithContext(ctx context.Context) AccessPolicyIamBindingArrayOutput

func (AccessPolicyIamBindingArray) ToOutput added in v6.65.1

type AccessPolicyIamBindingArrayInput added in v6.19.0

type AccessPolicyIamBindingArrayInput interface {
	pulumi.Input

	ToAccessPolicyIamBindingArrayOutput() AccessPolicyIamBindingArrayOutput
	ToAccessPolicyIamBindingArrayOutputWithContext(context.Context) AccessPolicyIamBindingArrayOutput
}

AccessPolicyIamBindingArrayInput is an input type that accepts AccessPolicyIamBindingArray and AccessPolicyIamBindingArrayOutput values. You can construct a concrete instance of `AccessPolicyIamBindingArrayInput` via:

AccessPolicyIamBindingArray{ AccessPolicyIamBindingArgs{...} }

type AccessPolicyIamBindingArrayOutput added in v6.19.0

type AccessPolicyIamBindingArrayOutput struct{ *pulumi.OutputState }

func (AccessPolicyIamBindingArrayOutput) ElementType added in v6.19.0

func (AccessPolicyIamBindingArrayOutput) Index added in v6.19.0

func (AccessPolicyIamBindingArrayOutput) ToAccessPolicyIamBindingArrayOutput added in v6.19.0

func (o AccessPolicyIamBindingArrayOutput) ToAccessPolicyIamBindingArrayOutput() AccessPolicyIamBindingArrayOutput

func (AccessPolicyIamBindingArrayOutput) ToAccessPolicyIamBindingArrayOutputWithContext added in v6.19.0

func (o AccessPolicyIamBindingArrayOutput) ToAccessPolicyIamBindingArrayOutputWithContext(ctx context.Context) AccessPolicyIamBindingArrayOutput

func (AccessPolicyIamBindingArrayOutput) ToOutput added in v6.65.1

type AccessPolicyIamBindingCondition added in v6.19.0

type AccessPolicyIamBindingCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type AccessPolicyIamBindingConditionArgs added in v6.19.0

type AccessPolicyIamBindingConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (AccessPolicyIamBindingConditionArgs) ElementType added in v6.19.0

func (AccessPolicyIamBindingConditionArgs) ToAccessPolicyIamBindingConditionOutput added in v6.19.0

func (i AccessPolicyIamBindingConditionArgs) ToAccessPolicyIamBindingConditionOutput() AccessPolicyIamBindingConditionOutput

func (AccessPolicyIamBindingConditionArgs) ToAccessPolicyIamBindingConditionOutputWithContext added in v6.19.0

func (i AccessPolicyIamBindingConditionArgs) ToAccessPolicyIamBindingConditionOutputWithContext(ctx context.Context) AccessPolicyIamBindingConditionOutput

func (AccessPolicyIamBindingConditionArgs) ToAccessPolicyIamBindingConditionPtrOutput added in v6.19.0

func (i AccessPolicyIamBindingConditionArgs) ToAccessPolicyIamBindingConditionPtrOutput() AccessPolicyIamBindingConditionPtrOutput

func (AccessPolicyIamBindingConditionArgs) ToAccessPolicyIamBindingConditionPtrOutputWithContext added in v6.19.0

func (i AccessPolicyIamBindingConditionArgs) ToAccessPolicyIamBindingConditionPtrOutputWithContext(ctx context.Context) AccessPolicyIamBindingConditionPtrOutput

func (AccessPolicyIamBindingConditionArgs) ToOutput added in v6.65.1

type AccessPolicyIamBindingConditionInput added in v6.19.0

type AccessPolicyIamBindingConditionInput interface {
	pulumi.Input

	ToAccessPolicyIamBindingConditionOutput() AccessPolicyIamBindingConditionOutput
	ToAccessPolicyIamBindingConditionOutputWithContext(context.Context) AccessPolicyIamBindingConditionOutput
}

AccessPolicyIamBindingConditionInput is an input type that accepts AccessPolicyIamBindingConditionArgs and AccessPolicyIamBindingConditionOutput values. You can construct a concrete instance of `AccessPolicyIamBindingConditionInput` via:

AccessPolicyIamBindingConditionArgs{...}

type AccessPolicyIamBindingConditionOutput added in v6.19.0

type AccessPolicyIamBindingConditionOutput struct{ *pulumi.OutputState }

func (AccessPolicyIamBindingConditionOutput) Description added in v6.19.0

func (AccessPolicyIamBindingConditionOutput) ElementType added in v6.19.0

func (AccessPolicyIamBindingConditionOutput) Expression added in v6.19.0

func (AccessPolicyIamBindingConditionOutput) Title added in v6.19.0

func (AccessPolicyIamBindingConditionOutput) ToAccessPolicyIamBindingConditionOutput added in v6.19.0

func (o AccessPolicyIamBindingConditionOutput) ToAccessPolicyIamBindingConditionOutput() AccessPolicyIamBindingConditionOutput

func (AccessPolicyIamBindingConditionOutput) ToAccessPolicyIamBindingConditionOutputWithContext added in v6.19.0

func (o AccessPolicyIamBindingConditionOutput) ToAccessPolicyIamBindingConditionOutputWithContext(ctx context.Context) AccessPolicyIamBindingConditionOutput

func (AccessPolicyIamBindingConditionOutput) ToAccessPolicyIamBindingConditionPtrOutput added in v6.19.0

func (o AccessPolicyIamBindingConditionOutput) ToAccessPolicyIamBindingConditionPtrOutput() AccessPolicyIamBindingConditionPtrOutput

func (AccessPolicyIamBindingConditionOutput) ToAccessPolicyIamBindingConditionPtrOutputWithContext added in v6.19.0

func (o AccessPolicyIamBindingConditionOutput) ToAccessPolicyIamBindingConditionPtrOutputWithContext(ctx context.Context) AccessPolicyIamBindingConditionPtrOutput

func (AccessPolicyIamBindingConditionOutput) ToOutput added in v6.65.1

type AccessPolicyIamBindingConditionPtrInput added in v6.19.0

type AccessPolicyIamBindingConditionPtrInput interface {
	pulumi.Input

	ToAccessPolicyIamBindingConditionPtrOutput() AccessPolicyIamBindingConditionPtrOutput
	ToAccessPolicyIamBindingConditionPtrOutputWithContext(context.Context) AccessPolicyIamBindingConditionPtrOutput
}

AccessPolicyIamBindingConditionPtrInput is an input type that accepts AccessPolicyIamBindingConditionArgs, AccessPolicyIamBindingConditionPtr and AccessPolicyIamBindingConditionPtrOutput values. You can construct a concrete instance of `AccessPolicyIamBindingConditionPtrInput` via:

        AccessPolicyIamBindingConditionArgs{...}

or:

        nil

type AccessPolicyIamBindingConditionPtrOutput added in v6.19.0

type AccessPolicyIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (AccessPolicyIamBindingConditionPtrOutput) Description added in v6.19.0

func (AccessPolicyIamBindingConditionPtrOutput) Elem added in v6.19.0

func (AccessPolicyIamBindingConditionPtrOutput) ElementType added in v6.19.0

func (AccessPolicyIamBindingConditionPtrOutput) Expression added in v6.19.0

func (AccessPolicyIamBindingConditionPtrOutput) Title added in v6.19.0

func (AccessPolicyIamBindingConditionPtrOutput) ToAccessPolicyIamBindingConditionPtrOutput added in v6.19.0

func (o AccessPolicyIamBindingConditionPtrOutput) ToAccessPolicyIamBindingConditionPtrOutput() AccessPolicyIamBindingConditionPtrOutput

func (AccessPolicyIamBindingConditionPtrOutput) ToAccessPolicyIamBindingConditionPtrOutputWithContext added in v6.19.0

func (o AccessPolicyIamBindingConditionPtrOutput) ToAccessPolicyIamBindingConditionPtrOutputWithContext(ctx context.Context) AccessPolicyIamBindingConditionPtrOutput

func (AccessPolicyIamBindingConditionPtrOutput) ToOutput added in v6.65.1

type AccessPolicyIamBindingInput added in v6.19.0

type AccessPolicyIamBindingInput interface {
	pulumi.Input

	ToAccessPolicyIamBindingOutput() AccessPolicyIamBindingOutput
	ToAccessPolicyIamBindingOutputWithContext(ctx context.Context) AccessPolicyIamBindingOutput
}

type AccessPolicyIamBindingMap added in v6.19.0

type AccessPolicyIamBindingMap map[string]AccessPolicyIamBindingInput

func (AccessPolicyIamBindingMap) ElementType added in v6.19.0

func (AccessPolicyIamBindingMap) ElementType() reflect.Type

func (AccessPolicyIamBindingMap) ToAccessPolicyIamBindingMapOutput added in v6.19.0

func (i AccessPolicyIamBindingMap) ToAccessPolicyIamBindingMapOutput() AccessPolicyIamBindingMapOutput

func (AccessPolicyIamBindingMap) ToAccessPolicyIamBindingMapOutputWithContext added in v6.19.0

func (i AccessPolicyIamBindingMap) ToAccessPolicyIamBindingMapOutputWithContext(ctx context.Context) AccessPolicyIamBindingMapOutput

func (AccessPolicyIamBindingMap) ToOutput added in v6.65.1

type AccessPolicyIamBindingMapInput added in v6.19.0

type AccessPolicyIamBindingMapInput interface {
	pulumi.Input

	ToAccessPolicyIamBindingMapOutput() AccessPolicyIamBindingMapOutput
	ToAccessPolicyIamBindingMapOutputWithContext(context.Context) AccessPolicyIamBindingMapOutput
}

AccessPolicyIamBindingMapInput is an input type that accepts AccessPolicyIamBindingMap and AccessPolicyIamBindingMapOutput values. You can construct a concrete instance of `AccessPolicyIamBindingMapInput` via:

AccessPolicyIamBindingMap{ "key": AccessPolicyIamBindingArgs{...} }

type AccessPolicyIamBindingMapOutput added in v6.19.0

type AccessPolicyIamBindingMapOutput struct{ *pulumi.OutputState }

func (AccessPolicyIamBindingMapOutput) ElementType added in v6.19.0

func (AccessPolicyIamBindingMapOutput) MapIndex added in v6.19.0

func (AccessPolicyIamBindingMapOutput) ToAccessPolicyIamBindingMapOutput added in v6.19.0

func (o AccessPolicyIamBindingMapOutput) ToAccessPolicyIamBindingMapOutput() AccessPolicyIamBindingMapOutput

func (AccessPolicyIamBindingMapOutput) ToAccessPolicyIamBindingMapOutputWithContext added in v6.19.0

func (o AccessPolicyIamBindingMapOutput) ToAccessPolicyIamBindingMapOutputWithContext(ctx context.Context) AccessPolicyIamBindingMapOutput

func (AccessPolicyIamBindingMapOutput) ToOutput added in v6.65.1

type AccessPolicyIamBindingOutput added in v6.19.0

type AccessPolicyIamBindingOutput struct{ *pulumi.OutputState }

func (AccessPolicyIamBindingOutput) Condition added in v6.23.0

func (AccessPolicyIamBindingOutput) ElementType added in v6.19.0

func (AccessPolicyIamBindingOutput) Etag added in v6.23.0

(Computed) The etag of the IAM policy.

func (AccessPolicyIamBindingOutput) Members added in v6.23.0

func (AccessPolicyIamBindingOutput) Name added in v6.23.0

Used to find the parent resource to bind the IAM policy to

  • `member/members` - (Required) Identities that will be granted the privilege in `role`. Each entry can have one of the following values:
  • **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
  • **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
  • **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
  • **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
  • **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
  • **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
  • **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
  • **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
  • **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"

func (AccessPolicyIamBindingOutput) Role added in v6.23.0

The role that should be applied. Only one `accesscontextmanager.AccessPolicyIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (AccessPolicyIamBindingOutput) ToAccessPolicyIamBindingOutput added in v6.19.0

func (o AccessPolicyIamBindingOutput) ToAccessPolicyIamBindingOutput() AccessPolicyIamBindingOutput

func (AccessPolicyIamBindingOutput) ToAccessPolicyIamBindingOutputWithContext added in v6.19.0

func (o AccessPolicyIamBindingOutput) ToAccessPolicyIamBindingOutputWithContext(ctx context.Context) AccessPolicyIamBindingOutput

func (AccessPolicyIamBindingOutput) ToOutput added in v6.65.1

type AccessPolicyIamBindingState added in v6.19.0

type AccessPolicyIamBindingState struct {
	Condition AccessPolicyIamBindingConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag    pulumi.StringPtrInput
	Members pulumi.StringArrayInput
	// Used to find the parent resource to bind the IAM policy to
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Name pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `accesscontextmanager.AccessPolicyIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (AccessPolicyIamBindingState) ElementType added in v6.19.0

type AccessPolicyIamMember added in v6.19.0

type AccessPolicyIamMember struct {
	pulumi.CustomResourceState

	Condition AccessPolicyIamMemberConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag   pulumi.StringOutput `pulumi:"etag"`
	Member pulumi.StringOutput `pulumi:"member"`
	// Used to find the parent resource to bind the IAM policy to
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Name pulumi.StringOutput `pulumi:"name"`
	// The role that should be applied. Only one
	// `accesscontextmanager.AccessPolicyIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage your IAM policy for Access Context Manager (VPC Service Controls) AccessPolicy. Each of these resources serves a different use case:

* `accesscontextmanager.AccessPolicyIamPolicy`: Authoritative. Sets the IAM policy for the accesspolicy and replaces any existing policy already attached. * `accesscontextmanager.AccessPolicyIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the accesspolicy are preserved. * `accesscontextmanager.AccessPolicyIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the accesspolicy are preserved.

A data source can be used to retrieve policy data in advent you do not need creation

* `accesscontextmanager.AccessPolicyIamPolicy`: Retrieves the IAM policy for the accesspolicy

> **Note:** `accesscontextmanager.AccessPolicyIamPolicy` **cannot** be used in conjunction with `accesscontextmanager.AccessPolicyIamBinding` and `accesscontextmanager.AccessPolicyIamMember` or they will fight over what your policy should be.

> **Note:** `accesscontextmanager.AccessPolicyIamBinding` resources **can be** used in conjunction with `accesscontextmanager.AccessPolicyIamMember` resources **only if** they do not grant privilege to the same role.

## google\_access\_context\_manager\_access\_policy\_iam\_policy

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/accesscontextmanager.policyAdmin",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewAccessPolicyIamPolicy(ctx, "policy", &accesscontextmanager.AccessPolicyIamPolicyArgs{
			PolicyData: *pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_access\_context\_manager\_access\_policy\_iam\_binding

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := accesscontextmanager.NewAccessPolicyIamBinding(ctx, "binding", &accesscontextmanager.AccessPolicyIamBindingArgs{
			Role: pulumi.String("roles/accesscontextmanager.policyAdmin"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_access\_context\_manager\_access\_policy\_iam\_member

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := accesscontextmanager.NewAccessPolicyIamMember(ctx, "member", &accesscontextmanager.AccessPolicyIamMemberArgs{
			Role:   pulumi.String("roles/accesscontextmanager.policyAdmin"),
			Member: pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* accessPolicies/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Access Context Manager (VPC Service Controls) accesspolicy IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:accesscontextmanager/accessPolicyIamMember:AccessPolicyIamMember editor "accessPolicies/{{access_policy}} roles/accesscontextmanager.policyAdmin user:jane@example.com"

```

IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.

```sh

$ pulumi import gcp:accesscontextmanager/accessPolicyIamMember:AccessPolicyIamMember editor "accessPolicies/{{access_policy}} roles/accesscontextmanager.policyAdmin"

```

IAM policy imports use the identifier of the resource in question, e.g.

```sh

$ pulumi import gcp:accesscontextmanager/accessPolicyIamMember:AccessPolicyIamMember editor accessPolicies/{{access_policy}}

```

-> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetAccessPolicyIamMember added in v6.19.0

func GetAccessPolicyIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AccessPolicyIamMemberState, opts ...pulumi.ResourceOption) (*AccessPolicyIamMember, error)

GetAccessPolicyIamMember gets an existing AccessPolicyIamMember 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 NewAccessPolicyIamMember added in v6.19.0

func NewAccessPolicyIamMember(ctx *pulumi.Context,
	name string, args *AccessPolicyIamMemberArgs, opts ...pulumi.ResourceOption) (*AccessPolicyIamMember, error)

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

func (*AccessPolicyIamMember) ElementType added in v6.19.0

func (*AccessPolicyIamMember) ElementType() reflect.Type

func (*AccessPolicyIamMember) ToAccessPolicyIamMemberOutput added in v6.19.0

func (i *AccessPolicyIamMember) ToAccessPolicyIamMemberOutput() AccessPolicyIamMemberOutput

func (*AccessPolicyIamMember) ToAccessPolicyIamMemberOutputWithContext added in v6.19.0

func (i *AccessPolicyIamMember) ToAccessPolicyIamMemberOutputWithContext(ctx context.Context) AccessPolicyIamMemberOutput

func (*AccessPolicyIamMember) ToOutput added in v6.65.1

type AccessPolicyIamMemberArgs added in v6.19.0

type AccessPolicyIamMemberArgs struct {
	Condition AccessPolicyIamMemberConditionPtrInput
	Member    pulumi.StringInput
	// Used to find the parent resource to bind the IAM policy to
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Name pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `accesscontextmanager.AccessPolicyIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a AccessPolicyIamMember resource.

func (AccessPolicyIamMemberArgs) ElementType added in v6.19.0

func (AccessPolicyIamMemberArgs) ElementType() reflect.Type

type AccessPolicyIamMemberArray added in v6.19.0

type AccessPolicyIamMemberArray []AccessPolicyIamMemberInput

func (AccessPolicyIamMemberArray) ElementType added in v6.19.0

func (AccessPolicyIamMemberArray) ElementType() reflect.Type

func (AccessPolicyIamMemberArray) ToAccessPolicyIamMemberArrayOutput added in v6.19.0

func (i AccessPolicyIamMemberArray) ToAccessPolicyIamMemberArrayOutput() AccessPolicyIamMemberArrayOutput

func (AccessPolicyIamMemberArray) ToAccessPolicyIamMemberArrayOutputWithContext added in v6.19.0

func (i AccessPolicyIamMemberArray) ToAccessPolicyIamMemberArrayOutputWithContext(ctx context.Context) AccessPolicyIamMemberArrayOutput

func (AccessPolicyIamMemberArray) ToOutput added in v6.65.1

type AccessPolicyIamMemberArrayInput added in v6.19.0

type AccessPolicyIamMemberArrayInput interface {
	pulumi.Input

	ToAccessPolicyIamMemberArrayOutput() AccessPolicyIamMemberArrayOutput
	ToAccessPolicyIamMemberArrayOutputWithContext(context.Context) AccessPolicyIamMemberArrayOutput
}

AccessPolicyIamMemberArrayInput is an input type that accepts AccessPolicyIamMemberArray and AccessPolicyIamMemberArrayOutput values. You can construct a concrete instance of `AccessPolicyIamMemberArrayInput` via:

AccessPolicyIamMemberArray{ AccessPolicyIamMemberArgs{...} }

type AccessPolicyIamMemberArrayOutput added in v6.19.0

type AccessPolicyIamMemberArrayOutput struct{ *pulumi.OutputState }

func (AccessPolicyIamMemberArrayOutput) ElementType added in v6.19.0

func (AccessPolicyIamMemberArrayOutput) Index added in v6.19.0

func (AccessPolicyIamMemberArrayOutput) ToAccessPolicyIamMemberArrayOutput added in v6.19.0

func (o AccessPolicyIamMemberArrayOutput) ToAccessPolicyIamMemberArrayOutput() AccessPolicyIamMemberArrayOutput

func (AccessPolicyIamMemberArrayOutput) ToAccessPolicyIamMemberArrayOutputWithContext added in v6.19.0

func (o AccessPolicyIamMemberArrayOutput) ToAccessPolicyIamMemberArrayOutputWithContext(ctx context.Context) AccessPolicyIamMemberArrayOutput

func (AccessPolicyIamMemberArrayOutput) ToOutput added in v6.65.1

type AccessPolicyIamMemberCondition added in v6.19.0

type AccessPolicyIamMemberCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type AccessPolicyIamMemberConditionArgs added in v6.19.0

type AccessPolicyIamMemberConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (AccessPolicyIamMemberConditionArgs) ElementType added in v6.19.0

func (AccessPolicyIamMemberConditionArgs) ToAccessPolicyIamMemberConditionOutput added in v6.19.0

func (i AccessPolicyIamMemberConditionArgs) ToAccessPolicyIamMemberConditionOutput() AccessPolicyIamMemberConditionOutput

func (AccessPolicyIamMemberConditionArgs) ToAccessPolicyIamMemberConditionOutputWithContext added in v6.19.0

func (i AccessPolicyIamMemberConditionArgs) ToAccessPolicyIamMemberConditionOutputWithContext(ctx context.Context) AccessPolicyIamMemberConditionOutput

func (AccessPolicyIamMemberConditionArgs) ToAccessPolicyIamMemberConditionPtrOutput added in v6.19.0

func (i AccessPolicyIamMemberConditionArgs) ToAccessPolicyIamMemberConditionPtrOutput() AccessPolicyIamMemberConditionPtrOutput

func (AccessPolicyIamMemberConditionArgs) ToAccessPolicyIamMemberConditionPtrOutputWithContext added in v6.19.0

func (i AccessPolicyIamMemberConditionArgs) ToAccessPolicyIamMemberConditionPtrOutputWithContext(ctx context.Context) AccessPolicyIamMemberConditionPtrOutput

func (AccessPolicyIamMemberConditionArgs) ToOutput added in v6.65.1

type AccessPolicyIamMemberConditionInput added in v6.19.0

type AccessPolicyIamMemberConditionInput interface {
	pulumi.Input

	ToAccessPolicyIamMemberConditionOutput() AccessPolicyIamMemberConditionOutput
	ToAccessPolicyIamMemberConditionOutputWithContext(context.Context) AccessPolicyIamMemberConditionOutput
}

AccessPolicyIamMemberConditionInput is an input type that accepts AccessPolicyIamMemberConditionArgs and AccessPolicyIamMemberConditionOutput values. You can construct a concrete instance of `AccessPolicyIamMemberConditionInput` via:

AccessPolicyIamMemberConditionArgs{...}

type AccessPolicyIamMemberConditionOutput added in v6.19.0

type AccessPolicyIamMemberConditionOutput struct{ *pulumi.OutputState }

func (AccessPolicyIamMemberConditionOutput) Description added in v6.19.0

func (AccessPolicyIamMemberConditionOutput) ElementType added in v6.19.0

func (AccessPolicyIamMemberConditionOutput) Expression added in v6.19.0

func (AccessPolicyIamMemberConditionOutput) Title added in v6.19.0

func (AccessPolicyIamMemberConditionOutput) ToAccessPolicyIamMemberConditionOutput added in v6.19.0

func (o AccessPolicyIamMemberConditionOutput) ToAccessPolicyIamMemberConditionOutput() AccessPolicyIamMemberConditionOutput

func (AccessPolicyIamMemberConditionOutput) ToAccessPolicyIamMemberConditionOutputWithContext added in v6.19.0

func (o AccessPolicyIamMemberConditionOutput) ToAccessPolicyIamMemberConditionOutputWithContext(ctx context.Context) AccessPolicyIamMemberConditionOutput

func (AccessPolicyIamMemberConditionOutput) ToAccessPolicyIamMemberConditionPtrOutput added in v6.19.0

func (o AccessPolicyIamMemberConditionOutput) ToAccessPolicyIamMemberConditionPtrOutput() AccessPolicyIamMemberConditionPtrOutput

func (AccessPolicyIamMemberConditionOutput) ToAccessPolicyIamMemberConditionPtrOutputWithContext added in v6.19.0

func (o AccessPolicyIamMemberConditionOutput) ToAccessPolicyIamMemberConditionPtrOutputWithContext(ctx context.Context) AccessPolicyIamMemberConditionPtrOutput

func (AccessPolicyIamMemberConditionOutput) ToOutput added in v6.65.1

type AccessPolicyIamMemberConditionPtrInput added in v6.19.0

type AccessPolicyIamMemberConditionPtrInput interface {
	pulumi.Input

	ToAccessPolicyIamMemberConditionPtrOutput() AccessPolicyIamMemberConditionPtrOutput
	ToAccessPolicyIamMemberConditionPtrOutputWithContext(context.Context) AccessPolicyIamMemberConditionPtrOutput
}

AccessPolicyIamMemberConditionPtrInput is an input type that accepts AccessPolicyIamMemberConditionArgs, AccessPolicyIamMemberConditionPtr and AccessPolicyIamMemberConditionPtrOutput values. You can construct a concrete instance of `AccessPolicyIamMemberConditionPtrInput` via:

        AccessPolicyIamMemberConditionArgs{...}

or:

        nil

type AccessPolicyIamMemberConditionPtrOutput added in v6.19.0

type AccessPolicyIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (AccessPolicyIamMemberConditionPtrOutput) Description added in v6.19.0

func (AccessPolicyIamMemberConditionPtrOutput) Elem added in v6.19.0

func (AccessPolicyIamMemberConditionPtrOutput) ElementType added in v6.19.0

func (AccessPolicyIamMemberConditionPtrOutput) Expression added in v6.19.0

func (AccessPolicyIamMemberConditionPtrOutput) Title added in v6.19.0

func (AccessPolicyIamMemberConditionPtrOutput) ToAccessPolicyIamMemberConditionPtrOutput added in v6.19.0

func (o AccessPolicyIamMemberConditionPtrOutput) ToAccessPolicyIamMemberConditionPtrOutput() AccessPolicyIamMemberConditionPtrOutput

func (AccessPolicyIamMemberConditionPtrOutput) ToAccessPolicyIamMemberConditionPtrOutputWithContext added in v6.19.0

func (o AccessPolicyIamMemberConditionPtrOutput) ToAccessPolicyIamMemberConditionPtrOutputWithContext(ctx context.Context) AccessPolicyIamMemberConditionPtrOutput

func (AccessPolicyIamMemberConditionPtrOutput) ToOutput added in v6.65.1

type AccessPolicyIamMemberInput added in v6.19.0

type AccessPolicyIamMemberInput interface {
	pulumi.Input

	ToAccessPolicyIamMemberOutput() AccessPolicyIamMemberOutput
	ToAccessPolicyIamMemberOutputWithContext(ctx context.Context) AccessPolicyIamMemberOutput
}

type AccessPolicyIamMemberMap added in v6.19.0

type AccessPolicyIamMemberMap map[string]AccessPolicyIamMemberInput

func (AccessPolicyIamMemberMap) ElementType added in v6.19.0

func (AccessPolicyIamMemberMap) ElementType() reflect.Type

func (AccessPolicyIamMemberMap) ToAccessPolicyIamMemberMapOutput added in v6.19.0

func (i AccessPolicyIamMemberMap) ToAccessPolicyIamMemberMapOutput() AccessPolicyIamMemberMapOutput

func (AccessPolicyIamMemberMap) ToAccessPolicyIamMemberMapOutputWithContext added in v6.19.0

func (i AccessPolicyIamMemberMap) ToAccessPolicyIamMemberMapOutputWithContext(ctx context.Context) AccessPolicyIamMemberMapOutput

func (AccessPolicyIamMemberMap) ToOutput added in v6.65.1

type AccessPolicyIamMemberMapInput added in v6.19.0

type AccessPolicyIamMemberMapInput interface {
	pulumi.Input

	ToAccessPolicyIamMemberMapOutput() AccessPolicyIamMemberMapOutput
	ToAccessPolicyIamMemberMapOutputWithContext(context.Context) AccessPolicyIamMemberMapOutput
}

AccessPolicyIamMemberMapInput is an input type that accepts AccessPolicyIamMemberMap and AccessPolicyIamMemberMapOutput values. You can construct a concrete instance of `AccessPolicyIamMemberMapInput` via:

AccessPolicyIamMemberMap{ "key": AccessPolicyIamMemberArgs{...} }

type AccessPolicyIamMemberMapOutput added in v6.19.0

type AccessPolicyIamMemberMapOutput struct{ *pulumi.OutputState }

func (AccessPolicyIamMemberMapOutput) ElementType added in v6.19.0

func (AccessPolicyIamMemberMapOutput) MapIndex added in v6.19.0

func (AccessPolicyIamMemberMapOutput) ToAccessPolicyIamMemberMapOutput added in v6.19.0

func (o AccessPolicyIamMemberMapOutput) ToAccessPolicyIamMemberMapOutput() AccessPolicyIamMemberMapOutput

func (AccessPolicyIamMemberMapOutput) ToAccessPolicyIamMemberMapOutputWithContext added in v6.19.0

func (o AccessPolicyIamMemberMapOutput) ToAccessPolicyIamMemberMapOutputWithContext(ctx context.Context) AccessPolicyIamMemberMapOutput

func (AccessPolicyIamMemberMapOutput) ToOutput added in v6.65.1

type AccessPolicyIamMemberOutput added in v6.19.0

type AccessPolicyIamMemberOutput struct{ *pulumi.OutputState }

func (AccessPolicyIamMemberOutput) Condition added in v6.23.0

func (AccessPolicyIamMemberOutput) ElementType added in v6.19.0

func (AccessPolicyIamMemberOutput) Etag added in v6.23.0

(Computed) The etag of the IAM policy.

func (AccessPolicyIamMemberOutput) Member added in v6.23.0

func (AccessPolicyIamMemberOutput) Name added in v6.23.0

Used to find the parent resource to bind the IAM policy to

  • `member/members` - (Required) Identities that will be granted the privilege in `role`. Each entry can have one of the following values:
  • **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
  • **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
  • **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
  • **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
  • **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
  • **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
  • **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
  • **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
  • **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"

func (AccessPolicyIamMemberOutput) Role added in v6.23.0

The role that should be applied. Only one `accesscontextmanager.AccessPolicyIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (AccessPolicyIamMemberOutput) ToAccessPolicyIamMemberOutput added in v6.19.0

func (o AccessPolicyIamMemberOutput) ToAccessPolicyIamMemberOutput() AccessPolicyIamMemberOutput

func (AccessPolicyIamMemberOutput) ToAccessPolicyIamMemberOutputWithContext added in v6.19.0

func (o AccessPolicyIamMemberOutput) ToAccessPolicyIamMemberOutputWithContext(ctx context.Context) AccessPolicyIamMemberOutput

func (AccessPolicyIamMemberOutput) ToOutput added in v6.65.1

type AccessPolicyIamMemberState added in v6.19.0

type AccessPolicyIamMemberState struct {
	Condition AccessPolicyIamMemberConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag   pulumi.StringPtrInput
	Member pulumi.StringPtrInput
	// Used to find the parent resource to bind the IAM policy to
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Name pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `accesscontextmanager.AccessPolicyIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (AccessPolicyIamMemberState) ElementType added in v6.19.0

func (AccessPolicyIamMemberState) ElementType() reflect.Type

type AccessPolicyIamPolicy added in v6.19.0

type AccessPolicyIamPolicy struct {
	pulumi.CustomResourceState

	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Used to find the parent resource to bind the IAM policy to
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Name pulumi.StringOutput `pulumi:"name"`
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
}

Three different resources help you manage your IAM policy for Access Context Manager (VPC Service Controls) AccessPolicy. Each of these resources serves a different use case:

* `accesscontextmanager.AccessPolicyIamPolicy`: Authoritative. Sets the IAM policy for the accesspolicy and replaces any existing policy already attached. * `accesscontextmanager.AccessPolicyIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the accesspolicy are preserved. * `accesscontextmanager.AccessPolicyIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the accesspolicy are preserved.

A data source can be used to retrieve policy data in advent you do not need creation

* `accesscontextmanager.AccessPolicyIamPolicy`: Retrieves the IAM policy for the accesspolicy

> **Note:** `accesscontextmanager.AccessPolicyIamPolicy` **cannot** be used in conjunction with `accesscontextmanager.AccessPolicyIamBinding` and `accesscontextmanager.AccessPolicyIamMember` or they will fight over what your policy should be.

> **Note:** `accesscontextmanager.AccessPolicyIamBinding` resources **can be** used in conjunction with `accesscontextmanager.AccessPolicyIamMember` resources **only if** they do not grant privilege to the same role.

## google\_access\_context\_manager\_access\_policy\_iam\_policy

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/accesscontextmanager.policyAdmin",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewAccessPolicyIamPolicy(ctx, "policy", &accesscontextmanager.AccessPolicyIamPolicyArgs{
			PolicyData: *pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_access\_context\_manager\_access\_policy\_iam\_binding

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := accesscontextmanager.NewAccessPolicyIamBinding(ctx, "binding", &accesscontextmanager.AccessPolicyIamBindingArgs{
			Role: pulumi.String("roles/accesscontextmanager.policyAdmin"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_access\_context\_manager\_access\_policy\_iam\_member

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := accesscontextmanager.NewAccessPolicyIamMember(ctx, "member", &accesscontextmanager.AccessPolicyIamMemberArgs{
			Role:   pulumi.String("roles/accesscontextmanager.policyAdmin"),
			Member: pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* accessPolicies/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Access Context Manager (VPC Service Controls) accesspolicy IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:accesscontextmanager/accessPolicyIamPolicy:AccessPolicyIamPolicy editor "accessPolicies/{{access_policy}} roles/accesscontextmanager.policyAdmin user:jane@example.com"

```

IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.

```sh

$ pulumi import gcp:accesscontextmanager/accessPolicyIamPolicy:AccessPolicyIamPolicy editor "accessPolicies/{{access_policy}} roles/accesscontextmanager.policyAdmin"

```

IAM policy imports use the identifier of the resource in question, e.g.

```sh

$ pulumi import gcp:accesscontextmanager/accessPolicyIamPolicy:AccessPolicyIamPolicy editor accessPolicies/{{access_policy}}

```

-> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetAccessPolicyIamPolicy added in v6.19.0

func GetAccessPolicyIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AccessPolicyIamPolicyState, opts ...pulumi.ResourceOption) (*AccessPolicyIamPolicy, error)

GetAccessPolicyIamPolicy gets an existing AccessPolicyIamPolicy 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 NewAccessPolicyIamPolicy added in v6.19.0

func NewAccessPolicyIamPolicy(ctx *pulumi.Context,
	name string, args *AccessPolicyIamPolicyArgs, opts ...pulumi.ResourceOption) (*AccessPolicyIamPolicy, error)

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

func (*AccessPolicyIamPolicy) ElementType added in v6.19.0

func (*AccessPolicyIamPolicy) ElementType() reflect.Type

func (*AccessPolicyIamPolicy) ToAccessPolicyIamPolicyOutput added in v6.19.0

func (i *AccessPolicyIamPolicy) ToAccessPolicyIamPolicyOutput() AccessPolicyIamPolicyOutput

func (*AccessPolicyIamPolicy) ToAccessPolicyIamPolicyOutputWithContext added in v6.19.0

func (i *AccessPolicyIamPolicy) ToAccessPolicyIamPolicyOutputWithContext(ctx context.Context) AccessPolicyIamPolicyOutput

func (*AccessPolicyIamPolicy) ToOutput added in v6.65.1

type AccessPolicyIamPolicyArgs added in v6.19.0

type AccessPolicyIamPolicyArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Name pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
}

The set of arguments for constructing a AccessPolicyIamPolicy resource.

func (AccessPolicyIamPolicyArgs) ElementType added in v6.19.0

func (AccessPolicyIamPolicyArgs) ElementType() reflect.Type

type AccessPolicyIamPolicyArray added in v6.19.0

type AccessPolicyIamPolicyArray []AccessPolicyIamPolicyInput

func (AccessPolicyIamPolicyArray) ElementType added in v6.19.0

func (AccessPolicyIamPolicyArray) ElementType() reflect.Type

func (AccessPolicyIamPolicyArray) ToAccessPolicyIamPolicyArrayOutput added in v6.19.0

func (i AccessPolicyIamPolicyArray) ToAccessPolicyIamPolicyArrayOutput() AccessPolicyIamPolicyArrayOutput

func (AccessPolicyIamPolicyArray) ToAccessPolicyIamPolicyArrayOutputWithContext added in v6.19.0

func (i AccessPolicyIamPolicyArray) ToAccessPolicyIamPolicyArrayOutputWithContext(ctx context.Context) AccessPolicyIamPolicyArrayOutput

func (AccessPolicyIamPolicyArray) ToOutput added in v6.65.1

type AccessPolicyIamPolicyArrayInput added in v6.19.0

type AccessPolicyIamPolicyArrayInput interface {
	pulumi.Input

	ToAccessPolicyIamPolicyArrayOutput() AccessPolicyIamPolicyArrayOutput
	ToAccessPolicyIamPolicyArrayOutputWithContext(context.Context) AccessPolicyIamPolicyArrayOutput
}

AccessPolicyIamPolicyArrayInput is an input type that accepts AccessPolicyIamPolicyArray and AccessPolicyIamPolicyArrayOutput values. You can construct a concrete instance of `AccessPolicyIamPolicyArrayInput` via:

AccessPolicyIamPolicyArray{ AccessPolicyIamPolicyArgs{...} }

type AccessPolicyIamPolicyArrayOutput added in v6.19.0

type AccessPolicyIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (AccessPolicyIamPolicyArrayOutput) ElementType added in v6.19.0

func (AccessPolicyIamPolicyArrayOutput) Index added in v6.19.0

func (AccessPolicyIamPolicyArrayOutput) ToAccessPolicyIamPolicyArrayOutput added in v6.19.0

func (o AccessPolicyIamPolicyArrayOutput) ToAccessPolicyIamPolicyArrayOutput() AccessPolicyIamPolicyArrayOutput

func (AccessPolicyIamPolicyArrayOutput) ToAccessPolicyIamPolicyArrayOutputWithContext added in v6.19.0

func (o AccessPolicyIamPolicyArrayOutput) ToAccessPolicyIamPolicyArrayOutputWithContext(ctx context.Context) AccessPolicyIamPolicyArrayOutput

func (AccessPolicyIamPolicyArrayOutput) ToOutput added in v6.65.1

type AccessPolicyIamPolicyInput added in v6.19.0

type AccessPolicyIamPolicyInput interface {
	pulumi.Input

	ToAccessPolicyIamPolicyOutput() AccessPolicyIamPolicyOutput
	ToAccessPolicyIamPolicyOutputWithContext(ctx context.Context) AccessPolicyIamPolicyOutput
}

type AccessPolicyIamPolicyMap added in v6.19.0

type AccessPolicyIamPolicyMap map[string]AccessPolicyIamPolicyInput

func (AccessPolicyIamPolicyMap) ElementType added in v6.19.0

func (AccessPolicyIamPolicyMap) ElementType() reflect.Type

func (AccessPolicyIamPolicyMap) ToAccessPolicyIamPolicyMapOutput added in v6.19.0

func (i AccessPolicyIamPolicyMap) ToAccessPolicyIamPolicyMapOutput() AccessPolicyIamPolicyMapOutput

func (AccessPolicyIamPolicyMap) ToAccessPolicyIamPolicyMapOutputWithContext added in v6.19.0

func (i AccessPolicyIamPolicyMap) ToAccessPolicyIamPolicyMapOutputWithContext(ctx context.Context) AccessPolicyIamPolicyMapOutput

func (AccessPolicyIamPolicyMap) ToOutput added in v6.65.1

type AccessPolicyIamPolicyMapInput added in v6.19.0

type AccessPolicyIamPolicyMapInput interface {
	pulumi.Input

	ToAccessPolicyIamPolicyMapOutput() AccessPolicyIamPolicyMapOutput
	ToAccessPolicyIamPolicyMapOutputWithContext(context.Context) AccessPolicyIamPolicyMapOutput
}

AccessPolicyIamPolicyMapInput is an input type that accepts AccessPolicyIamPolicyMap and AccessPolicyIamPolicyMapOutput values. You can construct a concrete instance of `AccessPolicyIamPolicyMapInput` via:

AccessPolicyIamPolicyMap{ "key": AccessPolicyIamPolicyArgs{...} }

type AccessPolicyIamPolicyMapOutput added in v6.19.0

type AccessPolicyIamPolicyMapOutput struct{ *pulumi.OutputState }

func (AccessPolicyIamPolicyMapOutput) ElementType added in v6.19.0

func (AccessPolicyIamPolicyMapOutput) MapIndex added in v6.19.0

func (AccessPolicyIamPolicyMapOutput) ToAccessPolicyIamPolicyMapOutput added in v6.19.0

func (o AccessPolicyIamPolicyMapOutput) ToAccessPolicyIamPolicyMapOutput() AccessPolicyIamPolicyMapOutput

func (AccessPolicyIamPolicyMapOutput) ToAccessPolicyIamPolicyMapOutputWithContext added in v6.19.0

func (o AccessPolicyIamPolicyMapOutput) ToAccessPolicyIamPolicyMapOutputWithContext(ctx context.Context) AccessPolicyIamPolicyMapOutput

func (AccessPolicyIamPolicyMapOutput) ToOutput added in v6.65.1

type AccessPolicyIamPolicyOutput added in v6.19.0

type AccessPolicyIamPolicyOutput struct{ *pulumi.OutputState }

func (AccessPolicyIamPolicyOutput) ElementType added in v6.19.0

func (AccessPolicyIamPolicyOutput) Etag added in v6.23.0

(Computed) The etag of the IAM policy.

func (AccessPolicyIamPolicyOutput) Name added in v6.23.0

Used to find the parent resource to bind the IAM policy to

  • `member/members` - (Required) Identities that will be granted the privilege in `role`. Each entry can have one of the following values:
  • **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
  • **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
  • **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
  • **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
  • **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
  • **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
  • **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
  • **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
  • **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"

func (AccessPolicyIamPolicyOutput) PolicyData added in v6.23.0

The policy data generated by a `organizations.getIAMPolicy` data source.

func (AccessPolicyIamPolicyOutput) ToAccessPolicyIamPolicyOutput added in v6.19.0

func (o AccessPolicyIamPolicyOutput) ToAccessPolicyIamPolicyOutput() AccessPolicyIamPolicyOutput

func (AccessPolicyIamPolicyOutput) ToAccessPolicyIamPolicyOutputWithContext added in v6.19.0

func (o AccessPolicyIamPolicyOutput) ToAccessPolicyIamPolicyOutputWithContext(ctx context.Context) AccessPolicyIamPolicyOutput

func (AccessPolicyIamPolicyOutput) ToOutput added in v6.65.1

type AccessPolicyIamPolicyState added in v6.19.0

type AccessPolicyIamPolicyState struct {
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// Used to find the parent resource to bind the IAM policy to
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Name pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
}

func (AccessPolicyIamPolicyState) ElementType added in v6.19.0

func (AccessPolicyIamPolicyState) ElementType() reflect.Type

type AccessPolicyInput

type AccessPolicyInput interface {
	pulumi.Input

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

type AccessPolicyMap

type AccessPolicyMap map[string]AccessPolicyInput

func (AccessPolicyMap) ElementType

func (AccessPolicyMap) ElementType() reflect.Type

func (AccessPolicyMap) ToAccessPolicyMapOutput

func (i AccessPolicyMap) ToAccessPolicyMapOutput() AccessPolicyMapOutput

func (AccessPolicyMap) ToAccessPolicyMapOutputWithContext

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

func (AccessPolicyMap) ToOutput added in v6.65.1

type AccessPolicyMapInput

type AccessPolicyMapInput interface {
	pulumi.Input

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

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

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

type AccessPolicyMapOutput

type AccessPolicyMapOutput struct{ *pulumi.OutputState }

func (AccessPolicyMapOutput) ElementType

func (AccessPolicyMapOutput) ElementType() reflect.Type

func (AccessPolicyMapOutput) MapIndex

func (AccessPolicyMapOutput) ToAccessPolicyMapOutput

func (o AccessPolicyMapOutput) ToAccessPolicyMapOutput() AccessPolicyMapOutput

func (AccessPolicyMapOutput) ToAccessPolicyMapOutputWithContext

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

func (AccessPolicyMapOutput) ToOutput added in v6.65.1

type AccessPolicyOutput

type AccessPolicyOutput struct{ *pulumi.OutputState }

func (AccessPolicyOutput) CreateTime added in v6.23.0

func (o AccessPolicyOutput) CreateTime() pulumi.StringOutput

Time the AccessPolicy was created in UTC.

func (AccessPolicyOutput) ElementType

func (AccessPolicyOutput) ElementType() reflect.Type

func (AccessPolicyOutput) Name added in v6.23.0

Resource name of the AccessPolicy. Format: {policy_id}

func (AccessPolicyOutput) Parent added in v6.23.0

The parent of this AccessPolicy in the Cloud Resource Hierarchy. Format: organizations/{organization_id}

func (AccessPolicyOutput) Scopes added in v6.23.0

Folder or project on which this policy is applicable. Format: folders/{{folder_id}} or projects/{{project_id}}

func (AccessPolicyOutput) Title added in v6.23.0

Human readable title. Does not affect behavior.

***

func (AccessPolicyOutput) ToAccessPolicyOutput

func (o AccessPolicyOutput) ToAccessPolicyOutput() AccessPolicyOutput

func (AccessPolicyOutput) ToAccessPolicyOutputWithContext

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

func (AccessPolicyOutput) ToOutput added in v6.65.1

func (AccessPolicyOutput) UpdateTime added in v6.23.0

func (o AccessPolicyOutput) UpdateTime() pulumi.StringOutput

Time the AccessPolicy was updated in UTC.

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
	// Folder or project on which this policy is applicable.
	// Format: folders/{{folder_id}} or projects/{{project_id}}
	Scopes 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 AuthorizedOrgsDesc added in v6.52.0

type AuthorizedOrgsDesc struct {
	pulumi.CustomResourceState

	// The type of entities that need to use the authorization relationship during
	// evaluation, such as a device. Valid values are "ASSET_TYPE_DEVICE" and
	// "ASSET_TYPE_CREDENTIAL_STRENGTH".
	// Possible values are: `ASSET_TYPE_DEVICE`, `ASSET_TYPE_CREDENTIAL_STRENGTH`.
	AssetType pulumi.StringPtrOutput `pulumi:"assetType"`
	// The direction of the authorization relationship between this organization
	// and the organizations listed in the "orgs" field. The valid values for this
	// field include the following:
	// AUTHORIZATION_DIRECTION_FROM: Allows this organization to evaluate traffic
	// in the organizations listed in the `orgs` field.
	// AUTHORIZATION_DIRECTION_TO: Allows the organizations listed in the `orgs`
	// field to evaluate the traffic in this organization.
	// For the authorization relationship to take effect, all of the organizations
	// must authorize and specify the appropriate relationship direction. For
	// example, if organization A authorized organization B and C to evaluate its
	// traffic, by specifying "AUTHORIZATION_DIRECTION_TO" as the authorization
	// direction, organizations B and C must specify
	// "AUTHORIZATION_DIRECTION_FROM" as the authorization direction in their
	// "AuthorizedOrgsDesc" resource.
	// Possible values are: `AUTHORIZATION_DIRECTION_TO`, `AUTHORIZATION_DIRECTION_FROM`.
	AuthorizationDirection pulumi.StringPtrOutput `pulumi:"authorizationDirection"`
	// A granular control type for authorization levels. Valid value is "AUTHORIZATION_TYPE_TRUST".
	// Possible values are: `AUTHORIZATION_TYPE_TRUST`.
	AuthorizationType pulumi.StringPtrOutput `pulumi:"authorizationType"`
	// Time the AuthorizedOrgsDesc was created in UTC.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Resource name for the `AuthorizedOrgsDesc`. Format:
	// `accessPolicies/{access_policy}/authorizedOrgsDescs/{authorized_orgs_desc}`.
	// The `authorizedOrgsDesc` component must begin with a letter, followed by
	// alphanumeric characters or `_`.
	// After you create an `AuthorizedOrgsDesc`, you cannot change its `name`.
	//
	// ***
	Name pulumi.StringOutput `pulumi:"name"`
	// The list of organization ids in this AuthorizedOrgsDesc.
	// Format: `organizations/<org_number>`
	// Example: `organizations/123456`
	Orgs pulumi.StringArrayOutput `pulumi:"orgs"`
	// Required. Resource name for the access policy which owns this `AuthorizedOrgsDesc`.
	Parent pulumi.StringOutput `pulumi:"parent"`
	// Time the AuthorizedOrgsDesc was updated in UTC.
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
}

An authorized organizations description describes a list of organizations (1) that have been authorized to use certain asset (for example, device) data owned by different organizations at the enforcement points, or (2) with certain asset (for example, device) have been authorized to access the resources in another organization at the enforcement points.

To get more information about AuthorizedOrgsDesc, see:

* [API documentation](https://cloud.google.com/access-context-manager/docs/reference/rest/v1/accessPolicies.authorizedOrgsDescs) * 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 Authorized Orgs Desc Basic

```go package main

import (

"fmt"

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := accesscontextmanager.NewAccessPolicy(ctx, "test-access", &accesscontextmanager.AccessPolicyArgs{
			Parent: pulumi.String("organizations/"),
			Title:  pulumi.String("my policy"),
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewAuthorizedOrgsDesc(ctx, "authorized-orgs-desc", &accesscontextmanager.AuthorizedOrgsDescArgs{
			AssetType:              pulumi.String("ASSET_TYPE_CREDENTIAL_STRENGTH"),
			AuthorizationDirection: pulumi.String("AUTHORIZATION_DIRECTION_TO"),
			AuthorizationType:      pulumi.String("AUTHORIZATION_TYPE_TRUST"),
			Orgs: pulumi.StringArray{
				pulumi.String("organizations/12345"),
				pulumi.String("organizations/98765"),
			},
			Parent: test_access.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("accessPolicies/%v", name), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

AuthorizedOrgsDesc can be imported using any of these accepted formats:

```sh

$ pulumi import gcp:accesscontextmanager/authorizedOrgsDesc:AuthorizedOrgsDesc default {{name}}

```

func GetAuthorizedOrgsDesc added in v6.52.0

func GetAuthorizedOrgsDesc(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AuthorizedOrgsDescState, opts ...pulumi.ResourceOption) (*AuthorizedOrgsDesc, error)

GetAuthorizedOrgsDesc gets an existing AuthorizedOrgsDesc 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 NewAuthorizedOrgsDesc added in v6.52.0

func NewAuthorizedOrgsDesc(ctx *pulumi.Context,
	name string, args *AuthorizedOrgsDescArgs, opts ...pulumi.ResourceOption) (*AuthorizedOrgsDesc, error)

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

func (*AuthorizedOrgsDesc) ElementType added in v6.52.0

func (*AuthorizedOrgsDesc) ElementType() reflect.Type

func (*AuthorizedOrgsDesc) ToAuthorizedOrgsDescOutput added in v6.52.0

func (i *AuthorizedOrgsDesc) ToAuthorizedOrgsDescOutput() AuthorizedOrgsDescOutput

func (*AuthorizedOrgsDesc) ToAuthorizedOrgsDescOutputWithContext added in v6.52.0

func (i *AuthorizedOrgsDesc) ToAuthorizedOrgsDescOutputWithContext(ctx context.Context) AuthorizedOrgsDescOutput

func (*AuthorizedOrgsDesc) ToOutput added in v6.65.1

type AuthorizedOrgsDescArgs added in v6.52.0

type AuthorizedOrgsDescArgs struct {
	// The type of entities that need to use the authorization relationship during
	// evaluation, such as a device. Valid values are "ASSET_TYPE_DEVICE" and
	// "ASSET_TYPE_CREDENTIAL_STRENGTH".
	// Possible values are: `ASSET_TYPE_DEVICE`, `ASSET_TYPE_CREDENTIAL_STRENGTH`.
	AssetType pulumi.StringPtrInput
	// The direction of the authorization relationship between this organization
	// and the organizations listed in the "orgs" field. The valid values for this
	// field include the following:
	// AUTHORIZATION_DIRECTION_FROM: Allows this organization to evaluate traffic
	// in the organizations listed in the `orgs` field.
	// AUTHORIZATION_DIRECTION_TO: Allows the organizations listed in the `orgs`
	// field to evaluate the traffic in this organization.
	// For the authorization relationship to take effect, all of the organizations
	// must authorize and specify the appropriate relationship direction. For
	// example, if organization A authorized organization B and C to evaluate its
	// traffic, by specifying "AUTHORIZATION_DIRECTION_TO" as the authorization
	// direction, organizations B and C must specify
	// "AUTHORIZATION_DIRECTION_FROM" as the authorization direction in their
	// "AuthorizedOrgsDesc" resource.
	// Possible values are: `AUTHORIZATION_DIRECTION_TO`, `AUTHORIZATION_DIRECTION_FROM`.
	AuthorizationDirection pulumi.StringPtrInput
	// A granular control type for authorization levels. Valid value is "AUTHORIZATION_TYPE_TRUST".
	// Possible values are: `AUTHORIZATION_TYPE_TRUST`.
	AuthorizationType pulumi.StringPtrInput
	// Resource name for the `AuthorizedOrgsDesc`. Format:
	// `accessPolicies/{access_policy}/authorizedOrgsDescs/{authorized_orgs_desc}`.
	// The `authorizedOrgsDesc` component must begin with a letter, followed by
	// alphanumeric characters or `_`.
	// After you create an `AuthorizedOrgsDesc`, you cannot change its `name`.
	//
	// ***
	Name pulumi.StringPtrInput
	// The list of organization ids in this AuthorizedOrgsDesc.
	// Format: `organizations/<org_number>`
	// Example: `organizations/123456`
	Orgs pulumi.StringArrayInput
	// Required. Resource name for the access policy which owns this `AuthorizedOrgsDesc`.
	Parent pulumi.StringInput
}

The set of arguments for constructing a AuthorizedOrgsDesc resource.

func (AuthorizedOrgsDescArgs) ElementType added in v6.52.0

func (AuthorizedOrgsDescArgs) ElementType() reflect.Type

type AuthorizedOrgsDescArray added in v6.52.0

type AuthorizedOrgsDescArray []AuthorizedOrgsDescInput

func (AuthorizedOrgsDescArray) ElementType added in v6.52.0

func (AuthorizedOrgsDescArray) ElementType() reflect.Type

func (AuthorizedOrgsDescArray) ToAuthorizedOrgsDescArrayOutput added in v6.52.0

func (i AuthorizedOrgsDescArray) ToAuthorizedOrgsDescArrayOutput() AuthorizedOrgsDescArrayOutput

func (AuthorizedOrgsDescArray) ToAuthorizedOrgsDescArrayOutputWithContext added in v6.52.0

func (i AuthorizedOrgsDescArray) ToAuthorizedOrgsDescArrayOutputWithContext(ctx context.Context) AuthorizedOrgsDescArrayOutput

func (AuthorizedOrgsDescArray) ToOutput added in v6.65.1

type AuthorizedOrgsDescArrayInput added in v6.52.0

type AuthorizedOrgsDescArrayInput interface {
	pulumi.Input

	ToAuthorizedOrgsDescArrayOutput() AuthorizedOrgsDescArrayOutput
	ToAuthorizedOrgsDescArrayOutputWithContext(context.Context) AuthorizedOrgsDescArrayOutput
}

AuthorizedOrgsDescArrayInput is an input type that accepts AuthorizedOrgsDescArray and AuthorizedOrgsDescArrayOutput values. You can construct a concrete instance of `AuthorizedOrgsDescArrayInput` via:

AuthorizedOrgsDescArray{ AuthorizedOrgsDescArgs{...} }

type AuthorizedOrgsDescArrayOutput added in v6.52.0

type AuthorizedOrgsDescArrayOutput struct{ *pulumi.OutputState }

func (AuthorizedOrgsDescArrayOutput) ElementType added in v6.52.0

func (AuthorizedOrgsDescArrayOutput) Index added in v6.52.0

func (AuthorizedOrgsDescArrayOutput) ToAuthorizedOrgsDescArrayOutput added in v6.52.0

func (o AuthorizedOrgsDescArrayOutput) ToAuthorizedOrgsDescArrayOutput() AuthorizedOrgsDescArrayOutput

func (AuthorizedOrgsDescArrayOutput) ToAuthorizedOrgsDescArrayOutputWithContext added in v6.52.0

func (o AuthorizedOrgsDescArrayOutput) ToAuthorizedOrgsDescArrayOutputWithContext(ctx context.Context) AuthorizedOrgsDescArrayOutput

func (AuthorizedOrgsDescArrayOutput) ToOutput added in v6.65.1

type AuthorizedOrgsDescInput added in v6.52.0

type AuthorizedOrgsDescInput interface {
	pulumi.Input

	ToAuthorizedOrgsDescOutput() AuthorizedOrgsDescOutput
	ToAuthorizedOrgsDescOutputWithContext(ctx context.Context) AuthorizedOrgsDescOutput
}

type AuthorizedOrgsDescMap added in v6.52.0

type AuthorizedOrgsDescMap map[string]AuthorizedOrgsDescInput

func (AuthorizedOrgsDescMap) ElementType added in v6.52.0

func (AuthorizedOrgsDescMap) ElementType() reflect.Type

func (AuthorizedOrgsDescMap) ToAuthorizedOrgsDescMapOutput added in v6.52.0

func (i AuthorizedOrgsDescMap) ToAuthorizedOrgsDescMapOutput() AuthorizedOrgsDescMapOutput

func (AuthorizedOrgsDescMap) ToAuthorizedOrgsDescMapOutputWithContext added in v6.52.0

func (i AuthorizedOrgsDescMap) ToAuthorizedOrgsDescMapOutputWithContext(ctx context.Context) AuthorizedOrgsDescMapOutput

func (AuthorizedOrgsDescMap) ToOutput added in v6.65.1

type AuthorizedOrgsDescMapInput added in v6.52.0

type AuthorizedOrgsDescMapInput interface {
	pulumi.Input

	ToAuthorizedOrgsDescMapOutput() AuthorizedOrgsDescMapOutput
	ToAuthorizedOrgsDescMapOutputWithContext(context.Context) AuthorizedOrgsDescMapOutput
}

AuthorizedOrgsDescMapInput is an input type that accepts AuthorizedOrgsDescMap and AuthorizedOrgsDescMapOutput values. You can construct a concrete instance of `AuthorizedOrgsDescMapInput` via:

AuthorizedOrgsDescMap{ "key": AuthorizedOrgsDescArgs{...} }

type AuthorizedOrgsDescMapOutput added in v6.52.0

type AuthorizedOrgsDescMapOutput struct{ *pulumi.OutputState }

func (AuthorizedOrgsDescMapOutput) ElementType added in v6.52.0

func (AuthorizedOrgsDescMapOutput) MapIndex added in v6.52.0

func (AuthorizedOrgsDescMapOutput) ToAuthorizedOrgsDescMapOutput added in v6.52.0

func (o AuthorizedOrgsDescMapOutput) ToAuthorizedOrgsDescMapOutput() AuthorizedOrgsDescMapOutput

func (AuthorizedOrgsDescMapOutput) ToAuthorizedOrgsDescMapOutputWithContext added in v6.52.0

func (o AuthorizedOrgsDescMapOutput) ToAuthorizedOrgsDescMapOutputWithContext(ctx context.Context) AuthorizedOrgsDescMapOutput

func (AuthorizedOrgsDescMapOutput) ToOutput added in v6.65.1

type AuthorizedOrgsDescOutput added in v6.52.0

type AuthorizedOrgsDescOutput struct{ *pulumi.OutputState }

func (AuthorizedOrgsDescOutput) AssetType added in v6.52.0

The type of entities that need to use the authorization relationship during evaluation, such as a device. Valid values are "ASSET_TYPE_DEVICE" and "ASSET_TYPE_CREDENTIAL_STRENGTH". Possible values are: `ASSET_TYPE_DEVICE`, `ASSET_TYPE_CREDENTIAL_STRENGTH`.

func (AuthorizedOrgsDescOutput) AuthorizationDirection added in v6.52.0

func (o AuthorizedOrgsDescOutput) AuthorizationDirection() pulumi.StringPtrOutput

The direction of the authorization relationship between this organization and the organizations listed in the "orgs" field. The valid values for this field include the following: AUTHORIZATION_DIRECTION_FROM: Allows this organization to evaluate traffic in the organizations listed in the `orgs` field. AUTHORIZATION_DIRECTION_TO: Allows the organizations listed in the `orgs` field to evaluate the traffic in this organization. For the authorization relationship to take effect, all of the organizations must authorize and specify the appropriate relationship direction. For example, if organization A authorized organization B and C to evaluate its traffic, by specifying "AUTHORIZATION_DIRECTION_TO" as the authorization direction, organizations B and C must specify "AUTHORIZATION_DIRECTION_FROM" as the authorization direction in their "AuthorizedOrgsDesc" resource. Possible values are: `AUTHORIZATION_DIRECTION_TO`, `AUTHORIZATION_DIRECTION_FROM`.

func (AuthorizedOrgsDescOutput) AuthorizationType added in v6.52.0

func (o AuthorizedOrgsDescOutput) AuthorizationType() pulumi.StringPtrOutput

A granular control type for authorization levels. Valid value is "AUTHORIZATION_TYPE_TRUST". Possible values are: `AUTHORIZATION_TYPE_TRUST`.

func (AuthorizedOrgsDescOutput) CreateTime added in v6.52.0

Time the AuthorizedOrgsDesc was created in UTC.

func (AuthorizedOrgsDescOutput) ElementType added in v6.52.0

func (AuthorizedOrgsDescOutput) ElementType() reflect.Type

func (AuthorizedOrgsDescOutput) Name added in v6.52.0

Resource name for the `AuthorizedOrgsDesc`. Format: `accessPolicies/{access_policy}/authorizedOrgsDescs/{authorized_orgs_desc}`. The `authorizedOrgsDesc` component must begin with a letter, followed by alphanumeric characters or `_`. After you create an `AuthorizedOrgsDesc`, you cannot change its `name`.

***

func (AuthorizedOrgsDescOutput) Orgs added in v6.52.0

The list of organization ids in this AuthorizedOrgsDesc. Format: `organizations/<org_number>` Example: `organizations/123456`

func (AuthorizedOrgsDescOutput) Parent added in v6.52.0

Required. Resource name for the access policy which owns this `AuthorizedOrgsDesc`.

func (AuthorizedOrgsDescOutput) ToAuthorizedOrgsDescOutput added in v6.52.0

func (o AuthorizedOrgsDescOutput) ToAuthorizedOrgsDescOutput() AuthorizedOrgsDescOutput

func (AuthorizedOrgsDescOutput) ToAuthorizedOrgsDescOutputWithContext added in v6.52.0

func (o AuthorizedOrgsDescOutput) ToAuthorizedOrgsDescOutputWithContext(ctx context.Context) AuthorizedOrgsDescOutput

func (AuthorizedOrgsDescOutput) ToOutput added in v6.65.1

func (AuthorizedOrgsDescOutput) UpdateTime added in v6.52.0

Time the AuthorizedOrgsDesc was updated in UTC.

type AuthorizedOrgsDescState added in v6.52.0

type AuthorizedOrgsDescState struct {
	// The type of entities that need to use the authorization relationship during
	// evaluation, such as a device. Valid values are "ASSET_TYPE_DEVICE" and
	// "ASSET_TYPE_CREDENTIAL_STRENGTH".
	// Possible values are: `ASSET_TYPE_DEVICE`, `ASSET_TYPE_CREDENTIAL_STRENGTH`.
	AssetType pulumi.StringPtrInput
	// The direction of the authorization relationship between this organization
	// and the organizations listed in the "orgs" field. The valid values for this
	// field include the following:
	// AUTHORIZATION_DIRECTION_FROM: Allows this organization to evaluate traffic
	// in the organizations listed in the `orgs` field.
	// AUTHORIZATION_DIRECTION_TO: Allows the organizations listed in the `orgs`
	// field to evaluate the traffic in this organization.
	// For the authorization relationship to take effect, all of the organizations
	// must authorize and specify the appropriate relationship direction. For
	// example, if organization A authorized organization B and C to evaluate its
	// traffic, by specifying "AUTHORIZATION_DIRECTION_TO" as the authorization
	// direction, organizations B and C must specify
	// "AUTHORIZATION_DIRECTION_FROM" as the authorization direction in their
	// "AuthorizedOrgsDesc" resource.
	// Possible values are: `AUTHORIZATION_DIRECTION_TO`, `AUTHORIZATION_DIRECTION_FROM`.
	AuthorizationDirection pulumi.StringPtrInput
	// A granular control type for authorization levels. Valid value is "AUTHORIZATION_TYPE_TRUST".
	// Possible values are: `AUTHORIZATION_TYPE_TRUST`.
	AuthorizationType pulumi.StringPtrInput
	// Time the AuthorizedOrgsDesc was created in UTC.
	CreateTime pulumi.StringPtrInput
	// Resource name for the `AuthorizedOrgsDesc`. Format:
	// `accessPolicies/{access_policy}/authorizedOrgsDescs/{authorized_orgs_desc}`.
	// The `authorizedOrgsDesc` component must begin with a letter, followed by
	// alphanumeric characters or `_`.
	// After you create an `AuthorizedOrgsDesc`, you cannot change its `name`.
	//
	// ***
	Name pulumi.StringPtrInput
	// The list of organization ids in this AuthorizedOrgsDesc.
	// Format: `organizations/<org_number>`
	// Example: `organizations/123456`
	Orgs pulumi.StringArrayInput
	// Required. Resource name for the access policy which owns this `AuthorizedOrgsDesc`.
	Parent pulumi.StringPtrInput
	// Time the AuthorizedOrgsDesc was updated in UTC.
	UpdateTime pulumi.StringPtrInput
}

func (AuthorizedOrgsDescState) ElementType added in v6.52.0

func (AuthorizedOrgsDescState) ElementType() reflect.Type

type EgressPolicy added in v6.56.0

type EgressPolicy struct {
	pulumi.CustomResourceState

	// The name of the Service Perimeter to add this resource to.
	//
	// ***
	EgressPolicyName pulumi.StringOutput `pulumi:"egressPolicyName"`
	// A GCP resource that is inside of the service perimeter.
	Resource pulumi.StringOutput `pulumi:"resource"`
}

This resource has been deprecated, please refer to ServicePerimeterEgressPolicy.

To get more information about EgressPolicy, see:

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

## Import

EgressPolicy can be imported using any of these accepted formats:

```sh

$ pulumi import gcp:accesscontextmanager/egressPolicy:EgressPolicy default {{egress_policy_name}}/{{resource}}

```

func GetEgressPolicy added in v6.56.0

func GetEgressPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EgressPolicyState, opts ...pulumi.ResourceOption) (*EgressPolicy, error)

GetEgressPolicy gets an existing EgressPolicy 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 NewEgressPolicy added in v6.56.0

func NewEgressPolicy(ctx *pulumi.Context,
	name string, args *EgressPolicyArgs, opts ...pulumi.ResourceOption) (*EgressPolicy, error)

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

func (*EgressPolicy) ElementType added in v6.56.0

func (*EgressPolicy) ElementType() reflect.Type

func (*EgressPolicy) ToEgressPolicyOutput added in v6.56.0

func (i *EgressPolicy) ToEgressPolicyOutput() EgressPolicyOutput

func (*EgressPolicy) ToEgressPolicyOutputWithContext added in v6.56.0

func (i *EgressPolicy) ToEgressPolicyOutputWithContext(ctx context.Context) EgressPolicyOutput

func (*EgressPolicy) ToOutput added in v6.65.1

type EgressPolicyArgs added in v6.56.0

type EgressPolicyArgs struct {
	// The name of the Service Perimeter to add this resource to.
	//
	// ***
	EgressPolicyName pulumi.StringInput
	// A GCP resource that is inside of the service perimeter.
	Resource pulumi.StringInput
}

The set of arguments for constructing a EgressPolicy resource.

func (EgressPolicyArgs) ElementType added in v6.56.0

func (EgressPolicyArgs) ElementType() reflect.Type

type EgressPolicyArray added in v6.56.0

type EgressPolicyArray []EgressPolicyInput

func (EgressPolicyArray) ElementType added in v6.56.0

func (EgressPolicyArray) ElementType() reflect.Type

func (EgressPolicyArray) ToEgressPolicyArrayOutput added in v6.56.0

func (i EgressPolicyArray) ToEgressPolicyArrayOutput() EgressPolicyArrayOutput

func (EgressPolicyArray) ToEgressPolicyArrayOutputWithContext added in v6.56.0

func (i EgressPolicyArray) ToEgressPolicyArrayOutputWithContext(ctx context.Context) EgressPolicyArrayOutput

func (EgressPolicyArray) ToOutput added in v6.65.1

type EgressPolicyArrayInput added in v6.56.0

type EgressPolicyArrayInput interface {
	pulumi.Input

	ToEgressPolicyArrayOutput() EgressPolicyArrayOutput
	ToEgressPolicyArrayOutputWithContext(context.Context) EgressPolicyArrayOutput
}

EgressPolicyArrayInput is an input type that accepts EgressPolicyArray and EgressPolicyArrayOutput values. You can construct a concrete instance of `EgressPolicyArrayInput` via:

EgressPolicyArray{ EgressPolicyArgs{...} }

type EgressPolicyArrayOutput added in v6.56.0

type EgressPolicyArrayOutput struct{ *pulumi.OutputState }

func (EgressPolicyArrayOutput) ElementType added in v6.56.0

func (EgressPolicyArrayOutput) ElementType() reflect.Type

func (EgressPolicyArrayOutput) Index added in v6.56.0

func (EgressPolicyArrayOutput) ToEgressPolicyArrayOutput added in v6.56.0

func (o EgressPolicyArrayOutput) ToEgressPolicyArrayOutput() EgressPolicyArrayOutput

func (EgressPolicyArrayOutput) ToEgressPolicyArrayOutputWithContext added in v6.56.0

func (o EgressPolicyArrayOutput) ToEgressPolicyArrayOutputWithContext(ctx context.Context) EgressPolicyArrayOutput

func (EgressPolicyArrayOutput) ToOutput added in v6.65.1

type EgressPolicyInput added in v6.56.0

type EgressPolicyInput interface {
	pulumi.Input

	ToEgressPolicyOutput() EgressPolicyOutput
	ToEgressPolicyOutputWithContext(ctx context.Context) EgressPolicyOutput
}

type EgressPolicyMap added in v6.56.0

type EgressPolicyMap map[string]EgressPolicyInput

func (EgressPolicyMap) ElementType added in v6.56.0

func (EgressPolicyMap) ElementType() reflect.Type

func (EgressPolicyMap) ToEgressPolicyMapOutput added in v6.56.0

func (i EgressPolicyMap) ToEgressPolicyMapOutput() EgressPolicyMapOutput

func (EgressPolicyMap) ToEgressPolicyMapOutputWithContext added in v6.56.0

func (i EgressPolicyMap) ToEgressPolicyMapOutputWithContext(ctx context.Context) EgressPolicyMapOutput

func (EgressPolicyMap) ToOutput added in v6.65.1

type EgressPolicyMapInput added in v6.56.0

type EgressPolicyMapInput interface {
	pulumi.Input

	ToEgressPolicyMapOutput() EgressPolicyMapOutput
	ToEgressPolicyMapOutputWithContext(context.Context) EgressPolicyMapOutput
}

EgressPolicyMapInput is an input type that accepts EgressPolicyMap and EgressPolicyMapOutput values. You can construct a concrete instance of `EgressPolicyMapInput` via:

EgressPolicyMap{ "key": EgressPolicyArgs{...} }

type EgressPolicyMapOutput added in v6.56.0

type EgressPolicyMapOutput struct{ *pulumi.OutputState }

func (EgressPolicyMapOutput) ElementType added in v6.56.0

func (EgressPolicyMapOutput) ElementType() reflect.Type

func (EgressPolicyMapOutput) MapIndex added in v6.56.0

func (EgressPolicyMapOutput) ToEgressPolicyMapOutput added in v6.56.0

func (o EgressPolicyMapOutput) ToEgressPolicyMapOutput() EgressPolicyMapOutput

func (EgressPolicyMapOutput) ToEgressPolicyMapOutputWithContext added in v6.56.0

func (o EgressPolicyMapOutput) ToEgressPolicyMapOutputWithContext(ctx context.Context) EgressPolicyMapOutput

func (EgressPolicyMapOutput) ToOutput added in v6.65.1

type EgressPolicyOutput added in v6.56.0

type EgressPolicyOutput struct{ *pulumi.OutputState }

func (EgressPolicyOutput) EgressPolicyName added in v6.56.0

func (o EgressPolicyOutput) EgressPolicyName() pulumi.StringOutput

The name of the Service Perimeter to add this resource to.

***

func (EgressPolicyOutput) ElementType added in v6.56.0

func (EgressPolicyOutput) ElementType() reflect.Type

func (EgressPolicyOutput) Resource added in v6.56.0

func (o EgressPolicyOutput) Resource() pulumi.StringOutput

A GCP resource that is inside of the service perimeter.

func (EgressPolicyOutput) ToEgressPolicyOutput added in v6.56.0

func (o EgressPolicyOutput) ToEgressPolicyOutput() EgressPolicyOutput

func (EgressPolicyOutput) ToEgressPolicyOutputWithContext added in v6.56.0

func (o EgressPolicyOutput) ToEgressPolicyOutputWithContext(ctx context.Context) EgressPolicyOutput

func (EgressPolicyOutput) ToOutput added in v6.65.1

type EgressPolicyState added in v6.56.0

type EgressPolicyState struct {
	// The name of the Service Perimeter to add this resource to.
	//
	// ***
	EgressPolicyName pulumi.StringPtrInput
	// A GCP resource that is inside of the service perimeter.
	Resource pulumi.StringPtrInput
}

func (EgressPolicyState) ElementType added in v6.56.0

func (EgressPolicyState) ElementType() reflect.Type

type GcpUserAccessBinding

type GcpUserAccessBinding struct {
	pulumi.CustomResourceState

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

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

To get more information about GcpUserAccessBinding, see:

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

## Example Usage

## Import

GcpUserAccessBinding can be imported using any of these accepted formats:

```sh

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

```

func GetGcpUserAccessBinding

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

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

func NewGcpUserAccessBinding

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

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

func (*GcpUserAccessBinding) ElementType

func (*GcpUserAccessBinding) ElementType() reflect.Type

func (*GcpUserAccessBinding) ToGcpUserAccessBindingOutput

func (i *GcpUserAccessBinding) ToGcpUserAccessBindingOutput() GcpUserAccessBindingOutput

func (*GcpUserAccessBinding) ToGcpUserAccessBindingOutputWithContext

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

func (*GcpUserAccessBinding) ToOutput added in v6.65.1

type GcpUserAccessBindingArgs

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

The set of arguments for constructing a GcpUserAccessBinding resource.

func (GcpUserAccessBindingArgs) ElementType

func (GcpUserAccessBindingArgs) ElementType() reflect.Type

type GcpUserAccessBindingArray

type GcpUserAccessBindingArray []GcpUserAccessBindingInput

func (GcpUserAccessBindingArray) ElementType

func (GcpUserAccessBindingArray) ElementType() reflect.Type

func (GcpUserAccessBindingArray) ToGcpUserAccessBindingArrayOutput

func (i GcpUserAccessBindingArray) ToGcpUserAccessBindingArrayOutput() GcpUserAccessBindingArrayOutput

func (GcpUserAccessBindingArray) ToGcpUserAccessBindingArrayOutputWithContext

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

func (GcpUserAccessBindingArray) ToOutput added in v6.65.1

type GcpUserAccessBindingArrayInput

type GcpUserAccessBindingArrayInput interface {
	pulumi.Input

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

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

GcpUserAccessBindingArray{ GcpUserAccessBindingArgs{...} }

type GcpUserAccessBindingArrayOutput

type GcpUserAccessBindingArrayOutput struct{ *pulumi.OutputState }

func (GcpUserAccessBindingArrayOutput) ElementType

func (GcpUserAccessBindingArrayOutput) Index

func (GcpUserAccessBindingArrayOutput) ToGcpUserAccessBindingArrayOutput

func (o GcpUserAccessBindingArrayOutput) ToGcpUserAccessBindingArrayOutput() GcpUserAccessBindingArrayOutput

func (GcpUserAccessBindingArrayOutput) ToGcpUserAccessBindingArrayOutputWithContext

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

func (GcpUserAccessBindingArrayOutput) ToOutput added in v6.65.1

type GcpUserAccessBindingInput

type GcpUserAccessBindingInput interface {
	pulumi.Input

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

type GcpUserAccessBindingMap

type GcpUserAccessBindingMap map[string]GcpUserAccessBindingInput

func (GcpUserAccessBindingMap) ElementType

func (GcpUserAccessBindingMap) ElementType() reflect.Type

func (GcpUserAccessBindingMap) ToGcpUserAccessBindingMapOutput

func (i GcpUserAccessBindingMap) ToGcpUserAccessBindingMapOutput() GcpUserAccessBindingMapOutput

func (GcpUserAccessBindingMap) ToGcpUserAccessBindingMapOutputWithContext

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

func (GcpUserAccessBindingMap) ToOutput added in v6.65.1

type GcpUserAccessBindingMapInput

type GcpUserAccessBindingMapInput interface {
	pulumi.Input

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

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

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

type GcpUserAccessBindingMapOutput

type GcpUserAccessBindingMapOutput struct{ *pulumi.OutputState }

func (GcpUserAccessBindingMapOutput) ElementType

func (GcpUserAccessBindingMapOutput) MapIndex

func (GcpUserAccessBindingMapOutput) ToGcpUserAccessBindingMapOutput

func (o GcpUserAccessBindingMapOutput) ToGcpUserAccessBindingMapOutput() GcpUserAccessBindingMapOutput

func (GcpUserAccessBindingMapOutput) ToGcpUserAccessBindingMapOutputWithContext

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

func (GcpUserAccessBindingMapOutput) ToOutput added in v6.65.1

type GcpUserAccessBindingOutput

type GcpUserAccessBindingOutput struct{ *pulumi.OutputState }

func (GcpUserAccessBindingOutput) AccessLevels added in v6.23.0

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"

func (GcpUserAccessBindingOutput) ElementType

func (GcpUserAccessBindingOutput) ElementType() reflect.Type

func (GcpUserAccessBindingOutput) GroupKey added in v6.23.0

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"

func (GcpUserAccessBindingOutput) Name added in v6.23.0

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"

func (GcpUserAccessBindingOutput) OrganizationId added in v6.23.0

func (o GcpUserAccessBindingOutput) OrganizationId() pulumi.StringOutput

Required. ID of the parent organization.

***

func (GcpUserAccessBindingOutput) ToGcpUserAccessBindingOutput

func (o GcpUserAccessBindingOutput) ToGcpUserAccessBindingOutput() GcpUserAccessBindingOutput

func (GcpUserAccessBindingOutput) ToGcpUserAccessBindingOutputWithContext

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

func (GcpUserAccessBindingOutput) ToOutput added in v6.65.1

type GcpUserAccessBindingState

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

func (GcpUserAccessBindingState) ElementType

func (GcpUserAccessBindingState) ElementType() reflect.Type

type IngressPolicy added in v6.55.0

type IngressPolicy struct {
	pulumi.CustomResourceState

	// The name of the Service Perimeter to add this resource to.
	//
	// ***
	IngressPolicyName pulumi.StringOutput `pulumi:"ingressPolicyName"`
	// A GCP resource that is inside of the service perimeter.
	Resource pulumi.StringOutput `pulumi:"resource"`
}

This resource has been deprecated, please refer to ServicePerimeterIngressPolicy.

To get more information about IngressPolicy, see:

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

## Import

IngressPolicy can be imported using any of these accepted formats:

```sh

$ pulumi import gcp:accesscontextmanager/ingressPolicy:IngressPolicy default {{ingress_policy_name}}/{{resource}}

```

func GetIngressPolicy added in v6.55.0

func GetIngressPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *IngressPolicyState, opts ...pulumi.ResourceOption) (*IngressPolicy, error)

GetIngressPolicy gets an existing IngressPolicy 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 NewIngressPolicy added in v6.55.0

func NewIngressPolicy(ctx *pulumi.Context,
	name string, args *IngressPolicyArgs, opts ...pulumi.ResourceOption) (*IngressPolicy, error)

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

func (*IngressPolicy) ElementType added in v6.55.0

func (*IngressPolicy) ElementType() reflect.Type

func (*IngressPolicy) ToIngressPolicyOutput added in v6.55.0

func (i *IngressPolicy) ToIngressPolicyOutput() IngressPolicyOutput

func (*IngressPolicy) ToIngressPolicyOutputWithContext added in v6.55.0

func (i *IngressPolicy) ToIngressPolicyOutputWithContext(ctx context.Context) IngressPolicyOutput

func (*IngressPolicy) ToOutput added in v6.65.1

type IngressPolicyArgs added in v6.55.0

type IngressPolicyArgs struct {
	// The name of the Service Perimeter to add this resource to.
	//
	// ***
	IngressPolicyName pulumi.StringInput
	// A GCP resource that is inside of the service perimeter.
	Resource pulumi.StringInput
}

The set of arguments for constructing a IngressPolicy resource.

func (IngressPolicyArgs) ElementType added in v6.55.0

func (IngressPolicyArgs) ElementType() reflect.Type

type IngressPolicyArray added in v6.55.0

type IngressPolicyArray []IngressPolicyInput

func (IngressPolicyArray) ElementType added in v6.55.0

func (IngressPolicyArray) ElementType() reflect.Type

func (IngressPolicyArray) ToIngressPolicyArrayOutput added in v6.55.0

func (i IngressPolicyArray) ToIngressPolicyArrayOutput() IngressPolicyArrayOutput

func (IngressPolicyArray) ToIngressPolicyArrayOutputWithContext added in v6.55.0

func (i IngressPolicyArray) ToIngressPolicyArrayOutputWithContext(ctx context.Context) IngressPolicyArrayOutput

func (IngressPolicyArray) ToOutput added in v6.65.1

type IngressPolicyArrayInput added in v6.55.0

type IngressPolicyArrayInput interface {
	pulumi.Input

	ToIngressPolicyArrayOutput() IngressPolicyArrayOutput
	ToIngressPolicyArrayOutputWithContext(context.Context) IngressPolicyArrayOutput
}

IngressPolicyArrayInput is an input type that accepts IngressPolicyArray and IngressPolicyArrayOutput values. You can construct a concrete instance of `IngressPolicyArrayInput` via:

IngressPolicyArray{ IngressPolicyArgs{...} }

type IngressPolicyArrayOutput added in v6.55.0

type IngressPolicyArrayOutput struct{ *pulumi.OutputState }

func (IngressPolicyArrayOutput) ElementType added in v6.55.0

func (IngressPolicyArrayOutput) ElementType() reflect.Type

func (IngressPolicyArrayOutput) Index added in v6.55.0

func (IngressPolicyArrayOutput) ToIngressPolicyArrayOutput added in v6.55.0

func (o IngressPolicyArrayOutput) ToIngressPolicyArrayOutput() IngressPolicyArrayOutput

func (IngressPolicyArrayOutput) ToIngressPolicyArrayOutputWithContext added in v6.55.0

func (o IngressPolicyArrayOutput) ToIngressPolicyArrayOutputWithContext(ctx context.Context) IngressPolicyArrayOutput

func (IngressPolicyArrayOutput) ToOutput added in v6.65.1

type IngressPolicyInput added in v6.55.0

type IngressPolicyInput interface {
	pulumi.Input

	ToIngressPolicyOutput() IngressPolicyOutput
	ToIngressPolicyOutputWithContext(ctx context.Context) IngressPolicyOutput
}

type IngressPolicyMap added in v6.55.0

type IngressPolicyMap map[string]IngressPolicyInput

func (IngressPolicyMap) ElementType added in v6.55.0

func (IngressPolicyMap) ElementType() reflect.Type

func (IngressPolicyMap) ToIngressPolicyMapOutput added in v6.55.0

func (i IngressPolicyMap) ToIngressPolicyMapOutput() IngressPolicyMapOutput

func (IngressPolicyMap) ToIngressPolicyMapOutputWithContext added in v6.55.0

func (i IngressPolicyMap) ToIngressPolicyMapOutputWithContext(ctx context.Context) IngressPolicyMapOutput

func (IngressPolicyMap) ToOutput added in v6.65.1

type IngressPolicyMapInput added in v6.55.0

type IngressPolicyMapInput interface {
	pulumi.Input

	ToIngressPolicyMapOutput() IngressPolicyMapOutput
	ToIngressPolicyMapOutputWithContext(context.Context) IngressPolicyMapOutput
}

IngressPolicyMapInput is an input type that accepts IngressPolicyMap and IngressPolicyMapOutput values. You can construct a concrete instance of `IngressPolicyMapInput` via:

IngressPolicyMap{ "key": IngressPolicyArgs{...} }

type IngressPolicyMapOutput added in v6.55.0

type IngressPolicyMapOutput struct{ *pulumi.OutputState }

func (IngressPolicyMapOutput) ElementType added in v6.55.0

func (IngressPolicyMapOutput) ElementType() reflect.Type

func (IngressPolicyMapOutput) MapIndex added in v6.55.0

func (IngressPolicyMapOutput) ToIngressPolicyMapOutput added in v6.55.0

func (o IngressPolicyMapOutput) ToIngressPolicyMapOutput() IngressPolicyMapOutput

func (IngressPolicyMapOutput) ToIngressPolicyMapOutputWithContext added in v6.55.0

func (o IngressPolicyMapOutput) ToIngressPolicyMapOutputWithContext(ctx context.Context) IngressPolicyMapOutput

func (IngressPolicyMapOutput) ToOutput added in v6.65.1

type IngressPolicyOutput added in v6.55.0

type IngressPolicyOutput struct{ *pulumi.OutputState }

func (IngressPolicyOutput) ElementType added in v6.55.0

func (IngressPolicyOutput) ElementType() reflect.Type

func (IngressPolicyOutput) IngressPolicyName added in v6.55.0

func (o IngressPolicyOutput) IngressPolicyName() pulumi.StringOutput

The name of the Service Perimeter to add this resource to.

***

func (IngressPolicyOutput) Resource added in v6.55.0

A GCP resource that is inside of the service perimeter.

func (IngressPolicyOutput) ToIngressPolicyOutput added in v6.55.0

func (o IngressPolicyOutput) ToIngressPolicyOutput() IngressPolicyOutput

func (IngressPolicyOutput) ToIngressPolicyOutputWithContext added in v6.55.0

func (o IngressPolicyOutput) ToIngressPolicyOutputWithContext(ctx context.Context) IngressPolicyOutput

func (IngressPolicyOutput) ToOutput added in v6.65.1

type IngressPolicyState added in v6.55.0

type IngressPolicyState struct {
	// The name of the Service Perimeter to add this resource to.
	//
	// ***
	IngressPolicyName pulumi.StringPtrInput
	// A GCP resource that is inside of the service perimeter.
	Resource pulumi.StringPtrInput
}

func (IngressPolicyState) ElementType added in v6.55.0

func (IngressPolicyState) ElementType() reflect.Type

type LookupAccessPolicyIamPolicyArgs added in v6.59.0

type LookupAccessPolicyIamPolicyArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getAccessPolicyIamPolicy.

type LookupAccessPolicyIamPolicyOutputArgs added in v6.59.0

type LookupAccessPolicyIamPolicyOutputArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	Name pulumi.StringInput `pulumi:"name"`
}

A collection of arguments for invoking getAccessPolicyIamPolicy.

func (LookupAccessPolicyIamPolicyOutputArgs) ElementType added in v6.59.0

type LookupAccessPolicyIamPolicyResult added in v6.59.0

type LookupAccessPolicyIamPolicyResult struct {
	// (Computed) The etag of the IAM policy.
	Etag string `pulumi:"etag"`
	// The provider-assigned unique ID for this managed resource.
	Id   string `pulumi:"id"`
	Name string `pulumi:"name"`
	// (Required only by `accesscontextmanager.AccessPolicyIamPolicy`) The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData string `pulumi:"policyData"`
}

A collection of values returned by getAccessPolicyIamPolicy.

func LookupAccessPolicyIamPolicy added in v6.59.0

func LookupAccessPolicyIamPolicy(ctx *pulumi.Context, args *LookupAccessPolicyIamPolicyArgs, opts ...pulumi.InvokeOption) (*LookupAccessPolicyIamPolicyResult, error)

Retrieves the current IAM policy data for accesspolicy

## example

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := accesscontextmanager.LookupAccessPolicyIamPolicy(ctx, &accesscontextmanager.LookupAccessPolicyIamPolicyArgs{
			Name: google_access_context_manager_access_policy.AccessPolicy.Name,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupAccessPolicyIamPolicyResultOutput added in v6.59.0

type LookupAccessPolicyIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAccessPolicyIamPolicy.

func (LookupAccessPolicyIamPolicyResultOutput) ElementType added in v6.59.0

func (LookupAccessPolicyIamPolicyResultOutput) Etag added in v6.59.0

(Computed) The etag of the IAM policy.

func (LookupAccessPolicyIamPolicyResultOutput) Id added in v6.59.0

The provider-assigned unique ID for this managed resource.

func (LookupAccessPolicyIamPolicyResultOutput) Name added in v6.59.0

func (LookupAccessPolicyIamPolicyResultOutput) PolicyData added in v6.59.0

(Required only by `accesscontextmanager.AccessPolicyIamPolicy`) The policy data generated by a `organizations.getIAMPolicy` data source.

func (LookupAccessPolicyIamPolicyResultOutput) ToLookupAccessPolicyIamPolicyResultOutput added in v6.59.0

func (o LookupAccessPolicyIamPolicyResultOutput) ToLookupAccessPolicyIamPolicyResultOutput() LookupAccessPolicyIamPolicyResultOutput

func (LookupAccessPolicyIamPolicyResultOutput) ToLookupAccessPolicyIamPolicyResultOutputWithContext added in v6.59.0

func (o LookupAccessPolicyIamPolicyResultOutput) ToLookupAccessPolicyIamPolicyResultOutputWithContext(ctx context.Context) LookupAccessPolicyIamPolicyResultOutput

func (LookupAccessPolicyIamPolicyResultOutput) ToOutput added in v6.65.1

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`, `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/v6/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := accesscontextmanager.NewAccessPolicy(ctx, "access-policy", &accesscontextmanager.AccessPolicyArgs{
			Parent: pulumi.String("organizations/123456789"),
			Title:  pulumi.String("my policy"),
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewServicePerimeter(ctx, "service-perimeter", &accesscontextmanager.ServicePerimeterArgs{
			Parent: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("accessPolicies/%v", 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("accessPolicies/%v", 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/v6/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := accesscontextmanager.NewAccessPolicy(ctx, "access-policy", &accesscontextmanager.AccessPolicyArgs{
			Parent: pulumi.String("organizations/123456789"),
			Title:  pulumi.String("my policy"),
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewServicePerimeters(ctx, "secure-data-exchange", &accesscontextmanager.ServicePerimetersArgs{
			Parent: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("accessPolicies/%v", name), nil
			}).(pulumi.StringOutput),
			ServicePerimeters: accesscontextmanager.ServicePerimetersServicePerimeterArray{
				&accesscontextmanager.ServicePerimetersServicePerimeterArgs{
					Name: access_policy.Name.ApplyT(func(name string) (string, error) {
						return fmt.Sprintf("accessPolicies/%v/servicePerimeters/", name), 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("accessPolicies/%v/servicePerimeters/", name), 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("accessPolicies/%v", 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("accessPolicies/%v", google_access_context_manager_access_policy.TestAccess.Name)),
			Title:         pulumi.String("%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.TestAccess.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/v6/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

## Import

ServicePerimeter can be imported using any of these accepted formats:

```sh

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

```

func GetServicePerimeter

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

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

func NewServicePerimeter

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

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

func (*ServicePerimeter) ElementType

func (*ServicePerimeter) ElementType() reflect.Type

func (*ServicePerimeter) ToOutput added in v6.65.1

func (*ServicePerimeter) ToServicePerimeterOutput

func (i *ServicePerimeter) ToServicePerimeterOutput() ServicePerimeterOutput

func (*ServicePerimeter) ToServicePerimeterOutputWithContext

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

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`, `PERIMETER_TYPE_BRIDGE`.
	PerimeterType pulumi.StringPtrInput
	// Proposed (or dry run) ServicePerimeter configuration.
	// This configuration allows to specify and test ServicePerimeter configuration
	// without enforcing actual access restrictions. Only allowed to be set when
	// the `useExplicitDryRunSpec` flag is set.
	// Structure is documented below.
	Spec ServicePerimeterSpecPtrInput
	// ServicePerimeter configuration. Specifies sets of resources,
	// restricted services and access levels that determine
	// perimeter content and boundaries.
	// Structure is documented below.
	Status ServicePerimeterStatusPtrInput
	// Human readable title. Must be unique within the Policy.
	Title pulumi.StringInput
	// Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly exists
	// for all Service Perimeters, and that spec is identical to the status for those
	// Service Perimeters. When this flag is set, it inhibits the generation of the
	// implicit spec, thereby allowing the user to explicitly provide a
	// configuration ("spec") to use in a dry-run version of the Service Perimeter.
	// This allows the user to test changes to the enforced config ("status") without
	// actually enforcing them. This testing is done through analyzing the differences
	// between currently enforced and suggested restrictions. useExplicitDryRunSpec must
	// bet set to True if any of the fields in the spec are set to non-default values.
	UseExplicitDryRunSpec pulumi.BoolPtrInput
}

The set of arguments for constructing a ServicePerimeter resource.

func (ServicePerimeterArgs) ElementType

func (ServicePerimeterArgs) ElementType() reflect.Type

type ServicePerimeterArray

type ServicePerimeterArray []ServicePerimeterInput

func (ServicePerimeterArray) ElementType

func (ServicePerimeterArray) ElementType() reflect.Type

func (ServicePerimeterArray) ToOutput added in v6.65.1

func (ServicePerimeterArray) ToServicePerimeterArrayOutput

func (i ServicePerimeterArray) ToServicePerimeterArrayOutput() ServicePerimeterArrayOutput

func (ServicePerimeterArray) ToServicePerimeterArrayOutputWithContext

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

type ServicePerimeterArrayInput

type ServicePerimeterArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterArray{ ServicePerimeterArgs{...} }

type ServicePerimeterArrayOutput

type ServicePerimeterArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterArrayOutput) ElementType

func (ServicePerimeterArrayOutput) Index

func (ServicePerimeterArrayOutput) ToOutput added in v6.65.1

func (ServicePerimeterArrayOutput) ToServicePerimeterArrayOutput

func (o ServicePerimeterArrayOutput) ToServicePerimeterArrayOutput() ServicePerimeterArrayOutput

func (ServicePerimeterArrayOutput) ToServicePerimeterArrayOutputWithContext

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

type ServicePerimeterEgressPolicy added in v6.59.0

type ServicePerimeterEgressPolicy struct {
	pulumi.CustomResourceState

	// Defines conditions on the source of a request causing this `EgressPolicy` to apply.
	// Structure is documented below.
	EgressFrom ServicePerimeterEgressPolicyEgressFromPtrOutput `pulumi:"egressFrom"`
	// Defines the conditions on the `ApiOperation` and destination resources that
	// cause this `EgressPolicy` to apply.
	// Structure is documented below.
	EgressTo ServicePerimeterEgressPolicyEgressToPtrOutput `pulumi:"egressTo"`
	// The name of the Service Perimeter to add this resource to.
	//
	// ***
	Perimeter pulumi.StringOutput `pulumi:"perimeter"`
}

EgressPolicies match requests based on egressFrom and egressTo stanzas. For an EgressPolicy to match, both egressFrom and egressTo stanzas must be matched. If an EgressPolicy matches a request, the request is allowed to span the ServicePerimeter boundary. For example, an EgressPolicy can be used to allow VMs on networks within the ServicePerimeter to access a defined set of projects outside the perimeter in certain contexts (e.g. to read data from a Cloud Storage bucket or query against a BigQuery dataset).

To get more information about ServicePerimeterEgressPolicy, see:

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

## Import

ServicePerimeterEgressPolicy can be imported using any of these accepted formats:

```sh

$ pulumi import gcp:accesscontextmanager/servicePerimeterEgressPolicy:ServicePerimeterEgressPolicy default {{perimeter}}

```

func GetServicePerimeterEgressPolicy added in v6.59.0

func GetServicePerimeterEgressPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServicePerimeterEgressPolicyState, opts ...pulumi.ResourceOption) (*ServicePerimeterEgressPolicy, error)

GetServicePerimeterEgressPolicy gets an existing ServicePerimeterEgressPolicy 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 NewServicePerimeterEgressPolicy added in v6.59.0

func NewServicePerimeterEgressPolicy(ctx *pulumi.Context,
	name string, args *ServicePerimeterEgressPolicyArgs, opts ...pulumi.ResourceOption) (*ServicePerimeterEgressPolicy, error)

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

func (*ServicePerimeterEgressPolicy) ElementType added in v6.59.0

func (*ServicePerimeterEgressPolicy) ElementType() reflect.Type

func (*ServicePerimeterEgressPolicy) ToOutput added in v6.65.1

func (*ServicePerimeterEgressPolicy) ToServicePerimeterEgressPolicyOutput added in v6.59.0

func (i *ServicePerimeterEgressPolicy) ToServicePerimeterEgressPolicyOutput() ServicePerimeterEgressPolicyOutput

func (*ServicePerimeterEgressPolicy) ToServicePerimeterEgressPolicyOutputWithContext added in v6.59.0

func (i *ServicePerimeterEgressPolicy) ToServicePerimeterEgressPolicyOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyOutput

type ServicePerimeterEgressPolicyArgs added in v6.59.0

type ServicePerimeterEgressPolicyArgs struct {
	// Defines conditions on the source of a request causing this `EgressPolicy` to apply.
	// Structure is documented below.
	EgressFrom ServicePerimeterEgressPolicyEgressFromPtrInput
	// Defines the conditions on the `ApiOperation` and destination resources that
	// cause this `EgressPolicy` to apply.
	// Structure is documented below.
	EgressTo ServicePerimeterEgressPolicyEgressToPtrInput
	// The name of the Service Perimeter to add this resource to.
	//
	// ***
	Perimeter pulumi.StringInput
}

The set of arguments for constructing a ServicePerimeterEgressPolicy resource.

func (ServicePerimeterEgressPolicyArgs) ElementType added in v6.59.0

type ServicePerimeterEgressPolicyArray added in v6.59.0

type ServicePerimeterEgressPolicyArray []ServicePerimeterEgressPolicyInput

func (ServicePerimeterEgressPolicyArray) ElementType added in v6.59.0

func (ServicePerimeterEgressPolicyArray) ToOutput added in v6.65.1

func (ServicePerimeterEgressPolicyArray) ToServicePerimeterEgressPolicyArrayOutput added in v6.59.0

func (i ServicePerimeterEgressPolicyArray) ToServicePerimeterEgressPolicyArrayOutput() ServicePerimeterEgressPolicyArrayOutput

func (ServicePerimeterEgressPolicyArray) ToServicePerimeterEgressPolicyArrayOutputWithContext added in v6.59.0

func (i ServicePerimeterEgressPolicyArray) ToServicePerimeterEgressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyArrayOutput

type ServicePerimeterEgressPolicyArrayInput added in v6.59.0

type ServicePerimeterEgressPolicyArrayInput interface {
	pulumi.Input

	ToServicePerimeterEgressPolicyArrayOutput() ServicePerimeterEgressPolicyArrayOutput
	ToServicePerimeterEgressPolicyArrayOutputWithContext(context.Context) ServicePerimeterEgressPolicyArrayOutput
}

ServicePerimeterEgressPolicyArrayInput is an input type that accepts ServicePerimeterEgressPolicyArray and ServicePerimeterEgressPolicyArrayOutput values. You can construct a concrete instance of `ServicePerimeterEgressPolicyArrayInput` via:

ServicePerimeterEgressPolicyArray{ ServicePerimeterEgressPolicyArgs{...} }

type ServicePerimeterEgressPolicyArrayOutput added in v6.59.0

type ServicePerimeterEgressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterEgressPolicyArrayOutput) ElementType added in v6.59.0

func (ServicePerimeterEgressPolicyArrayOutput) Index added in v6.59.0

func (ServicePerimeterEgressPolicyArrayOutput) ToOutput added in v6.65.1

func (ServicePerimeterEgressPolicyArrayOutput) ToServicePerimeterEgressPolicyArrayOutput added in v6.59.0

func (o ServicePerimeterEgressPolicyArrayOutput) ToServicePerimeterEgressPolicyArrayOutput() ServicePerimeterEgressPolicyArrayOutput

func (ServicePerimeterEgressPolicyArrayOutput) ToServicePerimeterEgressPolicyArrayOutputWithContext added in v6.59.0

func (o ServicePerimeterEgressPolicyArrayOutput) ToServicePerimeterEgressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyArrayOutput

type ServicePerimeterEgressPolicyEgressFrom added in v6.59.0

type ServicePerimeterEgressPolicyEgressFrom 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: `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, `ANY_SERVICE_ACCOUNT`.
	IdentityType *string `pulumi:"identityType"`
}

type ServicePerimeterEgressPolicyEgressFromArgs added in v6.59.0

type ServicePerimeterEgressPolicyEgressFromArgs 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: `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, `ANY_SERVICE_ACCOUNT`.
	IdentityType pulumi.StringPtrInput `pulumi:"identityType"`
}

func (ServicePerimeterEgressPolicyEgressFromArgs) ElementType added in v6.59.0

func (ServicePerimeterEgressPolicyEgressFromArgs) ToOutput added in v6.65.1

func (ServicePerimeterEgressPolicyEgressFromArgs) ToServicePerimeterEgressPolicyEgressFromOutput added in v6.59.0

func (i ServicePerimeterEgressPolicyEgressFromArgs) ToServicePerimeterEgressPolicyEgressFromOutput() ServicePerimeterEgressPolicyEgressFromOutput

func (ServicePerimeterEgressPolicyEgressFromArgs) ToServicePerimeterEgressPolicyEgressFromOutputWithContext added in v6.59.0

func (i ServicePerimeterEgressPolicyEgressFromArgs) ToServicePerimeterEgressPolicyEgressFromOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyEgressFromOutput

func (ServicePerimeterEgressPolicyEgressFromArgs) ToServicePerimeterEgressPolicyEgressFromPtrOutput added in v6.59.0

func (i ServicePerimeterEgressPolicyEgressFromArgs) ToServicePerimeterEgressPolicyEgressFromPtrOutput() ServicePerimeterEgressPolicyEgressFromPtrOutput

func (ServicePerimeterEgressPolicyEgressFromArgs) ToServicePerimeterEgressPolicyEgressFromPtrOutputWithContext added in v6.59.0

func (i ServicePerimeterEgressPolicyEgressFromArgs) ToServicePerimeterEgressPolicyEgressFromPtrOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyEgressFromPtrOutput

type ServicePerimeterEgressPolicyEgressFromInput added in v6.59.0

type ServicePerimeterEgressPolicyEgressFromInput interface {
	pulumi.Input

	ToServicePerimeterEgressPolicyEgressFromOutput() ServicePerimeterEgressPolicyEgressFromOutput
	ToServicePerimeterEgressPolicyEgressFromOutputWithContext(context.Context) ServicePerimeterEgressPolicyEgressFromOutput
}

ServicePerimeterEgressPolicyEgressFromInput is an input type that accepts ServicePerimeterEgressPolicyEgressFromArgs and ServicePerimeterEgressPolicyEgressFromOutput values. You can construct a concrete instance of `ServicePerimeterEgressPolicyEgressFromInput` via:

ServicePerimeterEgressPolicyEgressFromArgs{...}

type ServicePerimeterEgressPolicyEgressFromOutput added in v6.59.0

type ServicePerimeterEgressPolicyEgressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimeterEgressPolicyEgressFromOutput) ElementType added in v6.59.0

func (ServicePerimeterEgressPolicyEgressFromOutput) Identities added in v6.59.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 (ServicePerimeterEgressPolicyEgressFromOutput) IdentityType added in v6.59.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: `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, `ANY_SERVICE_ACCOUNT`.

func (ServicePerimeterEgressPolicyEgressFromOutput) ToOutput added in v6.65.1

func (ServicePerimeterEgressPolicyEgressFromOutput) ToServicePerimeterEgressPolicyEgressFromOutput added in v6.59.0

func (o ServicePerimeterEgressPolicyEgressFromOutput) ToServicePerimeterEgressPolicyEgressFromOutput() ServicePerimeterEgressPolicyEgressFromOutput

func (ServicePerimeterEgressPolicyEgressFromOutput) ToServicePerimeterEgressPolicyEgressFromOutputWithContext added in v6.59.0

func (o ServicePerimeterEgressPolicyEgressFromOutput) ToServicePerimeterEgressPolicyEgressFromOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyEgressFromOutput

func (ServicePerimeterEgressPolicyEgressFromOutput) ToServicePerimeterEgressPolicyEgressFromPtrOutput added in v6.59.0

func (o ServicePerimeterEgressPolicyEgressFromOutput) ToServicePerimeterEgressPolicyEgressFromPtrOutput() ServicePerimeterEgressPolicyEgressFromPtrOutput

func (ServicePerimeterEgressPolicyEgressFromOutput) ToServicePerimeterEgressPolicyEgressFromPtrOutputWithContext added in v6.59.0

func (o ServicePerimeterEgressPolicyEgressFromOutput) ToServicePerimeterEgressPolicyEgressFromPtrOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyEgressFromPtrOutput

type ServicePerimeterEgressPolicyEgressFromPtrInput added in v6.59.0

type ServicePerimeterEgressPolicyEgressFromPtrInput interface {
	pulumi.Input

	ToServicePerimeterEgressPolicyEgressFromPtrOutput() ServicePerimeterEgressPolicyEgressFromPtrOutput
	ToServicePerimeterEgressPolicyEgressFromPtrOutputWithContext(context.Context) ServicePerimeterEgressPolicyEgressFromPtrOutput
}

ServicePerimeterEgressPolicyEgressFromPtrInput is an input type that accepts ServicePerimeterEgressPolicyEgressFromArgs, ServicePerimeterEgressPolicyEgressFromPtr and ServicePerimeterEgressPolicyEgressFromPtrOutput values. You can construct a concrete instance of `ServicePerimeterEgressPolicyEgressFromPtrInput` via:

        ServicePerimeterEgressPolicyEgressFromArgs{...}

or:

        nil

type ServicePerimeterEgressPolicyEgressFromPtrOutput added in v6.59.0

type ServicePerimeterEgressPolicyEgressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterEgressPolicyEgressFromPtrOutput) Elem added in v6.59.0

func (ServicePerimeterEgressPolicyEgressFromPtrOutput) ElementType added in v6.59.0

func (ServicePerimeterEgressPolicyEgressFromPtrOutput) Identities added in v6.59.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 (ServicePerimeterEgressPolicyEgressFromPtrOutput) IdentityType added in v6.59.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: `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, `ANY_SERVICE_ACCOUNT`.

func (ServicePerimeterEgressPolicyEgressFromPtrOutput) ToOutput added in v6.65.1

func (ServicePerimeterEgressPolicyEgressFromPtrOutput) ToServicePerimeterEgressPolicyEgressFromPtrOutput added in v6.59.0

func (o ServicePerimeterEgressPolicyEgressFromPtrOutput) ToServicePerimeterEgressPolicyEgressFromPtrOutput() ServicePerimeterEgressPolicyEgressFromPtrOutput

func (ServicePerimeterEgressPolicyEgressFromPtrOutput) ToServicePerimeterEgressPolicyEgressFromPtrOutputWithContext added in v6.59.0

func (o ServicePerimeterEgressPolicyEgressFromPtrOutput) ToServicePerimeterEgressPolicyEgressFromPtrOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyEgressFromPtrOutput

type ServicePerimeterEgressPolicyEgressTo added in v6.59.0

type ServicePerimeterEgressPolicyEgressTo struct {
	// A list of external resources that are allowed to be accessed. A request
	// matches if it contains an external resource in this list (Example:
	// s3://bucket/path). Currently '*' is not allowed.
	ExternalResources []string `pulumi:"externalResources"`
	// 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 []ServicePerimeterEgressPolicyEgressToOperation `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 ServicePerimeterEgressPolicyEgressToArgs added in v6.59.0

type ServicePerimeterEgressPolicyEgressToArgs struct {
	// A list of external resources that are allowed to be accessed. A request
	// matches if it contains an external resource in this list (Example:
	// s3://bucket/path). Currently '*' is not allowed.
	ExternalResources pulumi.StringArrayInput `pulumi:"externalResources"`
	// 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 ServicePerimeterEgressPolicyEgressToOperationArrayInput `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 (ServicePerimeterEgressPolicyEgressToArgs) ElementType added in v6.59.0

func (ServicePerimeterEgressPolicyEgressToArgs) ToOutput added in v6.65.1

func (ServicePerimeterEgressPolicyEgressToArgs) ToServicePerimeterEgressPolicyEgressToOutput added in v6.59.0

func (i ServicePerimeterEgressPolicyEgressToArgs) ToServicePerimeterEgressPolicyEgressToOutput() ServicePerimeterEgressPolicyEgressToOutput

func (ServicePerimeterEgressPolicyEgressToArgs) ToServicePerimeterEgressPolicyEgressToOutputWithContext added in v6.59.0

func (i ServicePerimeterEgressPolicyEgressToArgs) ToServicePerimeterEgressPolicyEgressToOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyEgressToOutput

func (ServicePerimeterEgressPolicyEgressToArgs) ToServicePerimeterEgressPolicyEgressToPtrOutput added in v6.59.0

func (i ServicePerimeterEgressPolicyEgressToArgs) ToServicePerimeterEgressPolicyEgressToPtrOutput() ServicePerimeterEgressPolicyEgressToPtrOutput

func (ServicePerimeterEgressPolicyEgressToArgs) ToServicePerimeterEgressPolicyEgressToPtrOutputWithContext added in v6.59.0

func (i ServicePerimeterEgressPolicyEgressToArgs) ToServicePerimeterEgressPolicyEgressToPtrOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyEgressToPtrOutput

type ServicePerimeterEgressPolicyEgressToInput added in v6.59.0

type ServicePerimeterEgressPolicyEgressToInput interface {
	pulumi.Input

	ToServicePerimeterEgressPolicyEgressToOutput() ServicePerimeterEgressPolicyEgressToOutput
	ToServicePerimeterEgressPolicyEgressToOutputWithContext(context.Context) ServicePerimeterEgressPolicyEgressToOutput
}

ServicePerimeterEgressPolicyEgressToInput is an input type that accepts ServicePerimeterEgressPolicyEgressToArgs and ServicePerimeterEgressPolicyEgressToOutput values. You can construct a concrete instance of `ServicePerimeterEgressPolicyEgressToInput` via:

ServicePerimeterEgressPolicyEgressToArgs{...}

type ServicePerimeterEgressPolicyEgressToOperation added in v6.59.0

type ServicePerimeterEgressPolicyEgressToOperation 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 []ServicePerimeterEgressPolicyEgressToOperationMethodSelector `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 ServicePerimeterEgressPolicyEgressToOperationArgs added in v6.59.0

type ServicePerimeterEgressPolicyEgressToOperationArgs 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 ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayInput `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 (ServicePerimeterEgressPolicyEgressToOperationArgs) ElementType added in v6.59.0

func (ServicePerimeterEgressPolicyEgressToOperationArgs) ToOutput added in v6.65.1

func (ServicePerimeterEgressPolicyEgressToOperationArgs) ToServicePerimeterEgressPolicyEgressToOperationOutput added in v6.59.0

func (i ServicePerimeterEgressPolicyEgressToOperationArgs) ToServicePerimeterEgressPolicyEgressToOperationOutput() ServicePerimeterEgressPolicyEgressToOperationOutput

func (ServicePerimeterEgressPolicyEgressToOperationArgs) ToServicePerimeterEgressPolicyEgressToOperationOutputWithContext added in v6.59.0

func (i ServicePerimeterEgressPolicyEgressToOperationArgs) ToServicePerimeterEgressPolicyEgressToOperationOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyEgressToOperationOutput

type ServicePerimeterEgressPolicyEgressToOperationArray added in v6.59.0

type ServicePerimeterEgressPolicyEgressToOperationArray []ServicePerimeterEgressPolicyEgressToOperationInput

func (ServicePerimeterEgressPolicyEgressToOperationArray) ElementType added in v6.59.0

func (ServicePerimeterEgressPolicyEgressToOperationArray) ToOutput added in v6.65.1

func (ServicePerimeterEgressPolicyEgressToOperationArray) ToServicePerimeterEgressPolicyEgressToOperationArrayOutput added in v6.59.0

func (i ServicePerimeterEgressPolicyEgressToOperationArray) ToServicePerimeterEgressPolicyEgressToOperationArrayOutput() ServicePerimeterEgressPolicyEgressToOperationArrayOutput

func (ServicePerimeterEgressPolicyEgressToOperationArray) ToServicePerimeterEgressPolicyEgressToOperationArrayOutputWithContext added in v6.59.0

func (i ServicePerimeterEgressPolicyEgressToOperationArray) ToServicePerimeterEgressPolicyEgressToOperationArrayOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyEgressToOperationArrayOutput

type ServicePerimeterEgressPolicyEgressToOperationArrayInput added in v6.59.0

type ServicePerimeterEgressPolicyEgressToOperationArrayInput interface {
	pulumi.Input

	ToServicePerimeterEgressPolicyEgressToOperationArrayOutput() ServicePerimeterEgressPolicyEgressToOperationArrayOutput
	ToServicePerimeterEgressPolicyEgressToOperationArrayOutputWithContext(context.Context) ServicePerimeterEgressPolicyEgressToOperationArrayOutput
}

ServicePerimeterEgressPolicyEgressToOperationArrayInput is an input type that accepts ServicePerimeterEgressPolicyEgressToOperationArray and ServicePerimeterEgressPolicyEgressToOperationArrayOutput values. You can construct a concrete instance of `ServicePerimeterEgressPolicyEgressToOperationArrayInput` via:

ServicePerimeterEgressPolicyEgressToOperationArray{ ServicePerimeterEgressPolicyEgressToOperationArgs{...} }

type ServicePerimeterEgressPolicyEgressToOperationArrayOutput added in v6.59.0

type ServicePerimeterEgressPolicyEgressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterEgressPolicyEgressToOperationArrayOutput) ElementType added in v6.59.0

func (ServicePerimeterEgressPolicyEgressToOperationArrayOutput) Index added in v6.59.0

func (ServicePerimeterEgressPolicyEgressToOperationArrayOutput) ToOutput added in v6.65.1

func (ServicePerimeterEgressPolicyEgressToOperationArrayOutput) ToServicePerimeterEgressPolicyEgressToOperationArrayOutput added in v6.59.0

func (ServicePerimeterEgressPolicyEgressToOperationArrayOutput) ToServicePerimeterEgressPolicyEgressToOperationArrayOutputWithContext added in v6.59.0

func (o ServicePerimeterEgressPolicyEgressToOperationArrayOutput) ToServicePerimeterEgressPolicyEgressToOperationArrayOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyEgressToOperationArrayOutput

type ServicePerimeterEgressPolicyEgressToOperationInput added in v6.59.0

type ServicePerimeterEgressPolicyEgressToOperationInput interface {
	pulumi.Input

	ToServicePerimeterEgressPolicyEgressToOperationOutput() ServicePerimeterEgressPolicyEgressToOperationOutput
	ToServicePerimeterEgressPolicyEgressToOperationOutputWithContext(context.Context) ServicePerimeterEgressPolicyEgressToOperationOutput
}

ServicePerimeterEgressPolicyEgressToOperationInput is an input type that accepts ServicePerimeterEgressPolicyEgressToOperationArgs and ServicePerimeterEgressPolicyEgressToOperationOutput values. You can construct a concrete instance of `ServicePerimeterEgressPolicyEgressToOperationInput` via:

ServicePerimeterEgressPolicyEgressToOperationArgs{...}

type ServicePerimeterEgressPolicyEgressToOperationMethodSelector added in v6.59.0

type ServicePerimeterEgressPolicyEgressToOperationMethodSelector 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 ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArgs added in v6.59.0

type ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArgs 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 (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArgs) ElementType added in v6.59.0

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArgs) ToOutput added in v6.65.1

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutput added in v6.59.0

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutputWithContext added in v6.59.0

func (i ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutput

type ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArray added in v6.59.0

type ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArray []ServicePerimeterEgressPolicyEgressToOperationMethodSelectorInput

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArray) ElementType added in v6.59.0

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArray) ToOutput added in v6.65.1

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutput added in v6.59.0

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext added in v6.59.0

func (i ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutput

type ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayInput added in v6.59.0

type ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayInput interface {
	pulumi.Input

	ToServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutput() ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutput
	ToServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext(context.Context) ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutput
}

ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayInput is an input type that accepts ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArray and ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutput values. You can construct a concrete instance of `ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayInput` via:

ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArray{ ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArgs{...} }

type ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutput added in v6.59.0

type ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutput) ElementType added in v6.59.0

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutput) Index added in v6.59.0

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToOutput added in v6.65.1

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutput added in v6.59.0

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext added in v6.59.0

func (o ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutput

type ServicePerimeterEgressPolicyEgressToOperationMethodSelectorInput added in v6.59.0

type ServicePerimeterEgressPolicyEgressToOperationMethodSelectorInput interface {
	pulumi.Input

	ToServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutput() ServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutput
	ToServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutputWithContext(context.Context) ServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutput
}

ServicePerimeterEgressPolicyEgressToOperationMethodSelectorInput is an input type that accepts ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArgs and ServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutput values. You can construct a concrete instance of `ServicePerimeterEgressPolicyEgressToOperationMethodSelectorInput` via:

ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArgs{...}

type ServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutput added in v6.59.0

type ServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutput) ElementType added in v6.59.0

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutput) Method added in v6.59.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 (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutput) Permission added in v6.59.0

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

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutput) ToOutput added in v6.65.1

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutput added in v6.59.0

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutputWithContext added in v6.59.0

func (o ServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutput

type ServicePerimeterEgressPolicyEgressToOperationOutput added in v6.59.0

type ServicePerimeterEgressPolicyEgressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimeterEgressPolicyEgressToOperationOutput) ElementType added in v6.59.0

func (ServicePerimeterEgressPolicyEgressToOperationOutput) MethodSelectors added in v6.59.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 (ServicePerimeterEgressPolicyEgressToOperationOutput) ServiceName added in v6.59.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 (ServicePerimeterEgressPolicyEgressToOperationOutput) ToOutput added in v6.65.1

func (ServicePerimeterEgressPolicyEgressToOperationOutput) ToServicePerimeterEgressPolicyEgressToOperationOutput added in v6.59.0

func (o ServicePerimeterEgressPolicyEgressToOperationOutput) ToServicePerimeterEgressPolicyEgressToOperationOutput() ServicePerimeterEgressPolicyEgressToOperationOutput

func (ServicePerimeterEgressPolicyEgressToOperationOutput) ToServicePerimeterEgressPolicyEgressToOperationOutputWithContext added in v6.59.0

func (o ServicePerimeterEgressPolicyEgressToOperationOutput) ToServicePerimeterEgressPolicyEgressToOperationOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyEgressToOperationOutput

type ServicePerimeterEgressPolicyEgressToOutput added in v6.59.0

type ServicePerimeterEgressPolicyEgressToOutput struct{ *pulumi.OutputState }

func (ServicePerimeterEgressPolicyEgressToOutput) ElementType added in v6.59.0

func (ServicePerimeterEgressPolicyEgressToOutput) ExternalResources added in v6.59.0

A list of external resources that are allowed to be accessed. A request matches if it contains an external resource in this list (Example: s3://bucket/path). Currently '*' is not allowed.

func (ServicePerimeterEgressPolicyEgressToOutput) Operations added in v6.59.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 (ServicePerimeterEgressPolicyEgressToOutput) Resources added in v6.59.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 (ServicePerimeterEgressPolicyEgressToOutput) ToOutput added in v6.65.1

func (ServicePerimeterEgressPolicyEgressToOutput) ToServicePerimeterEgressPolicyEgressToOutput added in v6.59.0

func (o ServicePerimeterEgressPolicyEgressToOutput) ToServicePerimeterEgressPolicyEgressToOutput() ServicePerimeterEgressPolicyEgressToOutput

func (ServicePerimeterEgressPolicyEgressToOutput) ToServicePerimeterEgressPolicyEgressToOutputWithContext added in v6.59.0

func (o ServicePerimeterEgressPolicyEgressToOutput) ToServicePerimeterEgressPolicyEgressToOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyEgressToOutput

func (ServicePerimeterEgressPolicyEgressToOutput) ToServicePerimeterEgressPolicyEgressToPtrOutput added in v6.59.0

func (o ServicePerimeterEgressPolicyEgressToOutput) ToServicePerimeterEgressPolicyEgressToPtrOutput() ServicePerimeterEgressPolicyEgressToPtrOutput

func (ServicePerimeterEgressPolicyEgressToOutput) ToServicePerimeterEgressPolicyEgressToPtrOutputWithContext added in v6.59.0

func (o ServicePerimeterEgressPolicyEgressToOutput) ToServicePerimeterEgressPolicyEgressToPtrOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyEgressToPtrOutput

type ServicePerimeterEgressPolicyEgressToPtrInput added in v6.59.0

type ServicePerimeterEgressPolicyEgressToPtrInput interface {
	pulumi.Input

	ToServicePerimeterEgressPolicyEgressToPtrOutput() ServicePerimeterEgressPolicyEgressToPtrOutput
	ToServicePerimeterEgressPolicyEgressToPtrOutputWithContext(context.Context) ServicePerimeterEgressPolicyEgressToPtrOutput
}

ServicePerimeterEgressPolicyEgressToPtrInput is an input type that accepts ServicePerimeterEgressPolicyEgressToArgs, ServicePerimeterEgressPolicyEgressToPtr and ServicePerimeterEgressPolicyEgressToPtrOutput values. You can construct a concrete instance of `ServicePerimeterEgressPolicyEgressToPtrInput` via:

        ServicePerimeterEgressPolicyEgressToArgs{...}

or:

        nil

type ServicePerimeterEgressPolicyEgressToPtrOutput added in v6.59.0

type ServicePerimeterEgressPolicyEgressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterEgressPolicyEgressToPtrOutput) Elem added in v6.59.0

func (ServicePerimeterEgressPolicyEgressToPtrOutput) ElementType added in v6.59.0

func (ServicePerimeterEgressPolicyEgressToPtrOutput) ExternalResources added in v6.59.0

A list of external resources that are allowed to be accessed. A request matches if it contains an external resource in this list (Example: s3://bucket/path). Currently '*' is not allowed.

func (ServicePerimeterEgressPolicyEgressToPtrOutput) Operations added in v6.59.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 (ServicePerimeterEgressPolicyEgressToPtrOutput) Resources added in v6.59.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 (ServicePerimeterEgressPolicyEgressToPtrOutput) ToOutput added in v6.65.1

func (ServicePerimeterEgressPolicyEgressToPtrOutput) ToServicePerimeterEgressPolicyEgressToPtrOutput added in v6.59.0

func (o ServicePerimeterEgressPolicyEgressToPtrOutput) ToServicePerimeterEgressPolicyEgressToPtrOutput() ServicePerimeterEgressPolicyEgressToPtrOutput

func (ServicePerimeterEgressPolicyEgressToPtrOutput) ToServicePerimeterEgressPolicyEgressToPtrOutputWithContext added in v6.59.0

func (o ServicePerimeterEgressPolicyEgressToPtrOutput) ToServicePerimeterEgressPolicyEgressToPtrOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyEgressToPtrOutput

type ServicePerimeterEgressPolicyInput added in v6.59.0

type ServicePerimeterEgressPolicyInput interface {
	pulumi.Input

	ToServicePerimeterEgressPolicyOutput() ServicePerimeterEgressPolicyOutput
	ToServicePerimeterEgressPolicyOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyOutput
}

type ServicePerimeterEgressPolicyMap added in v6.59.0

type ServicePerimeterEgressPolicyMap map[string]ServicePerimeterEgressPolicyInput

func (ServicePerimeterEgressPolicyMap) ElementType added in v6.59.0

func (ServicePerimeterEgressPolicyMap) ToOutput added in v6.65.1

func (ServicePerimeterEgressPolicyMap) ToServicePerimeterEgressPolicyMapOutput added in v6.59.0

func (i ServicePerimeterEgressPolicyMap) ToServicePerimeterEgressPolicyMapOutput() ServicePerimeterEgressPolicyMapOutput

func (ServicePerimeterEgressPolicyMap) ToServicePerimeterEgressPolicyMapOutputWithContext added in v6.59.0

func (i ServicePerimeterEgressPolicyMap) ToServicePerimeterEgressPolicyMapOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyMapOutput

type ServicePerimeterEgressPolicyMapInput added in v6.59.0

type ServicePerimeterEgressPolicyMapInput interface {
	pulumi.Input

	ToServicePerimeterEgressPolicyMapOutput() ServicePerimeterEgressPolicyMapOutput
	ToServicePerimeterEgressPolicyMapOutputWithContext(context.Context) ServicePerimeterEgressPolicyMapOutput
}

ServicePerimeterEgressPolicyMapInput is an input type that accepts ServicePerimeterEgressPolicyMap and ServicePerimeterEgressPolicyMapOutput values. You can construct a concrete instance of `ServicePerimeterEgressPolicyMapInput` via:

ServicePerimeterEgressPolicyMap{ "key": ServicePerimeterEgressPolicyArgs{...} }

type ServicePerimeterEgressPolicyMapOutput added in v6.59.0

type ServicePerimeterEgressPolicyMapOutput struct{ *pulumi.OutputState }

func (ServicePerimeterEgressPolicyMapOutput) ElementType added in v6.59.0

func (ServicePerimeterEgressPolicyMapOutput) MapIndex added in v6.59.0

func (ServicePerimeterEgressPolicyMapOutput) ToOutput added in v6.65.1

func (ServicePerimeterEgressPolicyMapOutput) ToServicePerimeterEgressPolicyMapOutput added in v6.59.0

func (o ServicePerimeterEgressPolicyMapOutput) ToServicePerimeterEgressPolicyMapOutput() ServicePerimeterEgressPolicyMapOutput

func (ServicePerimeterEgressPolicyMapOutput) ToServicePerimeterEgressPolicyMapOutputWithContext added in v6.59.0

func (o ServicePerimeterEgressPolicyMapOutput) ToServicePerimeterEgressPolicyMapOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyMapOutput

type ServicePerimeterEgressPolicyOutput added in v6.59.0

type ServicePerimeterEgressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimeterEgressPolicyOutput) EgressFrom added in v6.59.0

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

func (ServicePerimeterEgressPolicyOutput) EgressTo added in v6.59.0

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

func (ServicePerimeterEgressPolicyOutput) ElementType added in v6.59.0

func (ServicePerimeterEgressPolicyOutput) Perimeter added in v6.59.0

The name of the Service Perimeter to add this resource to.

***

func (ServicePerimeterEgressPolicyOutput) ToOutput added in v6.65.1

func (ServicePerimeterEgressPolicyOutput) ToServicePerimeterEgressPolicyOutput added in v6.59.0

func (o ServicePerimeterEgressPolicyOutput) ToServicePerimeterEgressPolicyOutput() ServicePerimeterEgressPolicyOutput

func (ServicePerimeterEgressPolicyOutput) ToServicePerimeterEgressPolicyOutputWithContext added in v6.59.0

func (o ServicePerimeterEgressPolicyOutput) ToServicePerimeterEgressPolicyOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyOutput

type ServicePerimeterEgressPolicyState added in v6.59.0

type ServicePerimeterEgressPolicyState struct {
	// Defines conditions on the source of a request causing this `EgressPolicy` to apply.
	// Structure is documented below.
	EgressFrom ServicePerimeterEgressPolicyEgressFromPtrInput
	// Defines the conditions on the `ApiOperation` and destination resources that
	// cause this `EgressPolicy` to apply.
	// Structure is documented below.
	EgressTo ServicePerimeterEgressPolicyEgressToPtrInput
	// The name of the Service Perimeter to add this resource to.
	//
	// ***
	Perimeter pulumi.StringPtrInput
}

func (ServicePerimeterEgressPolicyState) ElementType added in v6.59.0

type ServicePerimeterIngressPolicy added in v6.59.0

type ServicePerimeterIngressPolicy struct {
	pulumi.CustomResourceState

	// Defines the conditions on the source of a request causing this `IngressPolicy`
	// to apply.
	// Structure is documented below.
	IngressFrom ServicePerimeterIngressPolicyIngressFromPtrOutput `pulumi:"ingressFrom"`
	// Defines the conditions on the `ApiOperation` and request destination that cause
	// this `IngressPolicy` to apply.
	// Structure is documented below.
	IngressTo ServicePerimeterIngressPolicyIngressToPtrOutput `pulumi:"ingressTo"`
	// The name of the Service Perimeter to add this resource to.
	//
	// ***
	Perimeter pulumi.StringOutput `pulumi:"perimeter"`
}

IngressPolicies match requests based on ingressFrom and ingressTo stanzas. For an ingress policy to match, both the ingressFrom and ingressTo stanzas must be matched. If an IngressPolicy matches a request, the request is allowed through the perimeter boundary from outside the perimeter. For example, access from the internet can be allowed either based on an AccessLevel or, for traffic hosted on Google Cloud, the project of the source network. For access from private networks, using the project of the hosting network is required. Individual ingress policies can be limited by restricting which services and/ or actions they match using the ingressTo field.

To get more information about ServicePerimeterIngressPolicy, see:

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

## Import

ServicePerimeterIngressPolicy can be imported using any of these accepted formats:

```sh

$ pulumi import gcp:accesscontextmanager/servicePerimeterIngressPolicy:ServicePerimeterIngressPolicy default {{perimeter}}

```

func GetServicePerimeterIngressPolicy added in v6.59.0

func GetServicePerimeterIngressPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServicePerimeterIngressPolicyState, opts ...pulumi.ResourceOption) (*ServicePerimeterIngressPolicy, error)

GetServicePerimeterIngressPolicy gets an existing ServicePerimeterIngressPolicy 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 NewServicePerimeterIngressPolicy added in v6.59.0

func NewServicePerimeterIngressPolicy(ctx *pulumi.Context,
	name string, args *ServicePerimeterIngressPolicyArgs, opts ...pulumi.ResourceOption) (*ServicePerimeterIngressPolicy, error)

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

func (*ServicePerimeterIngressPolicy) ElementType added in v6.59.0

func (*ServicePerimeterIngressPolicy) ToOutput added in v6.65.1

func (*ServicePerimeterIngressPolicy) ToServicePerimeterIngressPolicyOutput added in v6.59.0

func (i *ServicePerimeterIngressPolicy) ToServicePerimeterIngressPolicyOutput() ServicePerimeterIngressPolicyOutput

func (*ServicePerimeterIngressPolicy) ToServicePerimeterIngressPolicyOutputWithContext added in v6.59.0

func (i *ServicePerimeterIngressPolicy) ToServicePerimeterIngressPolicyOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyOutput

type ServicePerimeterIngressPolicyArgs added in v6.59.0

type ServicePerimeterIngressPolicyArgs struct {
	// Defines the conditions on the source of a request causing this `IngressPolicy`
	// to apply.
	// Structure is documented below.
	IngressFrom ServicePerimeterIngressPolicyIngressFromPtrInput
	// Defines the conditions on the `ApiOperation` and request destination that cause
	// this `IngressPolicy` to apply.
	// Structure is documented below.
	IngressTo ServicePerimeterIngressPolicyIngressToPtrInput
	// The name of the Service Perimeter to add this resource to.
	//
	// ***
	Perimeter pulumi.StringInput
}

The set of arguments for constructing a ServicePerimeterIngressPolicy resource.

func (ServicePerimeterIngressPolicyArgs) ElementType added in v6.59.0

type ServicePerimeterIngressPolicyArray added in v6.59.0

type ServicePerimeterIngressPolicyArray []ServicePerimeterIngressPolicyInput

func (ServicePerimeterIngressPolicyArray) ElementType added in v6.59.0

func (ServicePerimeterIngressPolicyArray) ToOutput added in v6.65.1

func (ServicePerimeterIngressPolicyArray) ToServicePerimeterIngressPolicyArrayOutput added in v6.59.0

func (i ServicePerimeterIngressPolicyArray) ToServicePerimeterIngressPolicyArrayOutput() ServicePerimeterIngressPolicyArrayOutput

func (ServicePerimeterIngressPolicyArray) ToServicePerimeterIngressPolicyArrayOutputWithContext added in v6.59.0

func (i ServicePerimeterIngressPolicyArray) ToServicePerimeterIngressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyArrayOutput

type ServicePerimeterIngressPolicyArrayInput added in v6.59.0

type ServicePerimeterIngressPolicyArrayInput interface {
	pulumi.Input

	ToServicePerimeterIngressPolicyArrayOutput() ServicePerimeterIngressPolicyArrayOutput
	ToServicePerimeterIngressPolicyArrayOutputWithContext(context.Context) ServicePerimeterIngressPolicyArrayOutput
}

ServicePerimeterIngressPolicyArrayInput is an input type that accepts ServicePerimeterIngressPolicyArray and ServicePerimeterIngressPolicyArrayOutput values. You can construct a concrete instance of `ServicePerimeterIngressPolicyArrayInput` via:

ServicePerimeterIngressPolicyArray{ ServicePerimeterIngressPolicyArgs{...} }

type ServicePerimeterIngressPolicyArrayOutput added in v6.59.0

type ServicePerimeterIngressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterIngressPolicyArrayOutput) ElementType added in v6.59.0

func (ServicePerimeterIngressPolicyArrayOutput) Index added in v6.59.0

func (ServicePerimeterIngressPolicyArrayOutput) ToOutput added in v6.65.1

func (ServicePerimeterIngressPolicyArrayOutput) ToServicePerimeterIngressPolicyArrayOutput added in v6.59.0

func (o ServicePerimeterIngressPolicyArrayOutput) ToServicePerimeterIngressPolicyArrayOutput() ServicePerimeterIngressPolicyArrayOutput

func (ServicePerimeterIngressPolicyArrayOutput) ToServicePerimeterIngressPolicyArrayOutputWithContext added in v6.59.0

func (o ServicePerimeterIngressPolicyArrayOutput) ToServicePerimeterIngressPolicyArrayOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyArrayOutput

type ServicePerimeterIngressPolicyIngressFrom added in v6.59.0

type ServicePerimeterIngressPolicyIngressFrom struct {
	// A list of identities that are allowed access through this ingress policy.
	// 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 from outside the
	// perimeter. If left unspecified, then members of `identities` field will be
	// allowed access.
	// Possible values are: `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, `ANY_SERVICE_ACCOUNT`.
	IdentityType *string `pulumi:"identityType"`
	// Sources that this `IngressPolicy` authorizes access from.
	// Structure is documented below.
	Sources []ServicePerimeterIngressPolicyIngressFromSource `pulumi:"sources"`
}

type ServicePerimeterIngressPolicyIngressFromArgs added in v6.59.0

type ServicePerimeterIngressPolicyIngressFromArgs struct {
	// A list of identities that are allowed access through this ingress policy.
	// 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 from outside the
	// perimeter. If left unspecified, then members of `identities` field will be
	// allowed access.
	// Possible values are: `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, `ANY_SERVICE_ACCOUNT`.
	IdentityType pulumi.StringPtrInput `pulumi:"identityType"`
	// Sources that this `IngressPolicy` authorizes access from.
	// Structure is documented below.
	Sources ServicePerimeterIngressPolicyIngressFromSourceArrayInput `pulumi:"sources"`
}

func (ServicePerimeterIngressPolicyIngressFromArgs) ElementType added in v6.59.0

func (ServicePerimeterIngressPolicyIngressFromArgs) ToOutput added in v6.65.1

func (ServicePerimeterIngressPolicyIngressFromArgs) ToServicePerimeterIngressPolicyIngressFromOutput added in v6.59.0

func (i ServicePerimeterIngressPolicyIngressFromArgs) ToServicePerimeterIngressPolicyIngressFromOutput() ServicePerimeterIngressPolicyIngressFromOutput

func (ServicePerimeterIngressPolicyIngressFromArgs) ToServicePerimeterIngressPolicyIngressFromOutputWithContext added in v6.59.0

func (i ServicePerimeterIngressPolicyIngressFromArgs) ToServicePerimeterIngressPolicyIngressFromOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyIngressFromOutput

func (ServicePerimeterIngressPolicyIngressFromArgs) ToServicePerimeterIngressPolicyIngressFromPtrOutput added in v6.59.0

func (i ServicePerimeterIngressPolicyIngressFromArgs) ToServicePerimeterIngressPolicyIngressFromPtrOutput() ServicePerimeterIngressPolicyIngressFromPtrOutput

func (ServicePerimeterIngressPolicyIngressFromArgs) ToServicePerimeterIngressPolicyIngressFromPtrOutputWithContext added in v6.59.0

func (i ServicePerimeterIngressPolicyIngressFromArgs) ToServicePerimeterIngressPolicyIngressFromPtrOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyIngressFromPtrOutput

type ServicePerimeterIngressPolicyIngressFromInput added in v6.59.0

type ServicePerimeterIngressPolicyIngressFromInput interface {
	pulumi.Input

	ToServicePerimeterIngressPolicyIngressFromOutput() ServicePerimeterIngressPolicyIngressFromOutput
	ToServicePerimeterIngressPolicyIngressFromOutputWithContext(context.Context) ServicePerimeterIngressPolicyIngressFromOutput
}

ServicePerimeterIngressPolicyIngressFromInput is an input type that accepts ServicePerimeterIngressPolicyIngressFromArgs and ServicePerimeterIngressPolicyIngressFromOutput values. You can construct a concrete instance of `ServicePerimeterIngressPolicyIngressFromInput` via:

ServicePerimeterIngressPolicyIngressFromArgs{...}

type ServicePerimeterIngressPolicyIngressFromOutput added in v6.59.0

type ServicePerimeterIngressPolicyIngressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimeterIngressPolicyIngressFromOutput) ElementType added in v6.59.0

func (ServicePerimeterIngressPolicyIngressFromOutput) Identities added in v6.59.0

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

func (ServicePerimeterIngressPolicyIngressFromOutput) IdentityType added in v6.59.0

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

func (ServicePerimeterIngressPolicyIngressFromOutput) Sources added in v6.59.0

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

func (ServicePerimeterIngressPolicyIngressFromOutput) ToOutput added in v6.65.1

func (ServicePerimeterIngressPolicyIngressFromOutput) ToServicePerimeterIngressPolicyIngressFromOutput added in v6.59.0

func (o ServicePerimeterIngressPolicyIngressFromOutput) ToServicePerimeterIngressPolicyIngressFromOutput() ServicePerimeterIngressPolicyIngressFromOutput

func (ServicePerimeterIngressPolicyIngressFromOutput) ToServicePerimeterIngressPolicyIngressFromOutputWithContext added in v6.59.0

func (o ServicePerimeterIngressPolicyIngressFromOutput) ToServicePerimeterIngressPolicyIngressFromOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyIngressFromOutput

func (ServicePerimeterIngressPolicyIngressFromOutput) ToServicePerimeterIngressPolicyIngressFromPtrOutput added in v6.59.0

func (o ServicePerimeterIngressPolicyIngressFromOutput) ToServicePerimeterIngressPolicyIngressFromPtrOutput() ServicePerimeterIngressPolicyIngressFromPtrOutput

func (ServicePerimeterIngressPolicyIngressFromOutput) ToServicePerimeterIngressPolicyIngressFromPtrOutputWithContext added in v6.59.0

func (o ServicePerimeterIngressPolicyIngressFromOutput) ToServicePerimeterIngressPolicyIngressFromPtrOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyIngressFromPtrOutput

type ServicePerimeterIngressPolicyIngressFromPtrInput added in v6.59.0

type ServicePerimeterIngressPolicyIngressFromPtrInput interface {
	pulumi.Input

	ToServicePerimeterIngressPolicyIngressFromPtrOutput() ServicePerimeterIngressPolicyIngressFromPtrOutput
	ToServicePerimeterIngressPolicyIngressFromPtrOutputWithContext(context.Context) ServicePerimeterIngressPolicyIngressFromPtrOutput
}

ServicePerimeterIngressPolicyIngressFromPtrInput is an input type that accepts ServicePerimeterIngressPolicyIngressFromArgs, ServicePerimeterIngressPolicyIngressFromPtr and ServicePerimeterIngressPolicyIngressFromPtrOutput values. You can construct a concrete instance of `ServicePerimeterIngressPolicyIngressFromPtrInput` via:

        ServicePerimeterIngressPolicyIngressFromArgs{...}

or:

        nil

type ServicePerimeterIngressPolicyIngressFromPtrOutput added in v6.59.0

type ServicePerimeterIngressPolicyIngressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterIngressPolicyIngressFromPtrOutput) Elem added in v6.59.0

func (ServicePerimeterIngressPolicyIngressFromPtrOutput) ElementType added in v6.59.0

func (ServicePerimeterIngressPolicyIngressFromPtrOutput) Identities added in v6.59.0

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

func (ServicePerimeterIngressPolicyIngressFromPtrOutput) IdentityType added in v6.59.0

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

func (ServicePerimeterIngressPolicyIngressFromPtrOutput) Sources added in v6.59.0

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

func (ServicePerimeterIngressPolicyIngressFromPtrOutput) ToOutput added in v6.65.1

func (ServicePerimeterIngressPolicyIngressFromPtrOutput) ToServicePerimeterIngressPolicyIngressFromPtrOutput added in v6.59.0

func (o ServicePerimeterIngressPolicyIngressFromPtrOutput) ToServicePerimeterIngressPolicyIngressFromPtrOutput() ServicePerimeterIngressPolicyIngressFromPtrOutput

func (ServicePerimeterIngressPolicyIngressFromPtrOutput) ToServicePerimeterIngressPolicyIngressFromPtrOutputWithContext added in v6.59.0

func (o ServicePerimeterIngressPolicyIngressFromPtrOutput) ToServicePerimeterIngressPolicyIngressFromPtrOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyIngressFromPtrOutput

type ServicePerimeterIngressPolicyIngressFromSource added in v6.59.0

type ServicePerimeterIngressPolicyIngressFromSource 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 ServicePerimeterIngressPolicyIngressFromSourceArgs added in v6.59.0

type ServicePerimeterIngressPolicyIngressFromSourceArgs 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 (ServicePerimeterIngressPolicyIngressFromSourceArgs) ElementType added in v6.59.0

func (ServicePerimeterIngressPolicyIngressFromSourceArgs) ToOutput added in v6.65.1

func (ServicePerimeterIngressPolicyIngressFromSourceArgs) ToServicePerimeterIngressPolicyIngressFromSourceOutput added in v6.59.0

func (i ServicePerimeterIngressPolicyIngressFromSourceArgs) ToServicePerimeterIngressPolicyIngressFromSourceOutput() ServicePerimeterIngressPolicyIngressFromSourceOutput

func (ServicePerimeterIngressPolicyIngressFromSourceArgs) ToServicePerimeterIngressPolicyIngressFromSourceOutputWithContext added in v6.59.0

func (i ServicePerimeterIngressPolicyIngressFromSourceArgs) ToServicePerimeterIngressPolicyIngressFromSourceOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyIngressFromSourceOutput

type ServicePerimeterIngressPolicyIngressFromSourceArray added in v6.59.0

type ServicePerimeterIngressPolicyIngressFromSourceArray []ServicePerimeterIngressPolicyIngressFromSourceInput

func (ServicePerimeterIngressPolicyIngressFromSourceArray) ElementType added in v6.59.0

func (ServicePerimeterIngressPolicyIngressFromSourceArray) ToOutput added in v6.65.1

func (ServicePerimeterIngressPolicyIngressFromSourceArray) ToServicePerimeterIngressPolicyIngressFromSourceArrayOutput added in v6.59.0

func (i ServicePerimeterIngressPolicyIngressFromSourceArray) ToServicePerimeterIngressPolicyIngressFromSourceArrayOutput() ServicePerimeterIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimeterIngressPolicyIngressFromSourceArray) ToServicePerimeterIngressPolicyIngressFromSourceArrayOutputWithContext added in v6.59.0

func (i ServicePerimeterIngressPolicyIngressFromSourceArray) ToServicePerimeterIngressPolicyIngressFromSourceArrayOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyIngressFromSourceArrayOutput

type ServicePerimeterIngressPolicyIngressFromSourceArrayInput added in v6.59.0

type ServicePerimeterIngressPolicyIngressFromSourceArrayInput interface {
	pulumi.Input

	ToServicePerimeterIngressPolicyIngressFromSourceArrayOutput() ServicePerimeterIngressPolicyIngressFromSourceArrayOutput
	ToServicePerimeterIngressPolicyIngressFromSourceArrayOutputWithContext(context.Context) ServicePerimeterIngressPolicyIngressFromSourceArrayOutput
}

ServicePerimeterIngressPolicyIngressFromSourceArrayInput is an input type that accepts ServicePerimeterIngressPolicyIngressFromSourceArray and ServicePerimeterIngressPolicyIngressFromSourceArrayOutput values. You can construct a concrete instance of `ServicePerimeterIngressPolicyIngressFromSourceArrayInput` via:

ServicePerimeterIngressPolicyIngressFromSourceArray{ ServicePerimeterIngressPolicyIngressFromSourceArgs{...} }

type ServicePerimeterIngressPolicyIngressFromSourceArrayOutput added in v6.59.0

type ServicePerimeterIngressPolicyIngressFromSourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterIngressPolicyIngressFromSourceArrayOutput) ElementType added in v6.59.0

func (ServicePerimeterIngressPolicyIngressFromSourceArrayOutput) Index added in v6.59.0

func (ServicePerimeterIngressPolicyIngressFromSourceArrayOutput) ToOutput added in v6.65.1

func (ServicePerimeterIngressPolicyIngressFromSourceArrayOutput) ToServicePerimeterIngressPolicyIngressFromSourceArrayOutput added in v6.59.0

func (ServicePerimeterIngressPolicyIngressFromSourceArrayOutput) ToServicePerimeterIngressPolicyIngressFromSourceArrayOutputWithContext added in v6.59.0

func (o ServicePerimeterIngressPolicyIngressFromSourceArrayOutput) ToServicePerimeterIngressPolicyIngressFromSourceArrayOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyIngressFromSourceArrayOutput

type ServicePerimeterIngressPolicyIngressFromSourceInput added in v6.59.0

type ServicePerimeterIngressPolicyIngressFromSourceInput interface {
	pulumi.Input

	ToServicePerimeterIngressPolicyIngressFromSourceOutput() ServicePerimeterIngressPolicyIngressFromSourceOutput
	ToServicePerimeterIngressPolicyIngressFromSourceOutputWithContext(context.Context) ServicePerimeterIngressPolicyIngressFromSourceOutput
}

ServicePerimeterIngressPolicyIngressFromSourceInput is an input type that accepts ServicePerimeterIngressPolicyIngressFromSourceArgs and ServicePerimeterIngressPolicyIngressFromSourceOutput values. You can construct a concrete instance of `ServicePerimeterIngressPolicyIngressFromSourceInput` via:

ServicePerimeterIngressPolicyIngressFromSourceArgs{...}

type ServicePerimeterIngressPolicyIngressFromSourceOutput added in v6.59.0

type ServicePerimeterIngressPolicyIngressFromSourceOutput struct{ *pulumi.OutputState }

func (ServicePerimeterIngressPolicyIngressFromSourceOutput) AccessLevel added in v6.59.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 (ServicePerimeterIngressPolicyIngressFromSourceOutput) ElementType added in v6.59.0

func (ServicePerimeterIngressPolicyIngressFromSourceOutput) Resource added in v6.59.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 (ServicePerimeterIngressPolicyIngressFromSourceOutput) ToOutput added in v6.65.1

func (ServicePerimeterIngressPolicyIngressFromSourceOutput) ToServicePerimeterIngressPolicyIngressFromSourceOutput added in v6.59.0

func (ServicePerimeterIngressPolicyIngressFromSourceOutput) ToServicePerimeterIngressPolicyIngressFromSourceOutputWithContext added in v6.59.0

func (o ServicePerimeterIngressPolicyIngressFromSourceOutput) ToServicePerimeterIngressPolicyIngressFromSourceOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyIngressFromSourceOutput

type ServicePerimeterIngressPolicyIngressTo added in v6.59.0

type ServicePerimeterIngressPolicyIngressTo struct {
	// A list of `ApiOperations` the sources specified in corresponding `IngressFrom`
	// are allowed to perform in this `ServicePerimeter`.
	// Structure is documented below.
	Operations []ServicePerimeterIngressPolicyIngressToOperation `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, protected by this `ServicePerimeter`
	// that are allowed to be accessed by sources defined in the
	// corresponding `IngressFrom`. A request matches if it contains
	// a resource in this list. If `*` is specified for resources,
	// then this `IngressTo` rule will authorize access to all
	// resources inside the perimeter, provided that the request
	// also matches the `operations` field.
	Resources []string `pulumi:"resources"`
}

type ServicePerimeterIngressPolicyIngressToArgs added in v6.59.0

type ServicePerimeterIngressPolicyIngressToArgs struct {
	// A list of `ApiOperations` the sources specified in corresponding `IngressFrom`
	// are allowed to perform in this `ServicePerimeter`.
	// Structure is documented below.
	Operations ServicePerimeterIngressPolicyIngressToOperationArrayInput `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, protected by this `ServicePerimeter`
	// that are allowed to be accessed by sources defined in the
	// corresponding `IngressFrom`. A request matches if it contains
	// a resource in this list. If `*` is specified for resources,
	// then this `IngressTo` rule will authorize access to all
	// resources inside the perimeter, provided that the request
	// also matches the `operations` field.
	Resources pulumi.StringArrayInput `pulumi:"resources"`
}

func (ServicePerimeterIngressPolicyIngressToArgs) ElementType added in v6.59.0

func (ServicePerimeterIngressPolicyIngressToArgs) ToOutput added in v6.65.1

func (ServicePerimeterIngressPolicyIngressToArgs) ToServicePerimeterIngressPolicyIngressToOutput added in v6.59.0

func (i ServicePerimeterIngressPolicyIngressToArgs) ToServicePerimeterIngressPolicyIngressToOutput() ServicePerimeterIngressPolicyIngressToOutput

func (ServicePerimeterIngressPolicyIngressToArgs) ToServicePerimeterIngressPolicyIngressToOutputWithContext added in v6.59.0

func (i ServicePerimeterIngressPolicyIngressToArgs) ToServicePerimeterIngressPolicyIngressToOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyIngressToOutput

func (ServicePerimeterIngressPolicyIngressToArgs) ToServicePerimeterIngressPolicyIngressToPtrOutput added in v6.59.0

func (i ServicePerimeterIngressPolicyIngressToArgs) ToServicePerimeterIngressPolicyIngressToPtrOutput() ServicePerimeterIngressPolicyIngressToPtrOutput

func (ServicePerimeterIngressPolicyIngressToArgs) ToServicePerimeterIngressPolicyIngressToPtrOutputWithContext added in v6.59.0

func (i ServicePerimeterIngressPolicyIngressToArgs) ToServicePerimeterIngressPolicyIngressToPtrOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyIngressToPtrOutput

type ServicePerimeterIngressPolicyIngressToInput added in v6.59.0

type ServicePerimeterIngressPolicyIngressToInput interface {
	pulumi.Input

	ToServicePerimeterIngressPolicyIngressToOutput() ServicePerimeterIngressPolicyIngressToOutput
	ToServicePerimeterIngressPolicyIngressToOutputWithContext(context.Context) ServicePerimeterIngressPolicyIngressToOutput
}

ServicePerimeterIngressPolicyIngressToInput is an input type that accepts ServicePerimeterIngressPolicyIngressToArgs and ServicePerimeterIngressPolicyIngressToOutput values. You can construct a concrete instance of `ServicePerimeterIngressPolicyIngressToInput` via:

ServicePerimeterIngressPolicyIngressToArgs{...}

type ServicePerimeterIngressPolicyIngressToOperation added in v6.59.0

type ServicePerimeterIngressPolicyIngressToOperation 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 []ServicePerimeterIngressPolicyIngressToOperationMethodSelector `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 ServicePerimeterIngressPolicyIngressToOperationArgs added in v6.59.0

type ServicePerimeterIngressPolicyIngressToOperationArgs 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 ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayInput `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 (ServicePerimeterIngressPolicyIngressToOperationArgs) ElementType added in v6.59.0

func (ServicePerimeterIngressPolicyIngressToOperationArgs) ToOutput added in v6.65.1

func (ServicePerimeterIngressPolicyIngressToOperationArgs) ToServicePerimeterIngressPolicyIngressToOperationOutput added in v6.59.0

func (i ServicePerimeterIngressPolicyIngressToOperationArgs) ToServicePerimeterIngressPolicyIngressToOperationOutput() ServicePerimeterIngressPolicyIngressToOperationOutput

func (ServicePerimeterIngressPolicyIngressToOperationArgs) ToServicePerimeterIngressPolicyIngressToOperationOutputWithContext added in v6.59.0

func (i ServicePerimeterIngressPolicyIngressToOperationArgs) ToServicePerimeterIngressPolicyIngressToOperationOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyIngressToOperationOutput

type ServicePerimeterIngressPolicyIngressToOperationArray added in v6.59.0

type ServicePerimeterIngressPolicyIngressToOperationArray []ServicePerimeterIngressPolicyIngressToOperationInput

func (ServicePerimeterIngressPolicyIngressToOperationArray) ElementType added in v6.59.0

func (ServicePerimeterIngressPolicyIngressToOperationArray) ToOutput added in v6.65.1

func (ServicePerimeterIngressPolicyIngressToOperationArray) ToServicePerimeterIngressPolicyIngressToOperationArrayOutput added in v6.59.0

func (i ServicePerimeterIngressPolicyIngressToOperationArray) ToServicePerimeterIngressPolicyIngressToOperationArrayOutput() ServicePerimeterIngressPolicyIngressToOperationArrayOutput

func (ServicePerimeterIngressPolicyIngressToOperationArray) ToServicePerimeterIngressPolicyIngressToOperationArrayOutputWithContext added in v6.59.0

func (i ServicePerimeterIngressPolicyIngressToOperationArray) ToServicePerimeterIngressPolicyIngressToOperationArrayOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyIngressToOperationArrayOutput

type ServicePerimeterIngressPolicyIngressToOperationArrayInput added in v6.59.0

type ServicePerimeterIngressPolicyIngressToOperationArrayInput interface {
	pulumi.Input

	ToServicePerimeterIngressPolicyIngressToOperationArrayOutput() ServicePerimeterIngressPolicyIngressToOperationArrayOutput
	ToServicePerimeterIngressPolicyIngressToOperationArrayOutputWithContext(context.Context) ServicePerimeterIngressPolicyIngressToOperationArrayOutput
}

ServicePerimeterIngressPolicyIngressToOperationArrayInput is an input type that accepts ServicePerimeterIngressPolicyIngressToOperationArray and ServicePerimeterIngressPolicyIngressToOperationArrayOutput values. You can construct a concrete instance of `ServicePerimeterIngressPolicyIngressToOperationArrayInput` via:

ServicePerimeterIngressPolicyIngressToOperationArray{ ServicePerimeterIngressPolicyIngressToOperationArgs{...} }

type ServicePerimeterIngressPolicyIngressToOperationArrayOutput added in v6.59.0

type ServicePerimeterIngressPolicyIngressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterIngressPolicyIngressToOperationArrayOutput) ElementType added in v6.59.0

func (ServicePerimeterIngressPolicyIngressToOperationArrayOutput) Index added in v6.59.0

func (ServicePerimeterIngressPolicyIngressToOperationArrayOutput) ToOutput added in v6.65.1

func (ServicePerimeterIngressPolicyIngressToOperationArrayOutput) ToServicePerimeterIngressPolicyIngressToOperationArrayOutput added in v6.59.0

func (ServicePerimeterIngressPolicyIngressToOperationArrayOutput) ToServicePerimeterIngressPolicyIngressToOperationArrayOutputWithContext added in v6.59.0

func (o ServicePerimeterIngressPolicyIngressToOperationArrayOutput) ToServicePerimeterIngressPolicyIngressToOperationArrayOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyIngressToOperationArrayOutput

type ServicePerimeterIngressPolicyIngressToOperationInput added in v6.59.0

type ServicePerimeterIngressPolicyIngressToOperationInput interface {
	pulumi.Input

	ToServicePerimeterIngressPolicyIngressToOperationOutput() ServicePerimeterIngressPolicyIngressToOperationOutput
	ToServicePerimeterIngressPolicyIngressToOperationOutputWithContext(context.Context) ServicePerimeterIngressPolicyIngressToOperationOutput
}

ServicePerimeterIngressPolicyIngressToOperationInput is an input type that accepts ServicePerimeterIngressPolicyIngressToOperationArgs and ServicePerimeterIngressPolicyIngressToOperationOutput values. You can construct a concrete instance of `ServicePerimeterIngressPolicyIngressToOperationInput` via:

ServicePerimeterIngressPolicyIngressToOperationArgs{...}

type ServicePerimeterIngressPolicyIngressToOperationMethodSelector added in v6.59.0

type ServicePerimeterIngressPolicyIngressToOperationMethodSelector 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 ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArgs added in v6.59.0

type ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArgs 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 (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArgs) ElementType added in v6.59.0

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArgs) ToOutput added in v6.65.1

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutput added in v6.59.0

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutputWithContext added in v6.59.0

func (i ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutput

type ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArray added in v6.59.0

type ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArray []ServicePerimeterIngressPolicyIngressToOperationMethodSelectorInput

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArray) ElementType added in v6.59.0

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArray) ToOutput added in v6.65.1

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayOutput added in v6.59.0

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext added in v6.59.0

func (i ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayOutput

type ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayInput added in v6.59.0

type ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayInput interface {
	pulumi.Input

	ToServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayOutput() ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayOutput
	ToServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext(context.Context) ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayOutput
}

ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayInput is an input type that accepts ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArray and ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayOutput values. You can construct a concrete instance of `ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayInput` via:

ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArray{ ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArgs{...} }

type ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayOutput added in v6.59.0

type ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayOutput) ElementType added in v6.59.0

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayOutput) Index added in v6.59.0

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToOutput added in v6.65.1

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayOutput added in v6.59.0

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext added in v6.59.0

type ServicePerimeterIngressPolicyIngressToOperationMethodSelectorInput added in v6.59.0

type ServicePerimeterIngressPolicyIngressToOperationMethodSelectorInput interface {
	pulumi.Input

	ToServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutput() ServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutput
	ToServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutputWithContext(context.Context) ServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutput
}

ServicePerimeterIngressPolicyIngressToOperationMethodSelectorInput is an input type that accepts ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArgs and ServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutput values. You can construct a concrete instance of `ServicePerimeterIngressPolicyIngressToOperationMethodSelectorInput` via:

ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArgs{...}

type ServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutput added in v6.59.0

type ServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutput) ElementType added in v6.59.0

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutput) Method added in v6.59.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 (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutput) Permission added in v6.59.0

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

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutput) ToOutput added in v6.65.1

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutput added in v6.59.0

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutputWithContext added in v6.59.0

func (o ServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutput

type ServicePerimeterIngressPolicyIngressToOperationOutput added in v6.59.0

type ServicePerimeterIngressPolicyIngressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimeterIngressPolicyIngressToOperationOutput) ElementType added in v6.59.0

func (ServicePerimeterIngressPolicyIngressToOperationOutput) MethodSelectors added in v6.59.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 (ServicePerimeterIngressPolicyIngressToOperationOutput) ServiceName added in v6.59.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 (ServicePerimeterIngressPolicyIngressToOperationOutput) ToOutput added in v6.65.1

func (ServicePerimeterIngressPolicyIngressToOperationOutput) ToServicePerimeterIngressPolicyIngressToOperationOutput added in v6.59.0

func (ServicePerimeterIngressPolicyIngressToOperationOutput) ToServicePerimeterIngressPolicyIngressToOperationOutputWithContext added in v6.59.0

func (o ServicePerimeterIngressPolicyIngressToOperationOutput) ToServicePerimeterIngressPolicyIngressToOperationOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyIngressToOperationOutput

type ServicePerimeterIngressPolicyIngressToOutput added in v6.59.0

type ServicePerimeterIngressPolicyIngressToOutput struct{ *pulumi.OutputState }

func (ServicePerimeterIngressPolicyIngressToOutput) ElementType added in v6.59.0

func (ServicePerimeterIngressPolicyIngressToOutput) Operations added in v6.59.0

A list of `ApiOperations` the sources specified in corresponding `IngressFrom` are allowed to perform in this `ServicePerimeter`. Structure is documented below.

func (ServicePerimeterIngressPolicyIngressToOutput) Resources added in v6.59.0

A list of resources, currently only projects in the form `projects/<projectnumber>`, protected by this `ServicePerimeter` that are allowed to be accessed by sources defined in the corresponding `IngressFrom`. A request matches if it contains a resource in this list. If `*` is specified for resources, then this `IngressTo` rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.

func (ServicePerimeterIngressPolicyIngressToOutput) ToOutput added in v6.65.1

func (ServicePerimeterIngressPolicyIngressToOutput) ToServicePerimeterIngressPolicyIngressToOutput added in v6.59.0

func (o ServicePerimeterIngressPolicyIngressToOutput) ToServicePerimeterIngressPolicyIngressToOutput() ServicePerimeterIngressPolicyIngressToOutput

func (ServicePerimeterIngressPolicyIngressToOutput) ToServicePerimeterIngressPolicyIngressToOutputWithContext added in v6.59.0

func (o ServicePerimeterIngressPolicyIngressToOutput) ToServicePerimeterIngressPolicyIngressToOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyIngressToOutput

func (ServicePerimeterIngressPolicyIngressToOutput) ToServicePerimeterIngressPolicyIngressToPtrOutput added in v6.59.0

func (o ServicePerimeterIngressPolicyIngressToOutput) ToServicePerimeterIngressPolicyIngressToPtrOutput() ServicePerimeterIngressPolicyIngressToPtrOutput

func (ServicePerimeterIngressPolicyIngressToOutput) ToServicePerimeterIngressPolicyIngressToPtrOutputWithContext added in v6.59.0

func (o ServicePerimeterIngressPolicyIngressToOutput) ToServicePerimeterIngressPolicyIngressToPtrOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyIngressToPtrOutput

type ServicePerimeterIngressPolicyIngressToPtrInput added in v6.59.0

type ServicePerimeterIngressPolicyIngressToPtrInput interface {
	pulumi.Input

	ToServicePerimeterIngressPolicyIngressToPtrOutput() ServicePerimeterIngressPolicyIngressToPtrOutput
	ToServicePerimeterIngressPolicyIngressToPtrOutputWithContext(context.Context) ServicePerimeterIngressPolicyIngressToPtrOutput
}

ServicePerimeterIngressPolicyIngressToPtrInput is an input type that accepts ServicePerimeterIngressPolicyIngressToArgs, ServicePerimeterIngressPolicyIngressToPtr and ServicePerimeterIngressPolicyIngressToPtrOutput values. You can construct a concrete instance of `ServicePerimeterIngressPolicyIngressToPtrInput` via:

        ServicePerimeterIngressPolicyIngressToArgs{...}

or:

        nil

type ServicePerimeterIngressPolicyIngressToPtrOutput added in v6.59.0

type ServicePerimeterIngressPolicyIngressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterIngressPolicyIngressToPtrOutput) Elem added in v6.59.0

func (ServicePerimeterIngressPolicyIngressToPtrOutput) ElementType added in v6.59.0

func (ServicePerimeterIngressPolicyIngressToPtrOutput) Operations added in v6.59.0

A list of `ApiOperations` the sources specified in corresponding `IngressFrom` are allowed to perform in this `ServicePerimeter`. Structure is documented below.

func (ServicePerimeterIngressPolicyIngressToPtrOutput) Resources added in v6.59.0

A list of resources, currently only projects in the form `projects/<projectnumber>`, protected by this `ServicePerimeter` that are allowed to be accessed by sources defined in the corresponding `IngressFrom`. A request matches if it contains a resource in this list. If `*` is specified for resources, then this `IngressTo` rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.

func (ServicePerimeterIngressPolicyIngressToPtrOutput) ToOutput added in v6.65.1

func (ServicePerimeterIngressPolicyIngressToPtrOutput) ToServicePerimeterIngressPolicyIngressToPtrOutput added in v6.59.0

func (o ServicePerimeterIngressPolicyIngressToPtrOutput) ToServicePerimeterIngressPolicyIngressToPtrOutput() ServicePerimeterIngressPolicyIngressToPtrOutput

func (ServicePerimeterIngressPolicyIngressToPtrOutput) ToServicePerimeterIngressPolicyIngressToPtrOutputWithContext added in v6.59.0

func (o ServicePerimeterIngressPolicyIngressToPtrOutput) ToServicePerimeterIngressPolicyIngressToPtrOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyIngressToPtrOutput

type ServicePerimeterIngressPolicyInput added in v6.59.0

type ServicePerimeterIngressPolicyInput interface {
	pulumi.Input

	ToServicePerimeterIngressPolicyOutput() ServicePerimeterIngressPolicyOutput
	ToServicePerimeterIngressPolicyOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyOutput
}

type ServicePerimeterIngressPolicyMap added in v6.59.0

type ServicePerimeterIngressPolicyMap map[string]ServicePerimeterIngressPolicyInput

func (ServicePerimeterIngressPolicyMap) ElementType added in v6.59.0

func (ServicePerimeterIngressPolicyMap) ToOutput added in v6.65.1

func (ServicePerimeterIngressPolicyMap) ToServicePerimeterIngressPolicyMapOutput added in v6.59.0

func (i ServicePerimeterIngressPolicyMap) ToServicePerimeterIngressPolicyMapOutput() ServicePerimeterIngressPolicyMapOutput

func (ServicePerimeterIngressPolicyMap) ToServicePerimeterIngressPolicyMapOutputWithContext added in v6.59.0

func (i ServicePerimeterIngressPolicyMap) ToServicePerimeterIngressPolicyMapOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyMapOutput

type ServicePerimeterIngressPolicyMapInput added in v6.59.0

type ServicePerimeterIngressPolicyMapInput interface {
	pulumi.Input

	ToServicePerimeterIngressPolicyMapOutput() ServicePerimeterIngressPolicyMapOutput
	ToServicePerimeterIngressPolicyMapOutputWithContext(context.Context) ServicePerimeterIngressPolicyMapOutput
}

ServicePerimeterIngressPolicyMapInput is an input type that accepts ServicePerimeterIngressPolicyMap and ServicePerimeterIngressPolicyMapOutput values. You can construct a concrete instance of `ServicePerimeterIngressPolicyMapInput` via:

ServicePerimeterIngressPolicyMap{ "key": ServicePerimeterIngressPolicyArgs{...} }

type ServicePerimeterIngressPolicyMapOutput added in v6.59.0

type ServicePerimeterIngressPolicyMapOutput struct{ *pulumi.OutputState }

func (ServicePerimeterIngressPolicyMapOutput) ElementType added in v6.59.0

func (ServicePerimeterIngressPolicyMapOutput) MapIndex added in v6.59.0

func (ServicePerimeterIngressPolicyMapOutput) ToOutput added in v6.65.1

func (ServicePerimeterIngressPolicyMapOutput) ToServicePerimeterIngressPolicyMapOutput added in v6.59.0

func (o ServicePerimeterIngressPolicyMapOutput) ToServicePerimeterIngressPolicyMapOutput() ServicePerimeterIngressPolicyMapOutput

func (ServicePerimeterIngressPolicyMapOutput) ToServicePerimeterIngressPolicyMapOutputWithContext added in v6.59.0

func (o ServicePerimeterIngressPolicyMapOutput) ToServicePerimeterIngressPolicyMapOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyMapOutput

type ServicePerimeterIngressPolicyOutput added in v6.59.0

type ServicePerimeterIngressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimeterIngressPolicyOutput) ElementType added in v6.59.0

func (ServicePerimeterIngressPolicyOutput) IngressFrom added in v6.59.0

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

func (ServicePerimeterIngressPolicyOutput) IngressTo added in v6.59.0

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

func (ServicePerimeterIngressPolicyOutput) Perimeter added in v6.59.0

The name of the Service Perimeter to add this resource to.

***

func (ServicePerimeterIngressPolicyOutput) ToOutput added in v6.65.1

func (ServicePerimeterIngressPolicyOutput) ToServicePerimeterIngressPolicyOutput added in v6.59.0

func (o ServicePerimeterIngressPolicyOutput) ToServicePerimeterIngressPolicyOutput() ServicePerimeterIngressPolicyOutput

func (ServicePerimeterIngressPolicyOutput) ToServicePerimeterIngressPolicyOutputWithContext added in v6.59.0

func (o ServicePerimeterIngressPolicyOutput) ToServicePerimeterIngressPolicyOutputWithContext(ctx context.Context) ServicePerimeterIngressPolicyOutput

type ServicePerimeterIngressPolicyState added in v6.59.0

type ServicePerimeterIngressPolicyState struct {
	// Defines the conditions on the source of a request causing this `IngressPolicy`
	// to apply.
	// Structure is documented below.
	IngressFrom ServicePerimeterIngressPolicyIngressFromPtrInput
	// Defines the conditions on the `ApiOperation` and request destination that cause
	// this `IngressPolicy` to apply.
	// Structure is documented below.
	IngressTo ServicePerimeterIngressPolicyIngressToPtrInput
	// The name of the Service Perimeter to add this resource to.
	//
	// ***
	Perimeter pulumi.StringPtrInput
}

func (ServicePerimeterIngressPolicyState) ElementType added in v6.59.0

type ServicePerimeterInput

type ServicePerimeterInput interface {
	pulumi.Input

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

type ServicePerimeterMap

type ServicePerimeterMap map[string]ServicePerimeterInput

func (ServicePerimeterMap) ElementType

func (ServicePerimeterMap) ElementType() reflect.Type

func (ServicePerimeterMap) ToOutput added in v6.65.1

func (ServicePerimeterMap) ToServicePerimeterMapOutput

func (i ServicePerimeterMap) ToServicePerimeterMapOutput() ServicePerimeterMapOutput

func (ServicePerimeterMap) ToServicePerimeterMapOutputWithContext

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

type ServicePerimeterMapInput

type ServicePerimeterMapInput interface {
	pulumi.Input

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

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

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

type ServicePerimeterMapOutput

type ServicePerimeterMapOutput struct{ *pulumi.OutputState }

func (ServicePerimeterMapOutput) ElementType

func (ServicePerimeterMapOutput) ElementType() reflect.Type

func (ServicePerimeterMapOutput) MapIndex

func (ServicePerimeterMapOutput) ToOutput added in v6.65.1

func (ServicePerimeterMapOutput) ToServicePerimeterMapOutput

func (o ServicePerimeterMapOutput) ToServicePerimeterMapOutput() ServicePerimeterMapOutput

func (ServicePerimeterMapOutput) ToServicePerimeterMapOutputWithContext

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

type ServicePerimeterOutput

type ServicePerimeterOutput struct{ *pulumi.OutputState }

func (ServicePerimeterOutput) CreateTime added in v6.23.0

Time the AccessPolicy was created in UTC.

func (ServicePerimeterOutput) Description added in v6.23.0

Description of the ServicePerimeter and its use. Does not affect behavior.

func (ServicePerimeterOutput) ElementType

func (ServicePerimeterOutput) ElementType() reflect.Type

func (ServicePerimeterOutput) Name added in v6.23.0

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 (ServicePerimeterOutput) Parent added in v6.23.0

The AccessPolicy this ServicePerimeter lives in. Format: accessPolicies/{policy_id}

func (ServicePerimeterOutput) PerimeterType added in v6.23.0

func (o ServicePerimeterOutput) PerimeterType() pulumi.StringPtrOutput

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`, `PERIMETER_TYPE_BRIDGE`.

func (ServicePerimeterOutput) Spec added in v6.23.0

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 (ServicePerimeterOutput) Status added in v6.23.0

ServicePerimeter configuration. Specifies sets of resources, restricted services and access levels that determine perimeter content and boundaries. Structure is documented below.

func (ServicePerimeterOutput) Title added in v6.23.0

Human readable title. Must be unique within the Policy.

func (ServicePerimeterOutput) ToOutput added in v6.65.1

func (ServicePerimeterOutput) ToServicePerimeterOutput

func (o ServicePerimeterOutput) ToServicePerimeterOutput() ServicePerimeterOutput

func (ServicePerimeterOutput) ToServicePerimeterOutputWithContext

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

func (ServicePerimeterOutput) UpdateTime added in v6.23.0

Time the AccessPolicy was updated in UTC.

func (ServicePerimeterOutput) UseExplicitDryRunSpec added in v6.23.0

func (o ServicePerimeterOutput) UseExplicitDryRunSpec() pulumi.BoolPtrOutput

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 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/v6/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

## Import

ServicePerimeterResource can be imported using any of these accepted formats:

```sh

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

```

func GetServicePerimeterResource

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

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

func NewServicePerimeterResource

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

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

func (*ServicePerimeterResource) ElementType

func (*ServicePerimeterResource) ElementType() reflect.Type

func (*ServicePerimeterResource) ToOutput added in v6.65.1

func (*ServicePerimeterResource) ToServicePerimeterResourceOutput

func (i *ServicePerimeterResource) ToServicePerimeterResourceOutput() ServicePerimeterResourceOutput

func (*ServicePerimeterResource) ToServicePerimeterResourceOutputWithContext

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

type ServicePerimeterResourceArgs

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

The set of arguments for constructing a ServicePerimeterResource resource.

func (ServicePerimeterResourceArgs) ElementType

type ServicePerimeterResourceArray

type ServicePerimeterResourceArray []ServicePerimeterResourceInput

func (ServicePerimeterResourceArray) ElementType

func (ServicePerimeterResourceArray) ToOutput added in v6.65.1

func (ServicePerimeterResourceArray) ToServicePerimeterResourceArrayOutput

func (i ServicePerimeterResourceArray) ToServicePerimeterResourceArrayOutput() ServicePerimeterResourceArrayOutput

func (ServicePerimeterResourceArray) ToServicePerimeterResourceArrayOutputWithContext

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

type ServicePerimeterResourceArrayInput

type ServicePerimeterResourceArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterResourceArray{ ServicePerimeterResourceArgs{...} }

type ServicePerimeterResourceArrayOutput

type ServicePerimeterResourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterResourceArrayOutput) ElementType

func (ServicePerimeterResourceArrayOutput) Index

func (ServicePerimeterResourceArrayOutput) ToOutput added in v6.65.1

func (ServicePerimeterResourceArrayOutput) ToServicePerimeterResourceArrayOutput

func (o ServicePerimeterResourceArrayOutput) ToServicePerimeterResourceArrayOutput() ServicePerimeterResourceArrayOutput

func (ServicePerimeterResourceArrayOutput) ToServicePerimeterResourceArrayOutputWithContext

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

type ServicePerimeterResourceInput

type ServicePerimeterResourceInput interface {
	pulumi.Input

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

type ServicePerimeterResourceMap

type ServicePerimeterResourceMap map[string]ServicePerimeterResourceInput

func (ServicePerimeterResourceMap) ElementType

func (ServicePerimeterResourceMap) ToOutput added in v6.65.1

func (ServicePerimeterResourceMap) ToServicePerimeterResourceMapOutput

func (i ServicePerimeterResourceMap) ToServicePerimeterResourceMapOutput() ServicePerimeterResourceMapOutput

func (ServicePerimeterResourceMap) ToServicePerimeterResourceMapOutputWithContext

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

type ServicePerimeterResourceMapInput

type ServicePerimeterResourceMapInput interface {
	pulumi.Input

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

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

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

type ServicePerimeterResourceMapOutput

type ServicePerimeterResourceMapOutput struct{ *pulumi.OutputState }

func (ServicePerimeterResourceMapOutput) ElementType

func (ServicePerimeterResourceMapOutput) MapIndex

func (ServicePerimeterResourceMapOutput) ToOutput added in v6.65.1

func (ServicePerimeterResourceMapOutput) ToServicePerimeterResourceMapOutput

func (o ServicePerimeterResourceMapOutput) ToServicePerimeterResourceMapOutput() ServicePerimeterResourceMapOutput

func (ServicePerimeterResourceMapOutput) ToServicePerimeterResourceMapOutputWithContext

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

type ServicePerimeterResourceOutput

type ServicePerimeterResourceOutput struct{ *pulumi.OutputState }

func (ServicePerimeterResourceOutput) ElementType

func (ServicePerimeterResourceOutput) PerimeterName added in v6.23.0

The name of the Service Perimeter to add this resource to.

***

func (ServicePerimeterResourceOutput) Resource added in v6.23.0

A GCP resource that is inside of the service perimeter. Currently only projects are allowed. Format: projects/{project_number}

func (ServicePerimeterResourceOutput) ToOutput added in v6.65.1

func (ServicePerimeterResourceOutput) ToServicePerimeterResourceOutput

func (o ServicePerimeterResourceOutput) ToServicePerimeterResourceOutput() ServicePerimeterResourceOutput

func (ServicePerimeterResourceOutput) ToServicePerimeterResourceOutputWithContext

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

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 GCP resources that are inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	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 GCP resources that are inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	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) ToOutput added in v6.65.1

func (ServicePerimeterSpecArgs) ToServicePerimeterSpecOutput

func (i ServicePerimeterSpecArgs) ToServicePerimeterSpecOutput() ServicePerimeterSpecOutput

func (ServicePerimeterSpecArgs) ToServicePerimeterSpecOutputWithContext

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

func (ServicePerimeterSpecArgs) ToServicePerimeterSpecPtrOutput

func (i ServicePerimeterSpecArgs) ToServicePerimeterSpecPtrOutput() ServicePerimeterSpecPtrOutput

func (ServicePerimeterSpecArgs) ToServicePerimeterSpecPtrOutputWithContext

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

type ServicePerimeterSpecEgressPolicy

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

type ServicePerimeterSpecEgressPolicyArgs

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

func (ServicePerimeterSpecEgressPolicyArgs) ElementType

func (ServicePerimeterSpecEgressPolicyArgs) ToOutput added in v6.65.1

func (ServicePerimeterSpecEgressPolicyArgs) ToServicePerimeterSpecEgressPolicyOutput

func (i ServicePerimeterSpecEgressPolicyArgs) ToServicePerimeterSpecEgressPolicyOutput() ServicePerimeterSpecEgressPolicyOutput

func (ServicePerimeterSpecEgressPolicyArgs) ToServicePerimeterSpecEgressPolicyOutputWithContext

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

type ServicePerimeterSpecEgressPolicyArray

type ServicePerimeterSpecEgressPolicyArray []ServicePerimeterSpecEgressPolicyInput

func (ServicePerimeterSpecEgressPolicyArray) ElementType

func (ServicePerimeterSpecEgressPolicyArray) ToOutput added in v6.65.1

func (ServicePerimeterSpecEgressPolicyArray) ToServicePerimeterSpecEgressPolicyArrayOutput

func (i ServicePerimeterSpecEgressPolicyArray) ToServicePerimeterSpecEgressPolicyArrayOutput() ServicePerimeterSpecEgressPolicyArrayOutput

func (ServicePerimeterSpecEgressPolicyArray) ToServicePerimeterSpecEgressPolicyArrayOutputWithContext

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

type ServicePerimeterSpecEgressPolicyArrayInput

type ServicePerimeterSpecEgressPolicyArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecEgressPolicyArray{ ServicePerimeterSpecEgressPolicyArgs{...} }

type ServicePerimeterSpecEgressPolicyArrayOutput

type ServicePerimeterSpecEgressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyArrayOutput) ElementType

func (ServicePerimeterSpecEgressPolicyArrayOutput) Index

func (ServicePerimeterSpecEgressPolicyArrayOutput) ToOutput added in v6.65.1

func (ServicePerimeterSpecEgressPolicyArrayOutput) ToServicePerimeterSpecEgressPolicyArrayOutput

func (o ServicePerimeterSpecEgressPolicyArrayOutput) ToServicePerimeterSpecEgressPolicyArrayOutput() ServicePerimeterSpecEgressPolicyArrayOutput

func (ServicePerimeterSpecEgressPolicyArrayOutput) ToServicePerimeterSpecEgressPolicyArrayOutputWithContext

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

type ServicePerimeterSpecEgressPolicyEgressFrom

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

type ServicePerimeterSpecEgressPolicyEgressFromArgs

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

func (ServicePerimeterSpecEgressPolicyEgressFromArgs) ElementType

func (ServicePerimeterSpecEgressPolicyEgressFromArgs) ToOutput added in v6.65.1

func (ServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimeterSpecEgressPolicyEgressFromOutput

func (i ServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimeterSpecEgressPolicyEgressFromOutput() ServicePerimeterSpecEgressPolicyEgressFromOutput

func (ServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimeterSpecEgressPolicyEgressFromOutputWithContext

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

func (ServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (i ServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutput() ServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (ServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext

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

type ServicePerimeterSpecEgressPolicyEgressFromInput

type ServicePerimeterSpecEgressPolicyEgressFromInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecEgressPolicyEgressFromArgs{...}

type ServicePerimeterSpecEgressPolicyEgressFromOutput

type ServicePerimeterSpecEgressPolicyEgressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressFromOutput) ElementType

func (ServicePerimeterSpecEgressPolicyEgressFromOutput) Identities

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

func (ServicePerimeterSpecEgressPolicyEgressFromOutput) IdentityType

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

func (ServicePerimeterSpecEgressPolicyEgressFromOutput) ToOutput added in v6.65.1

func (ServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimeterSpecEgressPolicyEgressFromOutput

func (o ServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimeterSpecEgressPolicyEgressFromOutput() ServicePerimeterSpecEgressPolicyEgressFromOutput

func (ServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimeterSpecEgressPolicyEgressFromOutputWithContext

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

func (ServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (o ServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutput() ServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (ServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext

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

type ServicePerimeterSpecEgressPolicyEgressFromPtrInput

type ServicePerimeterSpecEgressPolicyEgressFromPtrInput interface {
	pulumi.Input

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

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

        ServicePerimeterSpecEgressPolicyEgressFromArgs{...}

or:

        nil

type ServicePerimeterSpecEgressPolicyEgressFromPtrOutput

type ServicePerimeterSpecEgressPolicyEgressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressFromPtrOutput) Elem

func (ServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ElementType

func (ServicePerimeterSpecEgressPolicyEgressFromPtrOutput) Identities

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

func (ServicePerimeterSpecEgressPolicyEgressFromPtrOutput) IdentityType

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

func (ServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ToOutput added in v6.65.1

func (ServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (o ServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutput() ServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (ServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext

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

type ServicePerimeterSpecEgressPolicyEgressTo

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

type ServicePerimeterSpecEgressPolicyEgressToArgs

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

func (ServicePerimeterSpecEgressPolicyEgressToArgs) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToArgs) ToOutput added in v6.65.1

func (ServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimeterSpecEgressPolicyEgressToOutput

func (i ServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimeterSpecEgressPolicyEgressToOutput() ServicePerimeterSpecEgressPolicyEgressToOutput

func (ServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimeterSpecEgressPolicyEgressToOutputWithContext

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

func (ServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (i ServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimeterSpecEgressPolicyEgressToPtrOutput() ServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (ServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext

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

type ServicePerimeterSpecEgressPolicyEgressToInput

type ServicePerimeterSpecEgressPolicyEgressToInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecEgressPolicyEgressToArgs{...}

type ServicePerimeterSpecEgressPolicyEgressToOperation

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

type ServicePerimeterSpecEgressPolicyEgressToOperationArgs

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

func (ServicePerimeterSpecEgressPolicyEgressToOperationArgs) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOperationArgs) ToOutput added in v6.65.1

func (ServicePerimeterSpecEgressPolicyEgressToOperationArgs) ToServicePerimeterSpecEgressPolicyEgressToOperationOutput

func (i ServicePerimeterSpecEgressPolicyEgressToOperationArgs) ToServicePerimeterSpecEgressPolicyEgressToOperationOutput() ServicePerimeterSpecEgressPolicyEgressToOperationOutput

func (ServicePerimeterSpecEgressPolicyEgressToOperationArgs) ToServicePerimeterSpecEgressPolicyEgressToOperationOutputWithContext

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

type ServicePerimeterSpecEgressPolicyEgressToOperationArray

type ServicePerimeterSpecEgressPolicyEgressToOperationArray []ServicePerimeterSpecEgressPolicyEgressToOperationInput

func (ServicePerimeterSpecEgressPolicyEgressToOperationArray) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOperationArray) ToOutput added in v6.65.1

func (ServicePerimeterSpecEgressPolicyEgressToOperationArray) ToServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput

func (i ServicePerimeterSpecEgressPolicyEgressToOperationArray) ToServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput() ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput

func (ServicePerimeterSpecEgressPolicyEgressToOperationArray) ToServicePerimeterSpecEgressPolicyEgressToOperationArrayOutputWithContext

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

type ServicePerimeterSpecEgressPolicyEgressToOperationArrayInput

type ServicePerimeterSpecEgressPolicyEgressToOperationArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecEgressPolicyEgressToOperationArray{ ServicePerimeterSpecEgressPolicyEgressToOperationArgs{...} }

type ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput

type ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) Index

func (ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ToOutput added in v6.65.1

func (ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput

func (ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationArrayOutputWithContext

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

type ServicePerimeterSpecEgressPolicyEgressToOperationInput

type ServicePerimeterSpecEgressPolicyEgressToOperationInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecEgressPolicyEgressToOperationArgs{...}

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelector

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

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs

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

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs) ToOutput added in v6.65.1

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutputWithContext

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

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray []ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ToOutput added in v6.65.1

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext

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

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayInput

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray{ ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs{...} }

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToOutput added in v6.65.1

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs{...}

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) Method

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

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) Permission

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

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ToOutput added in v6.65.1

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutputWithContext

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

type ServicePerimeterSpecEgressPolicyEgressToOperationOutput

type ServicePerimeterSpecEgressPolicyEgressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressToOperationOutput) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOperationOutput) MethodSelectors

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

func (ServicePerimeterSpecEgressPolicyEgressToOperationOutput) ServiceName

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

func (ServicePerimeterSpecEgressPolicyEgressToOperationOutput) ToOutput added in v6.65.1

func (ServicePerimeterSpecEgressPolicyEgressToOperationOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationOutput

func (ServicePerimeterSpecEgressPolicyEgressToOperationOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationOutputWithContext

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

type ServicePerimeterSpecEgressPolicyEgressToOutput

type ServicePerimeterSpecEgressPolicyEgressToOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressToOutput) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOutput) ExternalResources added in v6.29.0

A list of external resources that are allowed to be accessed. A request matches if it contains an external resource in this list (Example: s3://bucket/path). Currently '*' is not allowed.

func (ServicePerimeterSpecEgressPolicyEgressToOutput) Operations

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

func (ServicePerimeterSpecEgressPolicyEgressToOutput) Resources

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

func (ServicePerimeterSpecEgressPolicyEgressToOutput) ToOutput added in v6.65.1

func (ServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimeterSpecEgressPolicyEgressToOutput

func (o ServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimeterSpecEgressPolicyEgressToOutput() ServicePerimeterSpecEgressPolicyEgressToOutput

func (ServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimeterSpecEgressPolicyEgressToOutputWithContext

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

func (ServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (o ServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimeterSpecEgressPolicyEgressToPtrOutput() ServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (ServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext

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

type ServicePerimeterSpecEgressPolicyEgressToPtrInput

type ServicePerimeterSpecEgressPolicyEgressToPtrInput interface {
	pulumi.Input

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

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

        ServicePerimeterSpecEgressPolicyEgressToArgs{...}

or:

        nil

type ServicePerimeterSpecEgressPolicyEgressToPtrOutput

type ServicePerimeterSpecEgressPolicyEgressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressToPtrOutput) Elem

func (ServicePerimeterSpecEgressPolicyEgressToPtrOutput) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToPtrOutput) ExternalResources added in v6.29.0

A list of external resources that are allowed to be accessed. A request matches if it contains an external resource in this list (Example: s3://bucket/path). Currently '*' is not allowed.

func (ServicePerimeterSpecEgressPolicyEgressToPtrOutput) Operations

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

func (ServicePerimeterSpecEgressPolicyEgressToPtrOutput) Resources

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

func (ServicePerimeterSpecEgressPolicyEgressToPtrOutput) ToOutput added in v6.65.1

func (ServicePerimeterSpecEgressPolicyEgressToPtrOutput) ToServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (o ServicePerimeterSpecEgressPolicyEgressToPtrOutput) ToServicePerimeterSpecEgressPolicyEgressToPtrOutput() ServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (ServicePerimeterSpecEgressPolicyEgressToPtrOutput) ToServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext

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

type ServicePerimeterSpecEgressPolicyInput

type ServicePerimeterSpecEgressPolicyInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecEgressPolicyArgs{...}

type ServicePerimeterSpecEgressPolicyOutput

type ServicePerimeterSpecEgressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyOutput) EgressFrom

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

func (ServicePerimeterSpecEgressPolicyOutput) EgressTo

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

func (ServicePerimeterSpecEgressPolicyOutput) ElementType

func (ServicePerimeterSpecEgressPolicyOutput) ToOutput added in v6.65.1

func (ServicePerimeterSpecEgressPolicyOutput) ToServicePerimeterSpecEgressPolicyOutput

func (o ServicePerimeterSpecEgressPolicyOutput) ToServicePerimeterSpecEgressPolicyOutput() ServicePerimeterSpecEgressPolicyOutput

func (ServicePerimeterSpecEgressPolicyOutput) ToServicePerimeterSpecEgressPolicyOutputWithContext

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

type ServicePerimeterSpecIngressPolicy

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

type ServicePerimeterSpecIngressPolicyArgs

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

func (ServicePerimeterSpecIngressPolicyArgs) ElementType

func (ServicePerimeterSpecIngressPolicyArgs) ToOutput added in v6.65.1

func (ServicePerimeterSpecIngressPolicyArgs) ToServicePerimeterSpecIngressPolicyOutput

func (i ServicePerimeterSpecIngressPolicyArgs) ToServicePerimeterSpecIngressPolicyOutput() ServicePerimeterSpecIngressPolicyOutput

func (ServicePerimeterSpecIngressPolicyArgs) ToServicePerimeterSpecIngressPolicyOutputWithContext

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

type ServicePerimeterSpecIngressPolicyArray

type ServicePerimeterSpecIngressPolicyArray []ServicePerimeterSpecIngressPolicyInput

func (ServicePerimeterSpecIngressPolicyArray) ElementType

func (ServicePerimeterSpecIngressPolicyArray) ToOutput added in v6.65.1

func (ServicePerimeterSpecIngressPolicyArray) ToServicePerimeterSpecIngressPolicyArrayOutput

func (i ServicePerimeterSpecIngressPolicyArray) ToServicePerimeterSpecIngressPolicyArrayOutput() ServicePerimeterSpecIngressPolicyArrayOutput

func (ServicePerimeterSpecIngressPolicyArray) ToServicePerimeterSpecIngressPolicyArrayOutputWithContext

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

type ServicePerimeterSpecIngressPolicyArrayInput

type ServicePerimeterSpecIngressPolicyArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecIngressPolicyArray{ ServicePerimeterSpecIngressPolicyArgs{...} }

type ServicePerimeterSpecIngressPolicyArrayOutput

type ServicePerimeterSpecIngressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyArrayOutput) ElementType

func (ServicePerimeterSpecIngressPolicyArrayOutput) Index

func (ServicePerimeterSpecIngressPolicyArrayOutput) ToOutput added in v6.65.1

func (ServicePerimeterSpecIngressPolicyArrayOutput) ToServicePerimeterSpecIngressPolicyArrayOutput

func (o ServicePerimeterSpecIngressPolicyArrayOutput) ToServicePerimeterSpecIngressPolicyArrayOutput() ServicePerimeterSpecIngressPolicyArrayOutput

func (ServicePerimeterSpecIngressPolicyArrayOutput) ToServicePerimeterSpecIngressPolicyArrayOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressFrom

type ServicePerimeterSpecIngressPolicyIngressFrom struct {
	// A list of identities that are allowed access through this ingress policy.
	// 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 from 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`, `ANY_SERVICE_ACCOUNT`.
	IdentityType *string `pulumi:"identityType"`
	// Sources that this `IngressPolicy` authorizes access from.
	// Structure is documented below.
	Sources []ServicePerimeterSpecIngressPolicyIngressFromSource `pulumi:"sources"`
}

type ServicePerimeterSpecIngressPolicyIngressFromArgs

type ServicePerimeterSpecIngressPolicyIngressFromArgs struct {
	// A list of identities that are allowed access through this ingress policy.
	// 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 from 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`, `ANY_SERVICE_ACCOUNT`.
	IdentityType pulumi.StringPtrInput `pulumi:"identityType"`
	// Sources that this `IngressPolicy` authorizes access from.
	// Structure is documented below.
	Sources ServicePerimeterSpecIngressPolicyIngressFromSourceArrayInput `pulumi:"sources"`
}

func (ServicePerimeterSpecIngressPolicyIngressFromArgs) ElementType

func (ServicePerimeterSpecIngressPolicyIngressFromArgs) ToOutput added in v6.65.1

func (ServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimeterSpecIngressPolicyIngressFromOutput

func (i ServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimeterSpecIngressPolicyIngressFromOutput() ServicePerimeterSpecIngressPolicyIngressFromOutput

func (ServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimeterSpecIngressPolicyIngressFromOutputWithContext

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

func (ServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutput

func (i ServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutput() ServicePerimeterSpecIngressPolicyIngressFromPtrOutput

func (ServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressFromInput

type ServicePerimeterSpecIngressPolicyIngressFromInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecIngressPolicyIngressFromArgs{...}

type ServicePerimeterSpecIngressPolicyIngressFromOutput

type ServicePerimeterSpecIngressPolicyIngressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressFromOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressFromOutput) Identities

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

func (ServicePerimeterSpecIngressPolicyIngressFromOutput) IdentityType

Specifies the type of identities that are allowed access from 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`, `ANY_SERVICE_ACCOUNT`.

func (ServicePerimeterSpecIngressPolicyIngressFromOutput) Sources

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

func (ServicePerimeterSpecIngressPolicyIngressFromOutput) ToOutput added in v6.65.1

func (ServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimeterSpecIngressPolicyIngressFromOutput

func (o ServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimeterSpecIngressPolicyIngressFromOutput() ServicePerimeterSpecIngressPolicyIngressFromOutput

func (ServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimeterSpecIngressPolicyIngressFromOutputWithContext

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

func (ServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutput

func (o ServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutput() ServicePerimeterSpecIngressPolicyIngressFromPtrOutput

func (ServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressFromPtrInput

type ServicePerimeterSpecIngressPolicyIngressFromPtrInput interface {
	pulumi.Input

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

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

        ServicePerimeterSpecIngressPolicyIngressFromArgs{...}

or:

        nil

type ServicePerimeterSpecIngressPolicyIngressFromPtrOutput

type ServicePerimeterSpecIngressPolicyIngressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressFromPtrOutput) Elem

func (ServicePerimeterSpecIngressPolicyIngressFromPtrOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressFromPtrOutput) Identities

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

func (ServicePerimeterSpecIngressPolicyIngressFromPtrOutput) IdentityType

Specifies the type of identities that are allowed access from 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`, `ANY_SERVICE_ACCOUNT`.

func (ServicePerimeterSpecIngressPolicyIngressFromPtrOutput) Sources

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

func (ServicePerimeterSpecIngressPolicyIngressFromPtrOutput) ToOutput added in v6.65.1

func (ServicePerimeterSpecIngressPolicyIngressFromPtrOutput) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutput

func (ServicePerimeterSpecIngressPolicyIngressFromPtrOutput) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressFromSource

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

type ServicePerimeterSpecIngressPolicyIngressFromSourceArgs

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

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ElementType

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ToOutput added in v6.65.1

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ToServicePerimeterSpecIngressPolicyIngressFromSourceOutput

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ToServicePerimeterSpecIngressPolicyIngressFromSourceOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressFromSourceArray

type ServicePerimeterSpecIngressPolicyIngressFromSourceArray []ServicePerimeterSpecIngressPolicyIngressFromSourceInput

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArray) ElementType

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArray) ToOutput added in v6.65.1

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArray) ToServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput

func (i ServicePerimeterSpecIngressPolicyIngressFromSourceArray) ToServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput() ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArray) ToServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressFromSourceArrayInput

type ServicePerimeterSpecIngressPolicyIngressFromSourceArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecIngressPolicyIngressFromSourceArray{ ServicePerimeterSpecIngressPolicyIngressFromSourceArgs{...} }

type ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput

type ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) Index

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ToOutput added in v6.65.1

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ToServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ToServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressFromSourceInput

type ServicePerimeterSpecIngressPolicyIngressFromSourceInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecIngressPolicyIngressFromSourceArgs{...}

type ServicePerimeterSpecIngressPolicyIngressFromSourceOutput

type ServicePerimeterSpecIngressPolicyIngressFromSourceOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressFromSourceOutput) AccessLevel

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

func (ServicePerimeterSpecIngressPolicyIngressFromSourceOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressFromSourceOutput) Resource

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

func (ServicePerimeterSpecIngressPolicyIngressFromSourceOutput) ToOutput added in v6.65.1

func (ServicePerimeterSpecIngressPolicyIngressFromSourceOutput) ToServicePerimeterSpecIngressPolicyIngressFromSourceOutput

func (ServicePerimeterSpecIngressPolicyIngressFromSourceOutput) ToServicePerimeterSpecIngressPolicyIngressFromSourceOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressTo

type ServicePerimeterSpecIngressPolicyIngressTo struct {
	// A list of `ApiOperations` the sources specified in corresponding `IngressFrom`
	// are allowed to perform in this `ServicePerimeter`.
	// Structure is documented below.
	Operations []ServicePerimeterSpecIngressPolicyIngressToOperation `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, protected by this `ServicePerimeter`
	// that are allowed to be accessed by sources defined in the
	// corresponding `IngressFrom`. A request matches if it contains
	// a resource in this list. If `*` is specified for resources,
	// then this `IngressTo` rule will authorize access to all
	// resources inside the perimeter, provided that the request
	// also matches the `operations` field.
	Resources []string `pulumi:"resources"`
}

type ServicePerimeterSpecIngressPolicyIngressToArgs

type ServicePerimeterSpecIngressPolicyIngressToArgs struct {
	// A list of `ApiOperations` the sources specified in corresponding `IngressFrom`
	// are allowed to perform in this `ServicePerimeter`.
	// Structure is documented below.
	Operations ServicePerimeterSpecIngressPolicyIngressToOperationArrayInput `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, protected by this `ServicePerimeter`
	// that are allowed to be accessed by sources defined in the
	// corresponding `IngressFrom`. A request matches if it contains
	// a resource in this list. If `*` is specified for resources,
	// then this `IngressTo` rule will authorize access to all
	// resources inside the perimeter, provided that the request
	// also matches the `operations` field.
	Resources pulumi.StringArrayInput `pulumi:"resources"`
}

func (ServicePerimeterSpecIngressPolicyIngressToArgs) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToArgs) ToOutput added in v6.65.1

func (ServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimeterSpecIngressPolicyIngressToOutput

func (i ServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimeterSpecIngressPolicyIngressToOutput() ServicePerimeterSpecIngressPolicyIngressToOutput

func (ServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimeterSpecIngressPolicyIngressToOutputWithContext

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

func (ServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (i ServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimeterSpecIngressPolicyIngressToPtrOutput() ServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (ServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressToInput

type ServicePerimeterSpecIngressPolicyIngressToInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecIngressPolicyIngressToArgs{...}

type ServicePerimeterSpecIngressPolicyIngressToOperation

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

type ServicePerimeterSpecIngressPolicyIngressToOperationArgs

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

func (ServicePerimeterSpecIngressPolicyIngressToOperationArgs) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOperationArgs) ToOutput added in v6.65.1

func (ServicePerimeterSpecIngressPolicyIngressToOperationArgs) ToServicePerimeterSpecIngressPolicyIngressToOperationOutput

func (ServicePerimeterSpecIngressPolicyIngressToOperationArgs) ToServicePerimeterSpecIngressPolicyIngressToOperationOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressToOperationArray

type ServicePerimeterSpecIngressPolicyIngressToOperationArray []ServicePerimeterSpecIngressPolicyIngressToOperationInput

func (ServicePerimeterSpecIngressPolicyIngressToOperationArray) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOperationArray) ToOutput added in v6.65.1

func (ServicePerimeterSpecIngressPolicyIngressToOperationArray) ToServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput

func (i ServicePerimeterSpecIngressPolicyIngressToOperationArray) ToServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput() ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput

func (ServicePerimeterSpecIngressPolicyIngressToOperationArray) ToServicePerimeterSpecIngressPolicyIngressToOperationArrayOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressToOperationArrayInput

type ServicePerimeterSpecIngressPolicyIngressToOperationArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecIngressPolicyIngressToOperationArray{ ServicePerimeterSpecIngressPolicyIngressToOperationArgs{...} }

type ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput

type ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) Index

func (ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ToOutput added in v6.65.1

func (ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput

func (ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationArrayOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressToOperationInput

type ServicePerimeterSpecIngressPolicyIngressToOperationInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecIngressPolicyIngressToOperationArgs{...}

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelector

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

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs

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

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs) ToOutput added in v6.65.1

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray []ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ToOutput added in v6.65.1

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayInput

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray{ ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs{...} }

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToOutput added in v6.65.1

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs{...}

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) Method

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

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) Permission

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

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ToOutput added in v6.65.1

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressToOperationOutput

type ServicePerimeterSpecIngressPolicyIngressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressToOperationOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOperationOutput) MethodSelectors

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

func (ServicePerimeterSpecIngressPolicyIngressToOperationOutput) ServiceName

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

func (ServicePerimeterSpecIngressPolicyIngressToOperationOutput) ToOutput added in v6.65.1

func (ServicePerimeterSpecIngressPolicyIngressToOperationOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationOutput

func (ServicePerimeterSpecIngressPolicyIngressToOperationOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressToOutput

type ServicePerimeterSpecIngressPolicyIngressToOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressToOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOutput) Operations

A list of `ApiOperations` the sources specified in corresponding `IngressFrom` are allowed to perform in this `ServicePerimeter`. Structure is documented below.

func (ServicePerimeterSpecIngressPolicyIngressToOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, protected by this `ServicePerimeter` that are allowed to be accessed by sources defined in the corresponding `IngressFrom`. A request matches if it contains a resource in this list. If `*` is specified for resources, then this `IngressTo` rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.

func (ServicePerimeterSpecIngressPolicyIngressToOutput) ToOutput added in v6.65.1

func (ServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimeterSpecIngressPolicyIngressToOutput

func (o ServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimeterSpecIngressPolicyIngressToOutput() ServicePerimeterSpecIngressPolicyIngressToOutput

func (ServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimeterSpecIngressPolicyIngressToOutputWithContext

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

func (ServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (o ServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimeterSpecIngressPolicyIngressToPtrOutput() ServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (ServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressToPtrInput

type ServicePerimeterSpecIngressPolicyIngressToPtrInput interface {
	pulumi.Input

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

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

        ServicePerimeterSpecIngressPolicyIngressToArgs{...}

or:

        nil

type ServicePerimeterSpecIngressPolicyIngressToPtrOutput

type ServicePerimeterSpecIngressPolicyIngressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressToPtrOutput) Elem

func (ServicePerimeterSpecIngressPolicyIngressToPtrOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToPtrOutput) Operations

A list of `ApiOperations` the sources specified in corresponding `IngressFrom` are allowed to perform in this `ServicePerimeter`. Structure is documented below.

func (ServicePerimeterSpecIngressPolicyIngressToPtrOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, protected by this `ServicePerimeter` that are allowed to be accessed by sources defined in the corresponding `IngressFrom`. A request matches if it contains a resource in this list. If `*` is specified for resources, then this `IngressTo` rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.

func (ServicePerimeterSpecIngressPolicyIngressToPtrOutput) ToOutput added in v6.65.1

func (ServicePerimeterSpecIngressPolicyIngressToPtrOutput) ToServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (o ServicePerimeterSpecIngressPolicyIngressToPtrOutput) ToServicePerimeterSpecIngressPolicyIngressToPtrOutput() ServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (ServicePerimeterSpecIngressPolicyIngressToPtrOutput) ToServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext

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

type ServicePerimeterSpecIngressPolicyInput

type ServicePerimeterSpecIngressPolicyInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecIngressPolicyArgs{...}

type ServicePerimeterSpecIngressPolicyOutput

type ServicePerimeterSpecIngressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyOutput) ElementType

func (ServicePerimeterSpecIngressPolicyOutput) IngressFrom

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

func (ServicePerimeterSpecIngressPolicyOutput) IngressTo

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

func (ServicePerimeterSpecIngressPolicyOutput) ToOutput added in v6.65.1

func (ServicePerimeterSpecIngressPolicyOutput) ToServicePerimeterSpecIngressPolicyOutput

func (o ServicePerimeterSpecIngressPolicyOutput) ToServicePerimeterSpecIngressPolicyOutput() ServicePerimeterSpecIngressPolicyOutput

func (ServicePerimeterSpecIngressPolicyOutput) ToServicePerimeterSpecIngressPolicyOutputWithContext

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

type ServicePerimeterSpecInput

type ServicePerimeterSpecInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecArgs{...}

type ServicePerimeterSpecOutput

type ServicePerimeterSpecOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecOutput) AccessLevels

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

func (ServicePerimeterSpecOutput) EgressPolicies

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

func (ServicePerimeterSpecOutput) ElementType

func (ServicePerimeterSpecOutput) ElementType() reflect.Type

func (ServicePerimeterSpecOutput) IngressPolicies

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

func (ServicePerimeterSpecOutput) Resources

A list of GCP resources that are inside of the service perimeter. Currently only projects are allowed. Format: projects/{project_number}

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) ToOutput added in v6.65.1

func (ServicePerimeterSpecOutput) ToServicePerimeterSpecOutput

func (o ServicePerimeterSpecOutput) ToServicePerimeterSpecOutput() ServicePerimeterSpecOutput

func (ServicePerimeterSpecOutput) ToServicePerimeterSpecOutputWithContext

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

func (ServicePerimeterSpecOutput) ToServicePerimeterSpecPtrOutput

func (o ServicePerimeterSpecOutput) ToServicePerimeterSpecPtrOutput() ServicePerimeterSpecPtrOutput

func (ServicePerimeterSpecOutput) ToServicePerimeterSpecPtrOutputWithContext

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

func (ServicePerimeterSpecOutput) VpcAccessibleServices

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

type ServicePerimeterSpecPtrInput

type ServicePerimeterSpecPtrInput interface {
	pulumi.Input

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

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

        ServicePerimeterSpecArgs{...}

or:

        nil

type ServicePerimeterSpecPtrOutput

type ServicePerimeterSpecPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecPtrOutput) AccessLevels

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

func (ServicePerimeterSpecPtrOutput) EgressPolicies

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

func (ServicePerimeterSpecPtrOutput) Elem

func (ServicePerimeterSpecPtrOutput) ElementType

func (ServicePerimeterSpecPtrOutput) IngressPolicies

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

func (ServicePerimeterSpecPtrOutput) Resources

A list of GCP resources that are inside of the service perimeter. Currently only projects are allowed. Format: projects/{project_number}

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) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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`, `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 GCP resources that are inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	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 GCP resources that are inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	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) ToOutput added in v6.65.1

func (ServicePerimeterStatusArgs) ToServicePerimeterStatusOutput

func (i ServicePerimeterStatusArgs) ToServicePerimeterStatusOutput() ServicePerimeterStatusOutput

func (ServicePerimeterStatusArgs) ToServicePerimeterStatusOutputWithContext

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

func (ServicePerimeterStatusArgs) ToServicePerimeterStatusPtrOutput

func (i ServicePerimeterStatusArgs) ToServicePerimeterStatusPtrOutput() ServicePerimeterStatusPtrOutput

func (ServicePerimeterStatusArgs) ToServicePerimeterStatusPtrOutputWithContext

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

type ServicePerimeterStatusEgressPolicy

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

type ServicePerimeterStatusEgressPolicyArgs

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

func (ServicePerimeterStatusEgressPolicyArgs) ElementType

func (ServicePerimeterStatusEgressPolicyArgs) ToOutput added in v6.65.1

func (ServicePerimeterStatusEgressPolicyArgs) ToServicePerimeterStatusEgressPolicyOutput

func (i ServicePerimeterStatusEgressPolicyArgs) ToServicePerimeterStatusEgressPolicyOutput() ServicePerimeterStatusEgressPolicyOutput

func (ServicePerimeterStatusEgressPolicyArgs) ToServicePerimeterStatusEgressPolicyOutputWithContext

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

type ServicePerimeterStatusEgressPolicyArray

type ServicePerimeterStatusEgressPolicyArray []ServicePerimeterStatusEgressPolicyInput

func (ServicePerimeterStatusEgressPolicyArray) ElementType

func (ServicePerimeterStatusEgressPolicyArray) ToOutput added in v6.65.1

func (ServicePerimeterStatusEgressPolicyArray) ToServicePerimeterStatusEgressPolicyArrayOutput

func (i ServicePerimeterStatusEgressPolicyArray) ToServicePerimeterStatusEgressPolicyArrayOutput() ServicePerimeterStatusEgressPolicyArrayOutput

func (ServicePerimeterStatusEgressPolicyArray) ToServicePerimeterStatusEgressPolicyArrayOutputWithContext

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

type ServicePerimeterStatusEgressPolicyArrayInput

type ServicePerimeterStatusEgressPolicyArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusEgressPolicyArray{ ServicePerimeterStatusEgressPolicyArgs{...} }

type ServicePerimeterStatusEgressPolicyArrayOutput

type ServicePerimeterStatusEgressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyArrayOutput) ElementType

func (ServicePerimeterStatusEgressPolicyArrayOutput) Index

func (ServicePerimeterStatusEgressPolicyArrayOutput) ToOutput added in v6.65.1

func (ServicePerimeterStatusEgressPolicyArrayOutput) ToServicePerimeterStatusEgressPolicyArrayOutput

func (o ServicePerimeterStatusEgressPolicyArrayOutput) ToServicePerimeterStatusEgressPolicyArrayOutput() ServicePerimeterStatusEgressPolicyArrayOutput

func (ServicePerimeterStatusEgressPolicyArrayOutput) ToServicePerimeterStatusEgressPolicyArrayOutputWithContext

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

type ServicePerimeterStatusEgressPolicyEgressFrom

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

type ServicePerimeterStatusEgressPolicyEgressFromArgs

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

func (ServicePerimeterStatusEgressPolicyEgressFromArgs) ElementType

func (ServicePerimeterStatusEgressPolicyEgressFromArgs) ToOutput added in v6.65.1

func (ServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimeterStatusEgressPolicyEgressFromOutput

func (i ServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimeterStatusEgressPolicyEgressFromOutput() ServicePerimeterStatusEgressPolicyEgressFromOutput

func (ServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimeterStatusEgressPolicyEgressFromOutputWithContext

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

func (ServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutput

func (i ServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutput() ServicePerimeterStatusEgressPolicyEgressFromPtrOutput

func (ServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext

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

type ServicePerimeterStatusEgressPolicyEgressFromInput

type ServicePerimeterStatusEgressPolicyEgressFromInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusEgressPolicyEgressFromArgs{...}

type ServicePerimeterStatusEgressPolicyEgressFromOutput

type ServicePerimeterStatusEgressPolicyEgressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressFromOutput) ElementType

func (ServicePerimeterStatusEgressPolicyEgressFromOutput) Identities

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

func (ServicePerimeterStatusEgressPolicyEgressFromOutput) IdentityType

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

func (ServicePerimeterStatusEgressPolicyEgressFromOutput) ToOutput added in v6.65.1

func (ServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimeterStatusEgressPolicyEgressFromOutput

func (o ServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimeterStatusEgressPolicyEgressFromOutput() ServicePerimeterStatusEgressPolicyEgressFromOutput

func (ServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimeterStatusEgressPolicyEgressFromOutputWithContext

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

func (ServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutput

func (o ServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutput() ServicePerimeterStatusEgressPolicyEgressFromPtrOutput

func (ServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext

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

type ServicePerimeterStatusEgressPolicyEgressFromPtrInput

type ServicePerimeterStatusEgressPolicyEgressFromPtrInput interface {
	pulumi.Input

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

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

        ServicePerimeterStatusEgressPolicyEgressFromArgs{...}

or:

        nil

type ServicePerimeterStatusEgressPolicyEgressFromPtrOutput

type ServicePerimeterStatusEgressPolicyEgressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressFromPtrOutput) Elem

func (ServicePerimeterStatusEgressPolicyEgressFromPtrOutput) ElementType

func (ServicePerimeterStatusEgressPolicyEgressFromPtrOutput) Identities

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

func (ServicePerimeterStatusEgressPolicyEgressFromPtrOutput) IdentityType

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

func (ServicePerimeterStatusEgressPolicyEgressFromPtrOutput) ToOutput added in v6.65.1

func (ServicePerimeterStatusEgressPolicyEgressFromPtrOutput) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutput

func (ServicePerimeterStatusEgressPolicyEgressFromPtrOutput) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext

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

type ServicePerimeterStatusEgressPolicyEgressTo

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

type ServicePerimeterStatusEgressPolicyEgressToArgs

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

func (ServicePerimeterStatusEgressPolicyEgressToArgs) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToArgs) ToOutput added in v6.65.1

func (ServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimeterStatusEgressPolicyEgressToOutput

func (i ServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimeterStatusEgressPolicyEgressToOutput() ServicePerimeterStatusEgressPolicyEgressToOutput

func (ServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimeterStatusEgressPolicyEgressToOutputWithContext

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

func (ServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (i ServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimeterStatusEgressPolicyEgressToPtrOutput() ServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (ServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext

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

type ServicePerimeterStatusEgressPolicyEgressToInput

type ServicePerimeterStatusEgressPolicyEgressToInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusEgressPolicyEgressToArgs{...}

type ServicePerimeterStatusEgressPolicyEgressToOperation

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

type ServicePerimeterStatusEgressPolicyEgressToOperationArgs

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

func (ServicePerimeterStatusEgressPolicyEgressToOperationArgs) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOperationArgs) ToOutput added in v6.65.1

func (ServicePerimeterStatusEgressPolicyEgressToOperationArgs) ToServicePerimeterStatusEgressPolicyEgressToOperationOutput

func (ServicePerimeterStatusEgressPolicyEgressToOperationArgs) ToServicePerimeterStatusEgressPolicyEgressToOperationOutputWithContext

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

type ServicePerimeterStatusEgressPolicyEgressToOperationArray

type ServicePerimeterStatusEgressPolicyEgressToOperationArray []ServicePerimeterStatusEgressPolicyEgressToOperationInput

func (ServicePerimeterStatusEgressPolicyEgressToOperationArray) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOperationArray) ToOutput added in v6.65.1

func (ServicePerimeterStatusEgressPolicyEgressToOperationArray) ToServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput

func (i ServicePerimeterStatusEgressPolicyEgressToOperationArray) ToServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput() ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput

func (ServicePerimeterStatusEgressPolicyEgressToOperationArray) ToServicePerimeterStatusEgressPolicyEgressToOperationArrayOutputWithContext

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

type ServicePerimeterStatusEgressPolicyEgressToOperationArrayInput

type ServicePerimeterStatusEgressPolicyEgressToOperationArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusEgressPolicyEgressToOperationArray{ ServicePerimeterStatusEgressPolicyEgressToOperationArgs{...} }

type ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput

type ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) Index

func (ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ToOutput added in v6.65.1

func (ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput

func (ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationArrayOutputWithContext

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

type ServicePerimeterStatusEgressPolicyEgressToOperationInput

type ServicePerimeterStatusEgressPolicyEgressToOperationInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusEgressPolicyEgressToOperationArgs{...}

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelector

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

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs

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

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs) ToOutput added in v6.65.1

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutputWithContext

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

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray []ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ToOutput added in v6.65.1

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext

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

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayInput

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray{ ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs{...} }

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToOutput added in v6.65.1

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs{...}

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) Method

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

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) Permission

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

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ToOutput added in v6.65.1

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutputWithContext

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

type ServicePerimeterStatusEgressPolicyEgressToOperationOutput

type ServicePerimeterStatusEgressPolicyEgressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressToOperationOutput) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOperationOutput) MethodSelectors

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

func (ServicePerimeterStatusEgressPolicyEgressToOperationOutput) ServiceName

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

func (ServicePerimeterStatusEgressPolicyEgressToOperationOutput) ToOutput added in v6.65.1

func (ServicePerimeterStatusEgressPolicyEgressToOperationOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationOutput

func (ServicePerimeterStatusEgressPolicyEgressToOperationOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationOutputWithContext

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

type ServicePerimeterStatusEgressPolicyEgressToOutput

type ServicePerimeterStatusEgressPolicyEgressToOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressToOutput) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOutput) ExternalResources added in v6.29.0

A list of external resources that are allowed to be accessed. A request matches if it contains an external resource in this list (Example: s3://bucket/path). Currently '*' is not allowed.

func (ServicePerimeterStatusEgressPolicyEgressToOutput) Operations

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

func (ServicePerimeterStatusEgressPolicyEgressToOutput) Resources

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

func (ServicePerimeterStatusEgressPolicyEgressToOutput) ToOutput added in v6.65.1

func (ServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimeterStatusEgressPolicyEgressToOutput

func (o ServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimeterStatusEgressPolicyEgressToOutput() ServicePerimeterStatusEgressPolicyEgressToOutput

func (ServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimeterStatusEgressPolicyEgressToOutputWithContext

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

func (ServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (o ServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimeterStatusEgressPolicyEgressToPtrOutput() ServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (ServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext

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

type ServicePerimeterStatusEgressPolicyEgressToPtrInput

type ServicePerimeterStatusEgressPolicyEgressToPtrInput interface {
	pulumi.Input

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

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

        ServicePerimeterStatusEgressPolicyEgressToArgs{...}

or:

        nil

type ServicePerimeterStatusEgressPolicyEgressToPtrOutput

type ServicePerimeterStatusEgressPolicyEgressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressToPtrOutput) Elem

func (ServicePerimeterStatusEgressPolicyEgressToPtrOutput) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToPtrOutput) ExternalResources added in v6.29.0

A list of external resources that are allowed to be accessed. A request matches if it contains an external resource in this list (Example: s3://bucket/path). Currently '*' is not allowed.

func (ServicePerimeterStatusEgressPolicyEgressToPtrOutput) Operations

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

func (ServicePerimeterStatusEgressPolicyEgressToPtrOutput) Resources

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

func (ServicePerimeterStatusEgressPolicyEgressToPtrOutput) ToOutput added in v6.65.1

func (ServicePerimeterStatusEgressPolicyEgressToPtrOutput) ToServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (o ServicePerimeterStatusEgressPolicyEgressToPtrOutput) ToServicePerimeterStatusEgressPolicyEgressToPtrOutput() ServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (ServicePerimeterStatusEgressPolicyEgressToPtrOutput) ToServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext

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

type ServicePerimeterStatusEgressPolicyInput

type ServicePerimeterStatusEgressPolicyInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusEgressPolicyArgs{...}

type ServicePerimeterStatusEgressPolicyOutput

type ServicePerimeterStatusEgressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyOutput) EgressFrom

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

func (ServicePerimeterStatusEgressPolicyOutput) EgressTo

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

func (ServicePerimeterStatusEgressPolicyOutput) ElementType

func (ServicePerimeterStatusEgressPolicyOutput) ToOutput added in v6.65.1

func (ServicePerimeterStatusEgressPolicyOutput) ToServicePerimeterStatusEgressPolicyOutput

func (o ServicePerimeterStatusEgressPolicyOutput) ToServicePerimeterStatusEgressPolicyOutput() ServicePerimeterStatusEgressPolicyOutput

func (ServicePerimeterStatusEgressPolicyOutput) ToServicePerimeterStatusEgressPolicyOutputWithContext

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

type ServicePerimeterStatusIngressPolicy

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

type ServicePerimeterStatusIngressPolicyArgs

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

func (ServicePerimeterStatusIngressPolicyArgs) ElementType

func (ServicePerimeterStatusIngressPolicyArgs) ToOutput added in v6.65.1

func (ServicePerimeterStatusIngressPolicyArgs) ToServicePerimeterStatusIngressPolicyOutput

func (i ServicePerimeterStatusIngressPolicyArgs) ToServicePerimeterStatusIngressPolicyOutput() ServicePerimeterStatusIngressPolicyOutput

func (ServicePerimeterStatusIngressPolicyArgs) ToServicePerimeterStatusIngressPolicyOutputWithContext

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

type ServicePerimeterStatusIngressPolicyArray

type ServicePerimeterStatusIngressPolicyArray []ServicePerimeterStatusIngressPolicyInput

func (ServicePerimeterStatusIngressPolicyArray) ElementType

func (ServicePerimeterStatusIngressPolicyArray) ToOutput added in v6.65.1

func (ServicePerimeterStatusIngressPolicyArray) ToServicePerimeterStatusIngressPolicyArrayOutput

func (i ServicePerimeterStatusIngressPolicyArray) ToServicePerimeterStatusIngressPolicyArrayOutput() ServicePerimeterStatusIngressPolicyArrayOutput

func (ServicePerimeterStatusIngressPolicyArray) ToServicePerimeterStatusIngressPolicyArrayOutputWithContext

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

type ServicePerimeterStatusIngressPolicyArrayInput

type ServicePerimeterStatusIngressPolicyArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusIngressPolicyArray{ ServicePerimeterStatusIngressPolicyArgs{...} }

type ServicePerimeterStatusIngressPolicyArrayOutput

type ServicePerimeterStatusIngressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyArrayOutput) ElementType

func (ServicePerimeterStatusIngressPolicyArrayOutput) Index

func (ServicePerimeterStatusIngressPolicyArrayOutput) ToOutput added in v6.65.1

func (ServicePerimeterStatusIngressPolicyArrayOutput) ToServicePerimeterStatusIngressPolicyArrayOutput

func (o ServicePerimeterStatusIngressPolicyArrayOutput) ToServicePerimeterStatusIngressPolicyArrayOutput() ServicePerimeterStatusIngressPolicyArrayOutput

func (ServicePerimeterStatusIngressPolicyArrayOutput) ToServicePerimeterStatusIngressPolicyArrayOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressFrom

type ServicePerimeterStatusIngressPolicyIngressFrom struct {
	// A list of identities that are allowed access through this ingress policy.
	// 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 from 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`, `ANY_SERVICE_ACCOUNT`.
	IdentityType *string `pulumi:"identityType"`
	// Sources that this `IngressPolicy` authorizes access from.
	// Structure is documented below.
	Sources []ServicePerimeterStatusIngressPolicyIngressFromSource `pulumi:"sources"`
}

type ServicePerimeterStatusIngressPolicyIngressFromArgs

type ServicePerimeterStatusIngressPolicyIngressFromArgs struct {
	// A list of identities that are allowed access through this ingress policy.
	// 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 from 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`, `ANY_SERVICE_ACCOUNT`.
	IdentityType pulumi.StringPtrInput `pulumi:"identityType"`
	// Sources that this `IngressPolicy` authorizes access from.
	// Structure is documented below.
	Sources ServicePerimeterStatusIngressPolicyIngressFromSourceArrayInput `pulumi:"sources"`
}

func (ServicePerimeterStatusIngressPolicyIngressFromArgs) ElementType

func (ServicePerimeterStatusIngressPolicyIngressFromArgs) ToOutput added in v6.65.1

func (ServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimeterStatusIngressPolicyIngressFromOutput

func (i ServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimeterStatusIngressPolicyIngressFromOutput() ServicePerimeterStatusIngressPolicyIngressFromOutput

func (ServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimeterStatusIngressPolicyIngressFromOutputWithContext

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

func (ServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutput

func (i ServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutput() ServicePerimeterStatusIngressPolicyIngressFromPtrOutput

func (ServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressFromInput

type ServicePerimeterStatusIngressPolicyIngressFromInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusIngressPolicyIngressFromArgs{...}

type ServicePerimeterStatusIngressPolicyIngressFromOutput

type ServicePerimeterStatusIngressPolicyIngressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressFromOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressFromOutput) Identities

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

func (ServicePerimeterStatusIngressPolicyIngressFromOutput) IdentityType

Specifies the type of identities that are allowed access from 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`, `ANY_SERVICE_ACCOUNT`.

func (ServicePerimeterStatusIngressPolicyIngressFromOutput) Sources

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

func (ServicePerimeterStatusIngressPolicyIngressFromOutput) ToOutput added in v6.65.1

func (ServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimeterStatusIngressPolicyIngressFromOutput

func (ServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimeterStatusIngressPolicyIngressFromOutputWithContext

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

func (ServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutput

func (o ServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutput() ServicePerimeterStatusIngressPolicyIngressFromPtrOutput

func (ServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressFromPtrInput

type ServicePerimeterStatusIngressPolicyIngressFromPtrInput interface {
	pulumi.Input

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

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

        ServicePerimeterStatusIngressPolicyIngressFromArgs{...}

or:

        nil

type ServicePerimeterStatusIngressPolicyIngressFromPtrOutput

type ServicePerimeterStatusIngressPolicyIngressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressFromPtrOutput) Elem

func (ServicePerimeterStatusIngressPolicyIngressFromPtrOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressFromPtrOutput) Identities

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

func (ServicePerimeterStatusIngressPolicyIngressFromPtrOutput) IdentityType

Specifies the type of identities that are allowed access from 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`, `ANY_SERVICE_ACCOUNT`.

func (ServicePerimeterStatusIngressPolicyIngressFromPtrOutput) Sources

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

func (ServicePerimeterStatusIngressPolicyIngressFromPtrOutput) ToOutput added in v6.65.1

func (ServicePerimeterStatusIngressPolicyIngressFromPtrOutput) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutput

func (ServicePerimeterStatusIngressPolicyIngressFromPtrOutput) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressFromSource

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

type ServicePerimeterStatusIngressPolicyIngressFromSourceArgs

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

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ElementType

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ToOutput added in v6.65.1

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ToServicePerimeterStatusIngressPolicyIngressFromSourceOutput

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ToServicePerimeterStatusIngressPolicyIngressFromSourceOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressFromSourceArray

type ServicePerimeterStatusIngressPolicyIngressFromSourceArray []ServicePerimeterStatusIngressPolicyIngressFromSourceInput

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArray) ElementType

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArray) ToOutput added in v6.65.1

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArray) ToServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput

func (i ServicePerimeterStatusIngressPolicyIngressFromSourceArray) ToServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput() ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArray) ToServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressFromSourceArrayInput

type ServicePerimeterStatusIngressPolicyIngressFromSourceArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusIngressPolicyIngressFromSourceArray{ ServicePerimeterStatusIngressPolicyIngressFromSourceArgs{...} }

type ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput

type ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) Index

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ToOutput added in v6.65.1

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ToServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ToServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressFromSourceInput

type ServicePerimeterStatusIngressPolicyIngressFromSourceInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusIngressPolicyIngressFromSourceArgs{...}

type ServicePerimeterStatusIngressPolicyIngressFromSourceOutput

type ServicePerimeterStatusIngressPolicyIngressFromSourceOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressFromSourceOutput) AccessLevel

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

func (ServicePerimeterStatusIngressPolicyIngressFromSourceOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressFromSourceOutput) Resource

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

func (ServicePerimeterStatusIngressPolicyIngressFromSourceOutput) ToOutput added in v6.65.1

func (ServicePerimeterStatusIngressPolicyIngressFromSourceOutput) ToServicePerimeterStatusIngressPolicyIngressFromSourceOutput

func (ServicePerimeterStatusIngressPolicyIngressFromSourceOutput) ToServicePerimeterStatusIngressPolicyIngressFromSourceOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressTo

type ServicePerimeterStatusIngressPolicyIngressTo struct {
	// A list of `ApiOperations` the sources specified in corresponding `IngressFrom`
	// are allowed to perform in this `ServicePerimeter`.
	// Structure is documented below.
	Operations []ServicePerimeterStatusIngressPolicyIngressToOperation `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, protected by this `ServicePerimeter`
	// that are allowed to be accessed by sources defined in the
	// corresponding `IngressFrom`. A request matches if it contains
	// a resource in this list. If `*` is specified for resources,
	// then this `IngressTo` rule will authorize access to all
	// resources inside the perimeter, provided that the request
	// also matches the `operations` field.
	Resources []string `pulumi:"resources"`
}

type ServicePerimeterStatusIngressPolicyIngressToArgs

type ServicePerimeterStatusIngressPolicyIngressToArgs struct {
	// A list of `ApiOperations` the sources specified in corresponding `IngressFrom`
	// are allowed to perform in this `ServicePerimeter`.
	// Structure is documented below.
	Operations ServicePerimeterStatusIngressPolicyIngressToOperationArrayInput `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, protected by this `ServicePerimeter`
	// that are allowed to be accessed by sources defined in the
	// corresponding `IngressFrom`. A request matches if it contains
	// a resource in this list. If `*` is specified for resources,
	// then this `IngressTo` rule will authorize access to all
	// resources inside the perimeter, provided that the request
	// also matches the `operations` field.
	Resources pulumi.StringArrayInput `pulumi:"resources"`
}

func (ServicePerimeterStatusIngressPolicyIngressToArgs) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToArgs) ToOutput added in v6.65.1

func (ServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimeterStatusIngressPolicyIngressToOutput

func (i ServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimeterStatusIngressPolicyIngressToOutput() ServicePerimeterStatusIngressPolicyIngressToOutput

func (ServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimeterStatusIngressPolicyIngressToOutputWithContext

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

func (ServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimeterStatusIngressPolicyIngressToPtrOutput

func (i ServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimeterStatusIngressPolicyIngressToPtrOutput() ServicePerimeterStatusIngressPolicyIngressToPtrOutput

func (ServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressToInput

type ServicePerimeterStatusIngressPolicyIngressToInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusIngressPolicyIngressToArgs{...}

type ServicePerimeterStatusIngressPolicyIngressToOperation

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

type ServicePerimeterStatusIngressPolicyIngressToOperationArgs

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

func (ServicePerimeterStatusIngressPolicyIngressToOperationArgs) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOperationArgs) ToOutput added in v6.65.1

func (ServicePerimeterStatusIngressPolicyIngressToOperationArgs) ToServicePerimeterStatusIngressPolicyIngressToOperationOutput

func (ServicePerimeterStatusIngressPolicyIngressToOperationArgs) ToServicePerimeterStatusIngressPolicyIngressToOperationOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressToOperationArray

type ServicePerimeterStatusIngressPolicyIngressToOperationArray []ServicePerimeterStatusIngressPolicyIngressToOperationInput

func (ServicePerimeterStatusIngressPolicyIngressToOperationArray) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOperationArray) ToOutput added in v6.65.1

func (ServicePerimeterStatusIngressPolicyIngressToOperationArray) ToServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput

func (ServicePerimeterStatusIngressPolicyIngressToOperationArray) ToServicePerimeterStatusIngressPolicyIngressToOperationArrayOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressToOperationArrayInput

type ServicePerimeterStatusIngressPolicyIngressToOperationArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusIngressPolicyIngressToOperationArray{ ServicePerimeterStatusIngressPolicyIngressToOperationArgs{...} }

type ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput

type ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) Index

func (ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ToOutput added in v6.65.1

func (ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput

func (ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationArrayOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressToOperationInput

type ServicePerimeterStatusIngressPolicyIngressToOperationInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusIngressPolicyIngressToOperationArgs{...}

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelector

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

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs

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

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs) ToOutput added in v6.65.1

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray []ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ToOutput added in v6.65.1

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayInput

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray{ ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs{...} }

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToOutput added in v6.65.1

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs{...}

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) Method

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

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) Permission

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

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) ToOutput added in v6.65.1

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutputWithContext

type ServicePerimeterStatusIngressPolicyIngressToOperationOutput

type ServicePerimeterStatusIngressPolicyIngressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressToOperationOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOperationOutput) MethodSelectors

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

func (ServicePerimeterStatusIngressPolicyIngressToOperationOutput) ServiceName

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

func (ServicePerimeterStatusIngressPolicyIngressToOperationOutput) ToOutput added in v6.65.1

func (ServicePerimeterStatusIngressPolicyIngressToOperationOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationOutput

func (ServicePerimeterStatusIngressPolicyIngressToOperationOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressToOutput

type ServicePerimeterStatusIngressPolicyIngressToOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressToOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOutput) Operations

A list of `ApiOperations` the sources specified in corresponding `IngressFrom` are allowed to perform in this `ServicePerimeter`. Structure is documented below.

func (ServicePerimeterStatusIngressPolicyIngressToOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, protected by this `ServicePerimeter` that are allowed to be accessed by sources defined in the corresponding `IngressFrom`. A request matches if it contains a resource in this list. If `*` is specified for resources, then this `IngressTo` rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.

func (ServicePerimeterStatusIngressPolicyIngressToOutput) ToOutput added in v6.65.1

func (ServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimeterStatusIngressPolicyIngressToOutput

func (o ServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimeterStatusIngressPolicyIngressToOutput() ServicePerimeterStatusIngressPolicyIngressToOutput

func (ServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimeterStatusIngressPolicyIngressToOutputWithContext

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

func (ServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimeterStatusIngressPolicyIngressToPtrOutput

func (o ServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimeterStatusIngressPolicyIngressToPtrOutput() ServicePerimeterStatusIngressPolicyIngressToPtrOutput

func (ServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressToPtrInput

type ServicePerimeterStatusIngressPolicyIngressToPtrInput interface {
	pulumi.Input

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

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

        ServicePerimeterStatusIngressPolicyIngressToArgs{...}

or:

        nil

type ServicePerimeterStatusIngressPolicyIngressToPtrOutput

type ServicePerimeterStatusIngressPolicyIngressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressToPtrOutput) Elem

func (ServicePerimeterStatusIngressPolicyIngressToPtrOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToPtrOutput) Operations

A list of `ApiOperations` the sources specified in corresponding `IngressFrom` are allowed to perform in this `ServicePerimeter`. Structure is documented below.

func (ServicePerimeterStatusIngressPolicyIngressToPtrOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, protected by this `ServicePerimeter` that are allowed to be accessed by sources defined in the corresponding `IngressFrom`. A request matches if it contains a resource in this list. If `*` is specified for resources, then this `IngressTo` rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.

func (ServicePerimeterStatusIngressPolicyIngressToPtrOutput) ToOutput added in v6.65.1

func (ServicePerimeterStatusIngressPolicyIngressToPtrOutput) ToServicePerimeterStatusIngressPolicyIngressToPtrOutput

func (ServicePerimeterStatusIngressPolicyIngressToPtrOutput) ToServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext

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

type ServicePerimeterStatusIngressPolicyInput

type ServicePerimeterStatusIngressPolicyInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusIngressPolicyArgs{...}

type ServicePerimeterStatusIngressPolicyOutput

type ServicePerimeterStatusIngressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyOutput) ElementType

func (ServicePerimeterStatusIngressPolicyOutput) IngressFrom

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

func (ServicePerimeterStatusIngressPolicyOutput) IngressTo

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

func (ServicePerimeterStatusIngressPolicyOutput) ToOutput added in v6.65.1

func (ServicePerimeterStatusIngressPolicyOutput) ToServicePerimeterStatusIngressPolicyOutput

func (o ServicePerimeterStatusIngressPolicyOutput) ToServicePerimeterStatusIngressPolicyOutput() ServicePerimeterStatusIngressPolicyOutput

func (ServicePerimeterStatusIngressPolicyOutput) ToServicePerimeterStatusIngressPolicyOutputWithContext

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

type ServicePerimeterStatusInput

type ServicePerimeterStatusInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusArgs{...}

type ServicePerimeterStatusOutput

type ServicePerimeterStatusOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusOutput) AccessLevels

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

func (ServicePerimeterStatusOutput) EgressPolicies

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

func (ServicePerimeterStatusOutput) ElementType

func (ServicePerimeterStatusOutput) IngressPolicies

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

func (ServicePerimeterStatusOutput) Resources

A list of GCP resources that are inside of the service perimeter. Currently only projects are allowed. Format: projects/{project_number}

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) ToOutput added in v6.65.1

func (ServicePerimeterStatusOutput) ToServicePerimeterStatusOutput

func (o ServicePerimeterStatusOutput) ToServicePerimeterStatusOutput() ServicePerimeterStatusOutput

func (ServicePerimeterStatusOutput) ToServicePerimeterStatusOutputWithContext

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

func (ServicePerimeterStatusOutput) ToServicePerimeterStatusPtrOutput

func (o ServicePerimeterStatusOutput) ToServicePerimeterStatusPtrOutput() ServicePerimeterStatusPtrOutput

func (ServicePerimeterStatusOutput) ToServicePerimeterStatusPtrOutputWithContext

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

func (ServicePerimeterStatusOutput) VpcAccessibleServices

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

type ServicePerimeterStatusPtrInput

type ServicePerimeterStatusPtrInput interface {
	pulumi.Input

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

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

        ServicePerimeterStatusArgs{...}

or:

        nil

type ServicePerimeterStatusPtrOutput

type ServicePerimeterStatusPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusPtrOutput) AccessLevels

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

func (ServicePerimeterStatusPtrOutput) EgressPolicies

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

func (ServicePerimeterStatusPtrOutput) Elem

func (ServicePerimeterStatusPtrOutput) ElementType

func (ServicePerimeterStatusPtrOutput) IngressPolicies

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

func (ServicePerimeterStatusPtrOutput) Resources

A list of GCP resources that are inside of the service perimeter. Currently only projects are allowed. Format: projects/{project_number}

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) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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/v6/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := accesscontextmanager.NewAccessPolicy(ctx, "access-policy", &accesscontextmanager.AccessPolicyArgs{
			Parent: pulumi.String("organizations/123456789"),
			Title:  pulumi.String("my policy"),
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewServicePerimeters(ctx, "service-perimeter", &accesscontextmanager.ServicePerimetersArgs{
			Parent: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("accessPolicies/%v", name), nil
			}).(pulumi.StringOutput),
			ServicePerimeters: accesscontextmanager.ServicePerimetersServicePerimeterArray{
				&accesscontextmanager.ServicePerimetersServicePerimeterArgs{
					Name: access_policy.Name.ApplyT(func(name string) (string, error) {
						return fmt.Sprintf("accessPolicies/%v/servicePerimeters/", name), 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("accessPolicies/%v/servicePerimeters/", name), 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("accessPolicies/%v", name), nil
			}).(pulumi.StringOutput),
			Title: pulumi.String("chromeos_no_lock"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ServicePerimeters can be imported using any of these accepted formats

```sh

$ pulumi import gcp:accesscontextmanager/servicePerimeters:ServicePerimeters default {{parent}}/servicePerimeters

```

```sh

$ pulumi import gcp:accesscontextmanager/servicePerimeters:ServicePerimeters default {{parent}}

```

func GetServicePerimeters

func GetServicePerimeters(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServicePerimetersState, opts ...pulumi.ResourceOption) (*ServicePerimeters, error)

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

func NewServicePerimeters

func NewServicePerimeters(ctx *pulumi.Context,
	name string, args *ServicePerimetersArgs, opts ...pulumi.ResourceOption) (*ServicePerimeters, error)

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

func (*ServicePerimeters) ElementType

func (*ServicePerimeters) ElementType() reflect.Type

func (*ServicePerimeters) ToOutput added in v6.65.1

func (*ServicePerimeters) ToServicePerimetersOutput

func (i *ServicePerimeters) ToServicePerimetersOutput() ServicePerimetersOutput

func (*ServicePerimeters) ToServicePerimetersOutputWithContext

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

type ServicePerimetersArgs

type ServicePerimetersArgs struct {
	// The AccessPolicy this ServicePerimeter lives in.
	// Format: accessPolicies/{policy_id}
	//
	// ***
	Parent pulumi.StringInput
	// The desired Service Perimeters that should replace all existing Service Perimeters in the Access Policy.
	// Structure is documented below.
	ServicePerimeters ServicePerimetersServicePerimeterArrayInput
}

The set of arguments for constructing a ServicePerimeters resource.

func (ServicePerimetersArgs) ElementType

func (ServicePerimetersArgs) ElementType() reflect.Type

type ServicePerimetersArray

type ServicePerimetersArray []ServicePerimetersInput

func (ServicePerimetersArray) ElementType

func (ServicePerimetersArray) ElementType() reflect.Type

func (ServicePerimetersArray) ToOutput added in v6.65.1

func (ServicePerimetersArray) ToServicePerimetersArrayOutput

func (i ServicePerimetersArray) ToServicePerimetersArrayOutput() ServicePerimetersArrayOutput

func (ServicePerimetersArray) ToServicePerimetersArrayOutputWithContext

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

type ServicePerimetersArrayInput

type ServicePerimetersArrayInput interface {
	pulumi.Input

	ToServicePerimetersArrayOutput() ServicePerimetersArrayOutput
	ToServicePerimetersArrayOutputWithContext(context.Context) ServicePerimetersArrayOutput
}

ServicePerimetersArrayInput is an input type that accepts ServicePerimetersArray and ServicePerimetersArrayOutput values. You can construct a concrete instance of `ServicePerimetersArrayInput` via:

ServicePerimetersArray{ ServicePerimetersArgs{...} }

type ServicePerimetersArrayOutput

type ServicePerimetersArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersArrayOutput) ElementType

func (ServicePerimetersArrayOutput) Index

func (ServicePerimetersArrayOutput) ToOutput added in v6.65.1

func (ServicePerimetersArrayOutput) ToServicePerimetersArrayOutput

func (o ServicePerimetersArrayOutput) ToServicePerimetersArrayOutput() ServicePerimetersArrayOutput

func (ServicePerimetersArrayOutput) ToServicePerimetersArrayOutputWithContext

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

type ServicePerimetersInput

type ServicePerimetersInput interface {
	pulumi.Input

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

type ServicePerimetersMap

type ServicePerimetersMap map[string]ServicePerimetersInput

func (ServicePerimetersMap) ElementType

func (ServicePerimetersMap) ElementType() reflect.Type

func (ServicePerimetersMap) ToOutput added in v6.65.1

func (ServicePerimetersMap) ToServicePerimetersMapOutput

func (i ServicePerimetersMap) ToServicePerimetersMapOutput() ServicePerimetersMapOutput

func (ServicePerimetersMap) ToServicePerimetersMapOutputWithContext

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

type ServicePerimetersMapInput

type ServicePerimetersMapInput interface {
	pulumi.Input

	ToServicePerimetersMapOutput() ServicePerimetersMapOutput
	ToServicePerimetersMapOutputWithContext(context.Context) ServicePerimetersMapOutput
}

ServicePerimetersMapInput is an input type that accepts ServicePerimetersMap and ServicePerimetersMapOutput values. You can construct a concrete instance of `ServicePerimetersMapInput` via:

ServicePerimetersMap{ "key": ServicePerimetersArgs{...} }

type ServicePerimetersMapOutput

type ServicePerimetersMapOutput struct{ *pulumi.OutputState }

func (ServicePerimetersMapOutput) ElementType

func (ServicePerimetersMapOutput) ElementType() reflect.Type

func (ServicePerimetersMapOutput) MapIndex

func (ServicePerimetersMapOutput) ToOutput added in v6.65.1

func (ServicePerimetersMapOutput) ToServicePerimetersMapOutput

func (o ServicePerimetersMapOutput) ToServicePerimetersMapOutput() ServicePerimetersMapOutput

func (ServicePerimetersMapOutput) ToServicePerimetersMapOutputWithContext

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

type ServicePerimetersOutput

type ServicePerimetersOutput struct{ *pulumi.OutputState }

func (ServicePerimetersOutput) ElementType

func (ServicePerimetersOutput) ElementType() reflect.Type

func (ServicePerimetersOutput) Parent added in v6.23.0

The AccessPolicy this ServicePerimeter lives in. Format: accessPolicies/{policy_id}

***

func (ServicePerimetersOutput) ServicePerimeters added in v6.23.0

The desired Service Perimeters that should replace all existing Service Perimeters in the Access Policy. Structure is documented below.

func (ServicePerimetersOutput) ToOutput added in v6.65.1

func (ServicePerimetersOutput) ToServicePerimetersOutput

func (o ServicePerimetersOutput) ToServicePerimetersOutput() ServicePerimetersOutput

func (ServicePerimetersOutput) ToServicePerimetersOutputWithContext

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

type ServicePerimetersServicePerimeter

type ServicePerimetersServicePerimeter struct {
	// (Output)
	// 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`, `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"`
	// (Output)
	// 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 {
	// (Output)
	// 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`, `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"`
	// (Output)
	// 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) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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

(Output) 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`, `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) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterOutput) ToServicePerimetersServicePerimeterOutput

func (o ServicePerimetersServicePerimeterOutput) ToServicePerimetersServicePerimeterOutput() ServicePerimetersServicePerimeterOutput

func (ServicePerimetersServicePerimeterOutput) ToServicePerimetersServicePerimeterOutputWithContext

func (o ServicePerimetersServicePerimeterOutput) ToServicePerimetersServicePerimeterOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterOutput

func (ServicePerimetersServicePerimeterOutput) UpdateTime

(Output) 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 GCP resources that are inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	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 GCP resources that are inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	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) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecArgs) ToServicePerimetersServicePerimeterSpecOutput

func (i ServicePerimetersServicePerimeterSpecArgs) ToServicePerimetersServicePerimeterSpecOutput() ServicePerimetersServicePerimeterSpecOutput

func (ServicePerimetersServicePerimeterSpecArgs) ToServicePerimetersServicePerimeterSpecOutputWithContext

func (i ServicePerimetersServicePerimeterSpecArgs) ToServicePerimetersServicePerimeterSpecOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecOutput

func (ServicePerimetersServicePerimeterSpecArgs) ToServicePerimetersServicePerimeterSpecPtrOutput

func (i ServicePerimetersServicePerimeterSpecArgs) ToServicePerimetersServicePerimeterSpecPtrOutput() ServicePerimetersServicePerimeterSpecPtrOutput

func (ServicePerimetersServicePerimeterSpecArgs) ToServicePerimetersServicePerimeterSpecPtrOutputWithContext

func (i ServicePerimetersServicePerimeterSpecArgs) ToServicePerimetersServicePerimeterSpecPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecPtrOutput

type ServicePerimetersServicePerimeterSpecEgressPolicy

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

type ServicePerimetersServicePerimeterSpecEgressPolicyArgs

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyArgs) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyArgs) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecEgressPolicyArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyOutput

func (i ServicePerimetersServicePerimeterSpecEgressPolicyArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyOutput() ServicePerimetersServicePerimeterSpecEgressPolicyOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyOutputWithContext

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

type ServicePerimetersServicePerimeterSpecEgressPolicyArray

type ServicePerimetersServicePerimeterSpecEgressPolicyArray []ServicePerimetersServicePerimeterSpecEgressPolicyInput

func (ServicePerimetersServicePerimeterSpecEgressPolicyArray) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyArray) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecEgressPolicyArray) ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput

func (i ServicePerimetersServicePerimeterSpecEgressPolicyArray) ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput() ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyArray) ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutputWithContext

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

type ServicePerimetersServicePerimeterSpecEgressPolicyArrayInput

type ServicePerimetersServicePerimeterSpecEgressPolicyArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput() ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyArrayInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyArray and ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyArrayInput` via:

ServicePerimetersServicePerimeterSpecEgressPolicyArray{ ServicePerimetersServicePerimeterSpecEgressPolicyArgs{...} }

type ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput) Index

func (ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutputWithContext

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

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFrom

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

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutputWithContext

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext

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

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromInput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput() ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs and ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromInput` via:

ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs{...}

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) Identities

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) IdentityType

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutputWithContext

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext

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

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrInput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput() ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs, ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtr and ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrInput` via:

        ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs{...}

or:

        nil

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput) Elem

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput) Identities

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput) IdentityType

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext

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

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressTo

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressTo struct {
	// A list of external resources that are allowed to be accessed. A request
	// matches if it contains an external resource in this list (Example:
	// s3://bucket/path). Currently '*' is not allowed.
	ExternalResources []string `pulumi:"externalResources"`
	// A list of `ApiOperations` that this egress rule applies to. A request matches
	// if it contains an operation/service in this list.
	// Structure is documented below.
	Operations []ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperation `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources []string `pulumi:"resources"`
}

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs struct {
	// A list of external resources that are allowed to be accessed. A request
	// matches if it contains an external resource in this list (Example:
	// s3://bucket/path). Currently '*' is not allowed.
	ExternalResources pulumi.StringArrayInput `pulumi:"externalResources"`
	// A list of `ApiOperations` that this egress rule applies to. A request matches
	// if it contains an operation/service in this list.
	// Structure is documented below.
	Operations ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayInput `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources pulumi.StringArrayInput `pulumi:"resources"`
}

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutputWithContext

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext

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

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToInput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput() ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs and ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyEgressToInput` via:

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs{...}

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperation

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

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutputWithContext

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

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray []ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationInput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutputWithContext

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

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayInput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput() ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray and ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayInput` via:

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray{ ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs{...} }

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutputWithContext

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationInput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput() ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs and ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationInput` via:

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs{...}

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelector

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

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutputWithContext

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray []ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayInput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput() ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray and ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayInput` via:

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray{ ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs{...} }

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput() ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs and ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput` via:

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs{...}

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) Method

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) Permission

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutputWithContext

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput) MethodSelectors

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput) ServiceName

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutputWithContext

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) ExternalResources added in v6.29.0

A list of external resources that are allowed to be accessed. A request matches if it contains an external resource in this list (Example: s3://bucket/path). Currently '*' is not allowed.

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) Operations

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) Resources

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutputWithContext

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext

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

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrInput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput() ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs, ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtr and ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrInput` via:

        ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs{...}

or:

        nil

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput) Elem

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput) ExternalResources added in v6.29.0

A list of external resources that are allowed to be accessed. A request matches if it contains an external resource in this list (Example: s3://bucket/path). Currently '*' is not allowed.

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput) Operations

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput) Resources

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext

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

type ServicePerimetersServicePerimeterSpecEgressPolicyInput

type ServicePerimetersServicePerimeterSpecEgressPolicyInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyOutput() ServicePerimetersServicePerimeterSpecEgressPolicyOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyArgs and ServicePerimetersServicePerimeterSpecEgressPolicyOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyInput` via:

ServicePerimetersServicePerimeterSpecEgressPolicyArgs{...}

type ServicePerimetersServicePerimeterSpecEgressPolicyOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyOutput) EgressFrom

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyOutput) EgressTo

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecEgressPolicyOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyOutputWithContext

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

type ServicePerimetersServicePerimeterSpecIngressPolicy

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

type ServicePerimetersServicePerimeterSpecIngressPolicyArgs

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyArgs) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyArgs) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecIngressPolicyArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyOutputWithContext

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

type ServicePerimetersServicePerimeterSpecIngressPolicyArray

type ServicePerimetersServicePerimeterSpecIngressPolicyArray []ServicePerimetersServicePerimeterSpecIngressPolicyInput

func (ServicePerimetersServicePerimeterSpecIngressPolicyArray) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyArray) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecIngressPolicyArray) ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput

func (i ServicePerimetersServicePerimeterSpecIngressPolicyArray) ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput() ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyArray) ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutputWithContext

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

type ServicePerimetersServicePerimeterSpecIngressPolicyArrayInput

type ServicePerimetersServicePerimeterSpecIngressPolicyArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput() ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyArrayInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyArray and ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyArrayInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyArray{ ServicePerimetersServicePerimeterSpecIngressPolicyArgs{...} }

type ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput) Index

func (ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutputWithContext

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

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFrom

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFrom struct {
	// A list of identities that are allowed access through this ingress policy.
	// 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 from 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`, `ANY_SERVICE_ACCOUNT`.
	IdentityType *string `pulumi:"identityType"`
	// Sources that this `IngressPolicy` authorizes access from.
	// Structure is documented below.
	Sources []ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSource `pulumi:"sources"`
}

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs struct {
	// A list of identities that are allowed access through this ingress policy.
	// 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 from 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`, `ANY_SERVICE_ACCOUNT`.
	IdentityType pulumi.StringPtrInput `pulumi:"identityType"`
	// Sources that this `IngressPolicy` authorizes access from.
	// Structure is documented below.
	Sources ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayInput `pulumi:"sources"`
}

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutputWithContext

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext

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

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs and ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs{...}

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) Identities

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) IdentityType

Specifies the type of identities that are allowed access from 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`, `ANY_SERVICE_ACCOUNT`.

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) Sources

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutputWithContext

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext

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

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs, ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtr and ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrInput` via:

        ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromArgs{...}

or:

        nil

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput) Elem

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput) Identities

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput) IdentityType

Specifies the type of identities that are allowed access from 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`, `ANY_SERVICE_ACCOUNT`.

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput) Sources

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext

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

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSource

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

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutputWithContext

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

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray []ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceInput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutputWithContext

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

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray and ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray{ ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs{...} }

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutputWithContext

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs and ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs{...}

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput) AccessLevel

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput) Resource

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutputWithContext

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressTo

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressTo struct {
	// A list of `ApiOperations` the sources specified in corresponding `IngressFrom`
	// are allowed to perform in this `ServicePerimeter`.
	// Structure is documented below.
	Operations []ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperation `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, protected by this `ServicePerimeter`
	// that are allowed to be accessed by sources defined in the
	// corresponding `IngressFrom`. A request matches if it contains
	// a resource in this list. If `*` is specified for resources,
	// then this `IngressTo` rule will authorize access to all
	// resources inside the perimeter, provided that the request
	// also matches the `operations` field.
	Resources []string `pulumi:"resources"`
}

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs struct {
	// A list of `ApiOperations` the sources specified in corresponding `IngressFrom`
	// are allowed to perform in this `ServicePerimeter`.
	// Structure is documented below.
	Operations ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayInput `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, protected by this `ServicePerimeter`
	// that are allowed to be accessed by sources defined in the
	// corresponding `IngressFrom`. A request matches if it contains
	// a resource in this list. If `*` is specified for resources,
	// then this `IngressTo` rule will authorize access to all
	// resources inside the perimeter, provided that the request
	// also matches the `operations` field.
	Resources pulumi.StringArrayInput `pulumi:"resources"`
}

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutputWithContext

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext

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

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs and ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressToInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs{...}

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperation

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

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutputWithContext

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

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray []ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationInput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutputWithContext

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

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray and ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray{ ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs{...} }

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutputWithContext

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs and ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs{...}

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelector

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

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutputWithContext

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray []ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray and ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray{ ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs{...} }

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs and ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs{...}

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) Method

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) Permission

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutputWithContext

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput) MethodSelectors

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput) ServiceName

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutputWithContext

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput) Operations

A list of `ApiOperations` the sources specified in corresponding `IngressFrom` are allowed to perform in this `ServicePerimeter`. Structure is documented below.

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, protected by this `ServicePerimeter` that are allowed to be accessed by sources defined in the corresponding `IngressFrom`. A request matches if it contains a resource in this list. If `*` is specified for resources, then this `IngressTo` rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutputWithContext

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext

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

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs, ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtr and ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrInput` via:

        ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs{...}

or:

        nil

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput) Elem

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput) Operations

A list of `ApiOperations` the sources specified in corresponding `IngressFrom` are allowed to perform in this `ServicePerimeter`. Structure is documented below.

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, protected by this `ServicePerimeter` that are allowed to be accessed by sources defined in the corresponding `IngressFrom`. A request matches if it contains a resource in this list. If `*` is specified for resources, then this `IngressTo` rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext

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

type ServicePerimetersServicePerimeterSpecIngressPolicyInput

type ServicePerimetersServicePerimeterSpecIngressPolicyInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyOutput() ServicePerimetersServicePerimeterSpecIngressPolicyOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyArgs and ServicePerimetersServicePerimeterSpecIngressPolicyOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyArgs{...}

type ServicePerimetersServicePerimeterSpecIngressPolicyOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyOutput) IngressFrom

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyOutput) IngressTo

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecIngressPolicyOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyOutputWithContext

func (o ServicePerimetersServicePerimeterSpecIngressPolicyOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyOutput

type ServicePerimetersServicePerimeterSpecInput

type ServicePerimetersServicePerimeterSpecInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecOutput() ServicePerimetersServicePerimeterSpecOutput
	ToServicePerimetersServicePerimeterSpecOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecOutput
}

ServicePerimetersServicePerimeterSpecInput is an input type that accepts ServicePerimetersServicePerimeterSpecArgs and ServicePerimetersServicePerimeterSpecOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecInput` via:

ServicePerimetersServicePerimeterSpecArgs{...}

type ServicePerimetersServicePerimeterSpecOutput

type ServicePerimetersServicePerimeterSpecOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecOutput) AccessLevels

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

func (ServicePerimetersServicePerimeterSpecOutput) EgressPolicies

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

func (ServicePerimetersServicePerimeterSpecOutput) ElementType

func (ServicePerimetersServicePerimeterSpecOutput) IngressPolicies

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

func (ServicePerimetersServicePerimeterSpecOutput) Resources

A list of GCP resources that are inside of the service perimeter. Currently only projects are allowed. Format: projects/{project_number}

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) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterSpecOutput) ToServicePerimetersServicePerimeterSpecOutput

func (o ServicePerimetersServicePerimeterSpecOutput) ToServicePerimetersServicePerimeterSpecOutput() ServicePerimetersServicePerimeterSpecOutput

func (ServicePerimetersServicePerimeterSpecOutput) ToServicePerimetersServicePerimeterSpecOutputWithContext

func (o ServicePerimetersServicePerimeterSpecOutput) ToServicePerimetersServicePerimeterSpecOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecOutput

func (ServicePerimetersServicePerimeterSpecOutput) ToServicePerimetersServicePerimeterSpecPtrOutput

func (o ServicePerimetersServicePerimeterSpecOutput) ToServicePerimetersServicePerimeterSpecPtrOutput() ServicePerimetersServicePerimeterSpecPtrOutput

func (ServicePerimetersServicePerimeterSpecOutput) ToServicePerimetersServicePerimeterSpecPtrOutputWithContext

func (o ServicePerimetersServicePerimeterSpecOutput) ToServicePerimetersServicePerimeterSpecPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecPtrOutput

func (ServicePerimetersServicePerimeterSpecOutput) VpcAccessibleServices

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

type ServicePerimetersServicePerimeterSpecPtrInput

type ServicePerimetersServicePerimeterSpecPtrInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecPtrOutput() ServicePerimetersServicePerimeterSpecPtrOutput
	ToServicePerimetersServicePerimeterSpecPtrOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecPtrOutput
}

ServicePerimetersServicePerimeterSpecPtrInput is an input type that accepts ServicePerimetersServicePerimeterSpecArgs, ServicePerimetersServicePerimeterSpecPtr and ServicePerimetersServicePerimeterSpecPtrOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecPtrInput` via:

        ServicePerimetersServicePerimeterSpecArgs{...}

or:

        nil

type ServicePerimetersServicePerimeterSpecPtrOutput

type ServicePerimetersServicePerimeterSpecPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecPtrOutput) AccessLevels

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

func (ServicePerimetersServicePerimeterSpecPtrOutput) EgressPolicies

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

func (ServicePerimetersServicePerimeterSpecPtrOutput) Elem

func (ServicePerimetersServicePerimeterSpecPtrOutput) ElementType

func (ServicePerimetersServicePerimeterSpecPtrOutput) IngressPolicies

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

func (ServicePerimetersServicePerimeterSpecPtrOutput) Resources

A list of GCP resources that are inside of the service perimeter. Currently only projects are allowed. Format: projects/{project_number}

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) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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 GCP resources that are inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	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 GCP resources that are inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	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) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusArgs) ToServicePerimetersServicePerimeterStatusOutput

func (i ServicePerimetersServicePerimeterStatusArgs) ToServicePerimetersServicePerimeterStatusOutput() ServicePerimetersServicePerimeterStatusOutput

func (ServicePerimetersServicePerimeterStatusArgs) ToServicePerimetersServicePerimeterStatusOutputWithContext

func (i ServicePerimetersServicePerimeterStatusArgs) ToServicePerimetersServicePerimeterStatusOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusOutput

func (ServicePerimetersServicePerimeterStatusArgs) ToServicePerimetersServicePerimeterStatusPtrOutput

func (i ServicePerimetersServicePerimeterStatusArgs) ToServicePerimetersServicePerimeterStatusPtrOutput() ServicePerimetersServicePerimeterStatusPtrOutput

func (ServicePerimetersServicePerimeterStatusArgs) ToServicePerimetersServicePerimeterStatusPtrOutputWithContext

func (i ServicePerimetersServicePerimeterStatusArgs) ToServicePerimetersServicePerimeterStatusPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusPtrOutput

type ServicePerimetersServicePerimeterStatusEgressPolicy

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

type ServicePerimetersServicePerimeterStatusEgressPolicyArgs

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyArgs) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyArgs) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusEgressPolicyArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyOutputWithContext

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

type ServicePerimetersServicePerimeterStatusEgressPolicyArray

type ServicePerimetersServicePerimeterStatusEgressPolicyArray []ServicePerimetersServicePerimeterStatusEgressPolicyInput

func (ServicePerimetersServicePerimeterStatusEgressPolicyArray) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyArray) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusEgressPolicyArray) ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput

func (i ServicePerimetersServicePerimeterStatusEgressPolicyArray) ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput() ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyArray) ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutputWithContext

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

type ServicePerimetersServicePerimeterStatusEgressPolicyArrayInput

type ServicePerimetersServicePerimeterStatusEgressPolicyArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput() ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyArrayInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyArray and ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyArrayInput` via:

ServicePerimetersServicePerimeterStatusEgressPolicyArray{ ServicePerimetersServicePerimeterStatusEgressPolicyArgs{...} }

type ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput) Index

func (ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutputWithContext

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

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFrom

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

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutputWithContext

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext

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

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromInput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput() ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs and ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromInput` via:

ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs{...}

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) Identities

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) IdentityType

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutputWithContext

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext

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

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrInput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput() ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs, ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtr and ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrInput` via:

        ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs{...}

or:

        nil

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput) Elem

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput) Identities

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput) IdentityType

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext

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

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressTo

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressTo struct {
	// A list of external resources that are allowed to be accessed. A request
	// matches if it contains an external resource in this list (Example:
	// s3://bucket/path). Currently '*' is not allowed.
	ExternalResources []string `pulumi:"externalResources"`
	// A list of `ApiOperations` that this egress rule applies to. A request matches
	// if it contains an operation/service in this list.
	// Structure is documented below.
	Operations []ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperation `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources []string `pulumi:"resources"`
}

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs struct {
	// A list of external resources that are allowed to be accessed. A request
	// matches if it contains an external resource in this list (Example:
	// s3://bucket/path). Currently '*' is not allowed.
	ExternalResources pulumi.StringArrayInput `pulumi:"externalResources"`
	// A list of `ApiOperations` that this egress rule applies to. A request matches
	// if it contains an operation/service in this list.
	// Structure is documented below.
	Operations ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayInput `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, that match this to stanza. A request matches
	// if it contains a resource in this list. If * is specified for resources,
	// then this `EgressTo` rule will authorize access to all resources outside
	// the perimeter.
	Resources pulumi.StringArrayInput `pulumi:"resources"`
}

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutputWithContext

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext

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

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToInput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput() ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs and ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyEgressToInput` via:

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs{...}

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperation

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

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutputWithContext

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

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray []ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationInput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutputWithContext

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

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayInput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput() ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray and ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayInput` via:

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray{ ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs{...} }

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutputWithContext

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationInput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput() ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs and ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationInput` via:

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs{...}

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelector

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

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutputWithContext

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray []ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayInput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput() ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray and ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayInput` via:

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray{ ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs{...} }

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput() ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs and ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput` via:

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs{...}

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) Method

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) Permission

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutputWithContext

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput) MethodSelectors

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput) ServiceName

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutputWithContext

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) ExternalResources added in v6.29.0

A list of external resources that are allowed to be accessed. A request matches if it contains an external resource in this list (Example: s3://bucket/path). Currently '*' is not allowed.

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) Operations

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) Resources

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutputWithContext

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext

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

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrInput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput() ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs, ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtr and ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrInput` via:

        ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs{...}

or:

        nil

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput) Elem

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput) ExternalResources added in v6.29.0

A list of external resources that are allowed to be accessed. A request matches if it contains an external resource in this list (Example: s3://bucket/path). Currently '*' is not allowed.

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput) Operations

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput) Resources

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext

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

type ServicePerimetersServicePerimeterStatusEgressPolicyInput

type ServicePerimetersServicePerimeterStatusEgressPolicyInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyOutput() ServicePerimetersServicePerimeterStatusEgressPolicyOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyArgs and ServicePerimetersServicePerimeterStatusEgressPolicyOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyInput` via:

ServicePerimetersServicePerimeterStatusEgressPolicyArgs{...}

type ServicePerimetersServicePerimeterStatusEgressPolicyOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyOutput) EgressFrom

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyOutput) EgressTo

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusEgressPolicyOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyOutputWithContext

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

type ServicePerimetersServicePerimeterStatusIngressPolicy

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

type ServicePerimetersServicePerimeterStatusIngressPolicyArgs

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyArgs) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyArgs) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusIngressPolicyArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyOutputWithContext

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

type ServicePerimetersServicePerimeterStatusIngressPolicyArray

type ServicePerimetersServicePerimeterStatusIngressPolicyArray []ServicePerimetersServicePerimeterStatusIngressPolicyInput

func (ServicePerimetersServicePerimeterStatusIngressPolicyArray) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyArray) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusIngressPolicyArray) ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput

func (i ServicePerimetersServicePerimeterStatusIngressPolicyArray) ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput() ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyArray) ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutputWithContext

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

type ServicePerimetersServicePerimeterStatusIngressPolicyArrayInput

type ServicePerimetersServicePerimeterStatusIngressPolicyArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput() ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyArrayInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyArray and ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyArrayInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyArray{ ServicePerimetersServicePerimeterStatusIngressPolicyArgs{...} }

type ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput) Index

func (ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutputWithContext

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

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFrom

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFrom struct {
	// A list of identities that are allowed access through this ingress policy.
	// 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 from 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`, `ANY_SERVICE_ACCOUNT`.
	IdentityType *string `pulumi:"identityType"`
	// Sources that this `IngressPolicy` authorizes access from.
	// Structure is documented below.
	Sources []ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSource `pulumi:"sources"`
}

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs struct {
	// A list of identities that are allowed access through this ingress policy.
	// 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 from 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`, `ANY_SERVICE_ACCOUNT`.
	IdentityType pulumi.StringPtrInput `pulumi:"identityType"`
	// Sources that this `IngressPolicy` authorizes access from.
	// Structure is documented below.
	Sources ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayInput `pulumi:"sources"`
}

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutputWithContext

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext

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

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs and ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs{...}

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) Identities

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) IdentityType

Specifies the type of identities that are allowed access from 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`, `ANY_SERVICE_ACCOUNT`.

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) Sources

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutputWithContext

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext

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

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs, ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtr and ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrInput` via:

        ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromArgs{...}

or:

        nil

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput) Elem

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput) Identities

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput) IdentityType

Specifies the type of identities that are allowed access from 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`, `ANY_SERVICE_ACCOUNT`.

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput) Sources

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSource

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

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutputWithContext

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

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray []ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceInput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutputWithContext

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

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray and ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray{ ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs{...} }

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs and ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs{...}

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput) AccessLevel

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput) Resource

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressTo

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressTo struct {
	// A list of `ApiOperations` the sources specified in corresponding `IngressFrom`
	// are allowed to perform in this `ServicePerimeter`.
	// Structure is documented below.
	Operations []ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperation `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, protected by this `ServicePerimeter`
	// that are allowed to be accessed by sources defined in the
	// corresponding `IngressFrom`. A request matches if it contains
	// a resource in this list. If `*` is specified for resources,
	// then this `IngressTo` rule will authorize access to all
	// resources inside the perimeter, provided that the request
	// also matches the `operations` field.
	Resources []string `pulumi:"resources"`
}

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs struct {
	// A list of `ApiOperations` the sources specified in corresponding `IngressFrom`
	// are allowed to perform in this `ServicePerimeter`.
	// Structure is documented below.
	Operations ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayInput `pulumi:"operations"`
	// A list of resources, currently only projects in the form
	// `projects/<projectnumber>`, protected by this `ServicePerimeter`
	// that are allowed to be accessed by sources defined in the
	// corresponding `IngressFrom`. A request matches if it contains
	// a resource in this list. If `*` is specified for resources,
	// then this `IngressTo` rule will authorize access to all
	// resources inside the perimeter, provided that the request
	// also matches the `operations` field.
	Resources pulumi.StringArrayInput `pulumi:"resources"`
}

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutputWithContext

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext

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

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs and ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressToInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs{...}

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperation

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

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray []ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationInput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutputWithContext

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

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray and ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray{ ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs{...} }

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs and ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs{...}

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelector

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

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray []ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray and ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray{ ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs{...} }

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs and ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs{...}

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) Method

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) Permission

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput) MethodSelectors

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput) ServiceName

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput) Operations

A list of `ApiOperations` the sources specified in corresponding `IngressFrom` are allowed to perform in this `ServicePerimeter`. Structure is documented below.

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, protected by this `ServicePerimeter` that are allowed to be accessed by sources defined in the corresponding `IngressFrom`. A request matches if it contains a resource in this list. If `*` is specified for resources, then this `IngressTo` rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutputWithContext

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext

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

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs, ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtr and ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrInput` via:

        ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs{...}

or:

        nil

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput) Elem

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput) Operations

A list of `ApiOperations` the sources specified in corresponding `IngressFrom` are allowed to perform in this `ServicePerimeter`. Structure is documented below.

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput) Resources

A list of resources, currently only projects in the form `projects/<projectnumber>`, protected by this `ServicePerimeter` that are allowed to be accessed by sources defined in the corresponding `IngressFrom`. A request matches if it contains a resource in this list. If `*` is specified for resources, then this `IngressTo` rule will authorize access to all resources inside the perimeter, provided that the request also matches the `operations` field.

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext

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

type ServicePerimetersServicePerimeterStatusIngressPolicyInput

type ServicePerimetersServicePerimeterStatusIngressPolicyInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyOutput() ServicePerimetersServicePerimeterStatusIngressPolicyOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyArgs and ServicePerimetersServicePerimeterStatusIngressPolicyOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyArgs{...}

type ServicePerimetersServicePerimeterStatusIngressPolicyOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyOutput) IngressFrom

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyOutput) IngressTo

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyOutput) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusIngressPolicyOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyOutputWithContext

func (o ServicePerimetersServicePerimeterStatusIngressPolicyOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyOutput

type ServicePerimetersServicePerimeterStatusInput

type ServicePerimetersServicePerimeterStatusInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusOutput() ServicePerimetersServicePerimeterStatusOutput
	ToServicePerimetersServicePerimeterStatusOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusOutput
}

ServicePerimetersServicePerimeterStatusInput is an input type that accepts ServicePerimetersServicePerimeterStatusArgs and ServicePerimetersServicePerimeterStatusOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusInput` via:

ServicePerimetersServicePerimeterStatusArgs{...}

type ServicePerimetersServicePerimeterStatusOutput

type ServicePerimetersServicePerimeterStatusOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusOutput) AccessLevels

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

func (ServicePerimetersServicePerimeterStatusOutput) EgressPolicies

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

func (ServicePerimetersServicePerimeterStatusOutput) ElementType

func (ServicePerimetersServicePerimeterStatusOutput) IngressPolicies

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

func (ServicePerimetersServicePerimeterStatusOutput) Resources

A list of GCP resources that are inside of the service perimeter. Currently only projects are allowed. Format: projects/{project_number}

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) ToOutput added in v6.65.1

func (ServicePerimetersServicePerimeterStatusOutput) ToServicePerimetersServicePerimeterStatusOutput

func (o ServicePerimetersServicePerimeterStatusOutput) ToServicePerimetersServicePerimeterStatusOutput() ServicePerimetersServicePerimeterStatusOutput

func (ServicePerimetersServicePerimeterStatusOutput) ToServicePerimetersServicePerimeterStatusOutputWithContext

func (o ServicePerimetersServicePerimeterStatusOutput) ToServicePerimetersServicePerimeterStatusOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusOutput

func (ServicePerimetersServicePerimeterStatusOutput) ToServicePerimetersServicePerimeterStatusPtrOutput

func (o ServicePerimetersServicePerimeterStatusOutput) ToServicePerimetersServicePerimeterStatusPtrOutput() ServicePerimetersServicePerimeterStatusPtrOutput

func (ServicePerimetersServicePerimeterStatusOutput) ToServicePerimetersServicePerimeterStatusPtrOutputWithContext

func (o ServicePerimetersServicePerimeterStatusOutput) ToServicePerimetersServicePerimeterStatusPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusPtrOutput

func (ServicePerimetersServicePerimeterStatusOutput) VpcAccessibleServices

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

type ServicePerimetersServicePerimeterStatusPtrInput

type ServicePerimetersServicePerimeterStatusPtrInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusPtrOutput() ServicePerimetersServicePerimeterStatusPtrOutput
	ToServicePerimetersServicePerimeterStatusPtrOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusPtrOutput
}

ServicePerimetersServicePerimeterStatusPtrInput is an input type that accepts ServicePerimetersServicePerimeterStatusArgs, ServicePerimetersServicePerimeterStatusPtr and ServicePerimetersServicePerimeterStatusPtrOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusPtrInput` via:

        ServicePerimetersServicePerimeterStatusArgs{...}

or:

        nil

type ServicePerimetersServicePerimeterStatusPtrOutput

type ServicePerimetersServicePerimeterStatusPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusPtrOutput) AccessLevels

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

func (ServicePerimetersServicePerimeterStatusPtrOutput) EgressPolicies

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

func (ServicePerimetersServicePerimeterStatusPtrOutput) Elem

func (ServicePerimetersServicePerimeterStatusPtrOutput) ElementType

func (ServicePerimetersServicePerimeterStatusPtrOutput) IngressPolicies

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

func (ServicePerimetersServicePerimeterStatusPtrOutput) Resources

A list of GCP resources that are inside of the service perimeter. Currently only projects are allowed. Format: projects/{project_number}

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) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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