accesscontextmanager

package
v7.20.0 Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccessLevel

type AccessLevel struct {
	pulumi.CustomResourceState

	// A set of predefined conditions for the access level and a combining function.
	// Structure is documented below.
	Basic AccessLevelBasicPtrOutput `pulumi:"basic"`
	// Custom access level conditions are set using the Cloud Common Expression Language to represent the necessary conditions for the level to apply to a request.
	// See CEL spec at: https://github.com/google/cel-spec.
	// Structure is documented below.
	Custom AccessLevelCustomPtrOutput `pulumi:"custom"`
	// Description of the 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/v7/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{
			Parent: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("accessPolicies/%v", name), nil
			}).(pulumi.StringOutput),
			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"),
			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
		}
		return nil
	})
}

```

## Import

AccessLevel can be imported using any of these accepted formats:

* `{{name}}`

When using the `pulumi import` command, AccessLevel can be imported using one of the formats above. For example:

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

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

type AccessLevelArrayInput

type AccessLevelArrayInput interface {
	pulumi.Input

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

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

AccessLevelArray{ AccessLevelArgs{...} }

type AccessLevelArrayOutput

type AccessLevelArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelArrayOutput) ElementType

func (AccessLevelArrayOutput) ElementType() reflect.Type

func (AccessLevelArrayOutput) Index

func (AccessLevelArrayOutput) ToAccessLevelArrayOutput

func (o AccessLevelArrayOutput) ToAccessLevelArrayOutput() AccessLevelArrayOutput

func (AccessLevelArrayOutput) ToAccessLevelArrayOutputWithContext

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

type AccessLevelBasic

type AccessLevelBasic struct {
	// How the conditions list should be combined to determine if a request
	// is granted this AccessLevel. If AND is used, each Condition in
	// conditions must be satisfied for the AccessLevel to be applied. If
	// OR is used, at least one Condition in conditions must be satisfied
	// for the AccessLevel to be applied.
	// Default value is `AND`.
	// Possible values are: `AND`, `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

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"`
	// The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with `ipSubnetworks`.
	// Structure is documented below.
	VpcNetworkSources []AccessLevelBasicConditionVpcNetworkSource `pulumi:"vpcNetworkSources"`
}

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"`
	// The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with `ipSubnetworks`.
	// Structure is documented below.
	VpcNetworkSources AccessLevelBasicConditionVpcNetworkSourceArrayInput `pulumi:"vpcNetworkSources"`
}

func (AccessLevelBasicConditionArgs) ElementType

func (AccessLevelBasicConditionArgs) ToAccessLevelBasicConditionOutput

func (i AccessLevelBasicConditionArgs) ToAccessLevelBasicConditionOutput() AccessLevelBasicConditionOutput

func (AccessLevelBasicConditionArgs) ToAccessLevelBasicConditionOutputWithContext

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

type AccessLevelBasicConditionArray

type AccessLevelBasicConditionArray []AccessLevelBasicConditionInput

func (AccessLevelBasicConditionArray) ElementType

func (AccessLevelBasicConditionArray) ToAccessLevelBasicConditionArrayOutput

func (i AccessLevelBasicConditionArray) ToAccessLevelBasicConditionArrayOutput() AccessLevelBasicConditionArrayOutput

func (AccessLevelBasicConditionArray) ToAccessLevelBasicConditionArrayOutputWithContext

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

type AccessLevelBasicConditionArrayInput

type AccessLevelBasicConditionArrayInput interface {
	pulumi.Input

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

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

AccessLevelBasicConditionArray{ AccessLevelBasicConditionArgs{...} }

type AccessLevelBasicConditionArrayOutput

type AccessLevelBasicConditionArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelBasicConditionArrayOutput) ElementType

func (AccessLevelBasicConditionArrayOutput) Index

func (AccessLevelBasicConditionArrayOutput) ToAccessLevelBasicConditionArrayOutput

func (o AccessLevelBasicConditionArrayOutput) ToAccessLevelBasicConditionArrayOutput() AccessLevelBasicConditionArrayOutput

func (AccessLevelBasicConditionArrayOutput) ToAccessLevelBasicConditionArrayOutputWithContext

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

type AccessLevelBasicConditionDevicePolicy

type AccessLevelBasicConditionDevicePolicy struct {
	// A list of allowed device management levels.
	// An empty list allows all management levels.
	// Each value may be one of: `MANAGEMENT_UNSPECIFIED`, `NONE`, `BASIC`, `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

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

type AccessLevelBasicConditionDevicePolicyOsConstraintArray

type AccessLevelBasicConditionDevicePolicyOsConstraintArray []AccessLevelBasicConditionDevicePolicyOsConstraintInput

func (AccessLevelBasicConditionDevicePolicyOsConstraintArray) ElementType

func (AccessLevelBasicConditionDevicePolicyOsConstraintArray) ToAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput

func (i AccessLevelBasicConditionDevicePolicyOsConstraintArray) ToAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput() AccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput

func (AccessLevelBasicConditionDevicePolicyOsConstraintArray) ToAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutputWithContext

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

type AccessLevelBasicConditionDevicePolicyOsConstraintArrayInput

type AccessLevelBasicConditionDevicePolicyOsConstraintArrayInput interface {
	pulumi.Input

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

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

AccessLevelBasicConditionDevicePolicyOsConstraintArray{ AccessLevelBasicConditionDevicePolicyOsConstraintArgs{...} }

type AccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput

type AccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput) ElementType

func (AccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput) Index

func (AccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput) ToAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput

func (AccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput) ToAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutputWithContext

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

type AccessLevelBasicConditionDevicePolicyOsConstraintInput

type AccessLevelBasicConditionDevicePolicyOsConstraintInput interface {
	pulumi.Input

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

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

AccessLevelBasicConditionDevicePolicyOsConstraintArgs{...}

type AccessLevelBasicConditionDevicePolicyOsConstraintOutput

type AccessLevelBasicConditionDevicePolicyOsConstraintOutput struct{ *pulumi.OutputState }

func (AccessLevelBasicConditionDevicePolicyOsConstraintOutput) ElementType

func (AccessLevelBasicConditionDevicePolicyOsConstraintOutput) MinimumVersion

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

func (AccessLevelBasicConditionDevicePolicyOsConstraintOutput) OsType

The operating system type of the device. Possible values are: `OS_UNSPECIFIED`, `DESKTOP_MAC`, `DESKTOP_WINDOWS`, `DESKTOP_LINUX`, `DESKTOP_CHROME_OS`, `ANDROID`, `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

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

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

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) VpcNetworkSources added in v7.1.0

The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with `ipSubnetworks`. Structure is documented below.

type AccessLevelBasicConditionVpcNetworkSource added in v7.1.0

type AccessLevelBasicConditionVpcNetworkSource struct {
	// Sub networks within a VPC network.
	// Structure is documented below.
	VpcSubnetwork *AccessLevelBasicConditionVpcNetworkSourceVpcSubnetwork `pulumi:"vpcSubnetwork"`
}

type AccessLevelBasicConditionVpcNetworkSourceArgs added in v7.1.0

type AccessLevelBasicConditionVpcNetworkSourceArgs struct {
	// Sub networks within a VPC network.
	// Structure is documented below.
	VpcSubnetwork AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrInput `pulumi:"vpcSubnetwork"`
}

func (AccessLevelBasicConditionVpcNetworkSourceArgs) ElementType added in v7.1.0

func (AccessLevelBasicConditionVpcNetworkSourceArgs) ToAccessLevelBasicConditionVpcNetworkSourceOutput added in v7.1.0

func (i AccessLevelBasicConditionVpcNetworkSourceArgs) ToAccessLevelBasicConditionVpcNetworkSourceOutput() AccessLevelBasicConditionVpcNetworkSourceOutput

func (AccessLevelBasicConditionVpcNetworkSourceArgs) ToAccessLevelBasicConditionVpcNetworkSourceOutputWithContext added in v7.1.0

func (i AccessLevelBasicConditionVpcNetworkSourceArgs) ToAccessLevelBasicConditionVpcNetworkSourceOutputWithContext(ctx context.Context) AccessLevelBasicConditionVpcNetworkSourceOutput

type AccessLevelBasicConditionVpcNetworkSourceArray added in v7.1.0

type AccessLevelBasicConditionVpcNetworkSourceArray []AccessLevelBasicConditionVpcNetworkSourceInput

func (AccessLevelBasicConditionVpcNetworkSourceArray) ElementType added in v7.1.0

func (AccessLevelBasicConditionVpcNetworkSourceArray) ToAccessLevelBasicConditionVpcNetworkSourceArrayOutput added in v7.1.0

func (i AccessLevelBasicConditionVpcNetworkSourceArray) ToAccessLevelBasicConditionVpcNetworkSourceArrayOutput() AccessLevelBasicConditionVpcNetworkSourceArrayOutput

func (AccessLevelBasicConditionVpcNetworkSourceArray) ToAccessLevelBasicConditionVpcNetworkSourceArrayOutputWithContext added in v7.1.0

func (i AccessLevelBasicConditionVpcNetworkSourceArray) ToAccessLevelBasicConditionVpcNetworkSourceArrayOutputWithContext(ctx context.Context) AccessLevelBasicConditionVpcNetworkSourceArrayOutput

type AccessLevelBasicConditionVpcNetworkSourceArrayInput added in v7.1.0

type AccessLevelBasicConditionVpcNetworkSourceArrayInput interface {
	pulumi.Input

	ToAccessLevelBasicConditionVpcNetworkSourceArrayOutput() AccessLevelBasicConditionVpcNetworkSourceArrayOutput
	ToAccessLevelBasicConditionVpcNetworkSourceArrayOutputWithContext(context.Context) AccessLevelBasicConditionVpcNetworkSourceArrayOutput
}

AccessLevelBasicConditionVpcNetworkSourceArrayInput is an input type that accepts AccessLevelBasicConditionVpcNetworkSourceArray and AccessLevelBasicConditionVpcNetworkSourceArrayOutput values. You can construct a concrete instance of `AccessLevelBasicConditionVpcNetworkSourceArrayInput` via:

AccessLevelBasicConditionVpcNetworkSourceArray{ AccessLevelBasicConditionVpcNetworkSourceArgs{...} }

type AccessLevelBasicConditionVpcNetworkSourceArrayOutput added in v7.1.0

type AccessLevelBasicConditionVpcNetworkSourceArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelBasicConditionVpcNetworkSourceArrayOutput) ElementType added in v7.1.0

func (AccessLevelBasicConditionVpcNetworkSourceArrayOutput) Index added in v7.1.0

func (AccessLevelBasicConditionVpcNetworkSourceArrayOutput) ToAccessLevelBasicConditionVpcNetworkSourceArrayOutput added in v7.1.0

func (AccessLevelBasicConditionVpcNetworkSourceArrayOutput) ToAccessLevelBasicConditionVpcNetworkSourceArrayOutputWithContext added in v7.1.0

func (o AccessLevelBasicConditionVpcNetworkSourceArrayOutput) ToAccessLevelBasicConditionVpcNetworkSourceArrayOutputWithContext(ctx context.Context) AccessLevelBasicConditionVpcNetworkSourceArrayOutput

type AccessLevelBasicConditionVpcNetworkSourceInput added in v7.1.0

type AccessLevelBasicConditionVpcNetworkSourceInput interface {
	pulumi.Input

	ToAccessLevelBasicConditionVpcNetworkSourceOutput() AccessLevelBasicConditionVpcNetworkSourceOutput
	ToAccessLevelBasicConditionVpcNetworkSourceOutputWithContext(context.Context) AccessLevelBasicConditionVpcNetworkSourceOutput
}

AccessLevelBasicConditionVpcNetworkSourceInput is an input type that accepts AccessLevelBasicConditionVpcNetworkSourceArgs and AccessLevelBasicConditionVpcNetworkSourceOutput values. You can construct a concrete instance of `AccessLevelBasicConditionVpcNetworkSourceInput` via:

AccessLevelBasicConditionVpcNetworkSourceArgs{...}

type AccessLevelBasicConditionVpcNetworkSourceOutput added in v7.1.0

type AccessLevelBasicConditionVpcNetworkSourceOutput struct{ *pulumi.OutputState }

func (AccessLevelBasicConditionVpcNetworkSourceOutput) ElementType added in v7.1.0

func (AccessLevelBasicConditionVpcNetworkSourceOutput) ToAccessLevelBasicConditionVpcNetworkSourceOutput added in v7.1.0

func (o AccessLevelBasicConditionVpcNetworkSourceOutput) ToAccessLevelBasicConditionVpcNetworkSourceOutput() AccessLevelBasicConditionVpcNetworkSourceOutput

func (AccessLevelBasicConditionVpcNetworkSourceOutput) ToAccessLevelBasicConditionVpcNetworkSourceOutputWithContext added in v7.1.0

func (o AccessLevelBasicConditionVpcNetworkSourceOutput) ToAccessLevelBasicConditionVpcNetworkSourceOutputWithContext(ctx context.Context) AccessLevelBasicConditionVpcNetworkSourceOutput

func (AccessLevelBasicConditionVpcNetworkSourceOutput) VpcSubnetwork added in v7.1.0

Sub networks within a VPC network. Structure is documented below.

type AccessLevelBasicConditionVpcNetworkSourceVpcSubnetwork added in v7.1.0

type AccessLevelBasicConditionVpcNetworkSourceVpcSubnetwork struct {
	// Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires `compute.network.get` permission to be granted to caller.
	Network string `pulumi:"network"`
	// CIDR block IP subnetwork specification. Must be IPv4.
	VpcIpSubnetworks []string `pulumi:"vpcIpSubnetworks"`
}

type AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs added in v7.1.0

type AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs struct {
	// Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires `compute.network.get` permission to be granted to caller.
	Network pulumi.StringInput `pulumi:"network"`
	// CIDR block IP subnetwork specification. Must be IPv4.
	VpcIpSubnetworks pulumi.StringArrayInput `pulumi:"vpcIpSubnetworks"`
}

func (AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs) ElementType added in v7.1.0

func (AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs) ToAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput added in v7.1.0

func (AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs) ToAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutputWithContext added in v7.1.0

func (i AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs) ToAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutputWithContext(ctx context.Context) AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput

func (AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs) ToAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput added in v7.1.0

func (AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs) ToAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutputWithContext added in v7.1.0

func (i AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs) ToAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutputWithContext(ctx context.Context) AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput

type AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkInput added in v7.1.0

type AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkInput interface {
	pulumi.Input

	ToAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput() AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput
	ToAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutputWithContext(context.Context) AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput
}

AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkInput is an input type that accepts AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs and AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput values. You can construct a concrete instance of `AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkInput` via:

AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs{...}

type AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput added in v7.1.0

type AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput struct{ *pulumi.OutputState }

func (AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput) ElementType added in v7.1.0

func (AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput) Network added in v7.1.0

Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires `compute.network.get` permission to be granted to caller.

func (AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput) ToAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput added in v7.1.0

func (AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput) ToAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutputWithContext added in v7.1.0

func (o AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput) ToAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutputWithContext(ctx context.Context) AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput

func (AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput) ToAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput added in v7.1.0

func (AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput) ToAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutputWithContext added in v7.1.0

func (o AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput) ToAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutputWithContext(ctx context.Context) AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput

func (AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput) VpcIpSubnetworks added in v7.1.0

CIDR block IP subnetwork specification. Must be IPv4.

type AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrInput added in v7.1.0

type AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrInput interface {
	pulumi.Input

	ToAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput() AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput
	ToAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutputWithContext(context.Context) AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput
}

AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrInput is an input type that accepts AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs, AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtr and AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput values. You can construct a concrete instance of `AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrInput` via:

        AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs{...}

or:

        nil

type AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput added in v7.1.0

type AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput struct{ *pulumi.OutputState }

func (AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput) Elem added in v7.1.0

func (AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput) ElementType added in v7.1.0

func (AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput) Network added in v7.1.0

Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires `compute.network.get` permission to be granted to caller.

func (AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput) ToAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput added in v7.1.0

func (AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput) ToAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutputWithContext added in v7.1.0

func (o AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput) ToAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutputWithContext(ctx context.Context) AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput

func (AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput) VpcIpSubnetworks added in v7.1.0

CIDR block IP subnetwork specification. Must be IPv4.

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

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

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"`
	// The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with `ipSubnetworks`.
	// Structure is documented below.
	VpcNetworkSources AccessLevelConditionVpcNetworkSourceArrayOutput `pulumi:"vpcNetworkSources"`
}

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/v7/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi-gcp/sdk/v7/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),
			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"),
			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

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 request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with `ipSubnetworks`.
	// Structure is documented below.
	VpcNetworkSources AccessLevelConditionVpcNetworkSourceArrayInput
}

The set of arguments for constructing a AccessLevelCondition resource.

func (AccessLevelConditionArgs) ElementType

func (AccessLevelConditionArgs) ElementType() reflect.Type

type AccessLevelConditionArray

type AccessLevelConditionArray []AccessLevelConditionInput

func (AccessLevelConditionArray) ElementType

func (AccessLevelConditionArray) ElementType() reflect.Type

func (AccessLevelConditionArray) ToAccessLevelConditionArrayOutput

func (i AccessLevelConditionArray) ToAccessLevelConditionArrayOutput() AccessLevelConditionArrayOutput

func (AccessLevelConditionArray) ToAccessLevelConditionArrayOutputWithContext

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

type AccessLevelConditionArrayInput

type AccessLevelConditionArrayInput interface {
	pulumi.Input

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

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

AccessLevelConditionArray{ AccessLevelConditionArgs{...} }

type AccessLevelConditionArrayOutput

type AccessLevelConditionArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionArrayOutput) ElementType

func (AccessLevelConditionArrayOutput) Index

func (AccessLevelConditionArrayOutput) ToAccessLevelConditionArrayOutput

func (o AccessLevelConditionArrayOutput) ToAccessLevelConditionArrayOutput() AccessLevelConditionArrayOutput

func (AccessLevelConditionArrayOutput) ToAccessLevelConditionArrayOutputWithContext

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

type AccessLevelConditionDevicePolicy

type AccessLevelConditionDevicePolicy struct {
	// A list of allowed device management levels.
	// An empty list allows all management levels.
	// Each value may be one of: `MANAGEMENT_UNSPECIFIED`, `NONE`, `BASIC`, `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

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

type AccessLevelConditionDevicePolicyOsConstraintArray

type AccessLevelConditionDevicePolicyOsConstraintArray []AccessLevelConditionDevicePolicyOsConstraintInput

func (AccessLevelConditionDevicePolicyOsConstraintArray) ElementType

func (AccessLevelConditionDevicePolicyOsConstraintArray) ToAccessLevelConditionDevicePolicyOsConstraintArrayOutput

func (i AccessLevelConditionDevicePolicyOsConstraintArray) ToAccessLevelConditionDevicePolicyOsConstraintArrayOutput() AccessLevelConditionDevicePolicyOsConstraintArrayOutput

func (AccessLevelConditionDevicePolicyOsConstraintArray) ToAccessLevelConditionDevicePolicyOsConstraintArrayOutputWithContext

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

type AccessLevelConditionDevicePolicyOsConstraintArrayInput

type AccessLevelConditionDevicePolicyOsConstraintArrayInput interface {
	pulumi.Input

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

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

AccessLevelConditionDevicePolicyOsConstraintArray{ AccessLevelConditionDevicePolicyOsConstraintArgs{...} }

type AccessLevelConditionDevicePolicyOsConstraintArrayOutput

type AccessLevelConditionDevicePolicyOsConstraintArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionDevicePolicyOsConstraintArrayOutput) ElementType

func (AccessLevelConditionDevicePolicyOsConstraintArrayOutput) Index

func (AccessLevelConditionDevicePolicyOsConstraintArrayOutput) ToAccessLevelConditionDevicePolicyOsConstraintArrayOutput

func (AccessLevelConditionDevicePolicyOsConstraintArrayOutput) ToAccessLevelConditionDevicePolicyOsConstraintArrayOutputWithContext

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

type AccessLevelConditionDevicePolicyOsConstraintInput

type AccessLevelConditionDevicePolicyOsConstraintInput interface {
	pulumi.Input

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

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

AccessLevelConditionDevicePolicyOsConstraintArgs{...}

type AccessLevelConditionDevicePolicyOsConstraintOutput

type AccessLevelConditionDevicePolicyOsConstraintOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionDevicePolicyOsConstraintOutput) ElementType

func (AccessLevelConditionDevicePolicyOsConstraintOutput) MinimumVersion

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

func (AccessLevelConditionDevicePolicyOsConstraintOutput) OsType

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

func (AccessLevelConditionDevicePolicyOsConstraintOutput) ToAccessLevelConditionDevicePolicyOsConstraintOutput

func (o AccessLevelConditionDevicePolicyOsConstraintOutput) ToAccessLevelConditionDevicePolicyOsConstraintOutput() AccessLevelConditionDevicePolicyOsConstraintOutput

func (AccessLevelConditionDevicePolicyOsConstraintOutput) ToAccessLevelConditionDevicePolicyOsConstraintOutputWithContext

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

type AccessLevelConditionDevicePolicyOutput

type AccessLevelConditionDevicePolicyOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionDevicePolicyOutput) AllowedDeviceManagementLevels

func (o AccessLevelConditionDevicePolicyOutput) AllowedDeviceManagementLevels() pulumi.StringArrayOutput

A list of allowed device management levels. An empty list allows all management levels. Each value may be one of: `MANAGEMENT_UNSPECIFIED`, `NONE`, `BASIC`, `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

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

type AccessLevelConditionInput

type AccessLevelConditionInput interface {
	pulumi.Input

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

type AccessLevelConditionMap

type AccessLevelConditionMap map[string]AccessLevelConditionInput

func (AccessLevelConditionMap) ElementType

func (AccessLevelConditionMap) ElementType() reflect.Type

func (AccessLevelConditionMap) ToAccessLevelConditionMapOutput

func (i AccessLevelConditionMap) ToAccessLevelConditionMapOutput() AccessLevelConditionMapOutput

func (AccessLevelConditionMap) ToAccessLevelConditionMapOutputWithContext

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

type AccessLevelConditionMapInput

type AccessLevelConditionMapInput interface {
	pulumi.Input

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

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

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

type AccessLevelConditionMapOutput

type AccessLevelConditionMapOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionMapOutput) ElementType

func (AccessLevelConditionMapOutput) MapIndex

func (AccessLevelConditionMapOutput) ToAccessLevelConditionMapOutput

func (o AccessLevelConditionMapOutput) ToAccessLevelConditionMapOutput() AccessLevelConditionMapOutput

func (AccessLevelConditionMapOutput) ToAccessLevelConditionMapOutputWithContext

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

type AccessLevelConditionOutput

type AccessLevelConditionOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionOutput) AccessLevel

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

***

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

func (AccessLevelConditionOutput) ElementType() reflect.Type

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

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

func (AccessLevelConditionOutput) RequiredAccessLevels

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) VpcNetworkSources added in v7.1.0

The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with `ipSubnetworks`. Structure is documented below.

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
	// The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with `ipSubnetworks`.
	// Structure is documented below.
	VpcNetworkSources AccessLevelConditionVpcNetworkSourceArrayInput
}

func (AccessLevelConditionState) ElementType

func (AccessLevelConditionState) ElementType() reflect.Type

type AccessLevelConditionVpcNetworkSource added in v7.1.0

type AccessLevelConditionVpcNetworkSource struct {
	// Sub networks within a VPC network.
	// Structure is documented below.
	VpcSubnetwork *AccessLevelConditionVpcNetworkSourceVpcSubnetwork `pulumi:"vpcSubnetwork"`
}

type AccessLevelConditionVpcNetworkSourceArgs added in v7.1.0

type AccessLevelConditionVpcNetworkSourceArgs struct {
	// Sub networks within a VPC network.
	// Structure is documented below.
	VpcSubnetwork AccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrInput `pulumi:"vpcSubnetwork"`
}

func (AccessLevelConditionVpcNetworkSourceArgs) ElementType added in v7.1.0

func (AccessLevelConditionVpcNetworkSourceArgs) ToAccessLevelConditionVpcNetworkSourceOutput added in v7.1.0

func (i AccessLevelConditionVpcNetworkSourceArgs) ToAccessLevelConditionVpcNetworkSourceOutput() AccessLevelConditionVpcNetworkSourceOutput

func (AccessLevelConditionVpcNetworkSourceArgs) ToAccessLevelConditionVpcNetworkSourceOutputWithContext added in v7.1.0

func (i AccessLevelConditionVpcNetworkSourceArgs) ToAccessLevelConditionVpcNetworkSourceOutputWithContext(ctx context.Context) AccessLevelConditionVpcNetworkSourceOutput

type AccessLevelConditionVpcNetworkSourceArray added in v7.1.0

type AccessLevelConditionVpcNetworkSourceArray []AccessLevelConditionVpcNetworkSourceInput

func (AccessLevelConditionVpcNetworkSourceArray) ElementType added in v7.1.0

func (AccessLevelConditionVpcNetworkSourceArray) ToAccessLevelConditionVpcNetworkSourceArrayOutput added in v7.1.0

func (i AccessLevelConditionVpcNetworkSourceArray) ToAccessLevelConditionVpcNetworkSourceArrayOutput() AccessLevelConditionVpcNetworkSourceArrayOutput

func (AccessLevelConditionVpcNetworkSourceArray) ToAccessLevelConditionVpcNetworkSourceArrayOutputWithContext added in v7.1.0

func (i AccessLevelConditionVpcNetworkSourceArray) ToAccessLevelConditionVpcNetworkSourceArrayOutputWithContext(ctx context.Context) AccessLevelConditionVpcNetworkSourceArrayOutput

type AccessLevelConditionVpcNetworkSourceArrayInput added in v7.1.0

type AccessLevelConditionVpcNetworkSourceArrayInput interface {
	pulumi.Input

	ToAccessLevelConditionVpcNetworkSourceArrayOutput() AccessLevelConditionVpcNetworkSourceArrayOutput
	ToAccessLevelConditionVpcNetworkSourceArrayOutputWithContext(context.Context) AccessLevelConditionVpcNetworkSourceArrayOutput
}

AccessLevelConditionVpcNetworkSourceArrayInput is an input type that accepts AccessLevelConditionVpcNetworkSourceArray and AccessLevelConditionVpcNetworkSourceArrayOutput values. You can construct a concrete instance of `AccessLevelConditionVpcNetworkSourceArrayInput` via:

AccessLevelConditionVpcNetworkSourceArray{ AccessLevelConditionVpcNetworkSourceArgs{...} }

type AccessLevelConditionVpcNetworkSourceArrayOutput added in v7.1.0

type AccessLevelConditionVpcNetworkSourceArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionVpcNetworkSourceArrayOutput) ElementType added in v7.1.0

func (AccessLevelConditionVpcNetworkSourceArrayOutput) Index added in v7.1.0

func (AccessLevelConditionVpcNetworkSourceArrayOutput) ToAccessLevelConditionVpcNetworkSourceArrayOutput added in v7.1.0

func (o AccessLevelConditionVpcNetworkSourceArrayOutput) ToAccessLevelConditionVpcNetworkSourceArrayOutput() AccessLevelConditionVpcNetworkSourceArrayOutput

func (AccessLevelConditionVpcNetworkSourceArrayOutput) ToAccessLevelConditionVpcNetworkSourceArrayOutputWithContext added in v7.1.0

func (o AccessLevelConditionVpcNetworkSourceArrayOutput) ToAccessLevelConditionVpcNetworkSourceArrayOutputWithContext(ctx context.Context) AccessLevelConditionVpcNetworkSourceArrayOutput

type AccessLevelConditionVpcNetworkSourceInput added in v7.1.0

type AccessLevelConditionVpcNetworkSourceInput interface {
	pulumi.Input

	ToAccessLevelConditionVpcNetworkSourceOutput() AccessLevelConditionVpcNetworkSourceOutput
	ToAccessLevelConditionVpcNetworkSourceOutputWithContext(context.Context) AccessLevelConditionVpcNetworkSourceOutput
}

AccessLevelConditionVpcNetworkSourceInput is an input type that accepts AccessLevelConditionVpcNetworkSourceArgs and AccessLevelConditionVpcNetworkSourceOutput values. You can construct a concrete instance of `AccessLevelConditionVpcNetworkSourceInput` via:

AccessLevelConditionVpcNetworkSourceArgs{...}

type AccessLevelConditionVpcNetworkSourceOutput added in v7.1.0

type AccessLevelConditionVpcNetworkSourceOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionVpcNetworkSourceOutput) ElementType added in v7.1.0

func (AccessLevelConditionVpcNetworkSourceOutput) ToAccessLevelConditionVpcNetworkSourceOutput added in v7.1.0

func (o AccessLevelConditionVpcNetworkSourceOutput) ToAccessLevelConditionVpcNetworkSourceOutput() AccessLevelConditionVpcNetworkSourceOutput

func (AccessLevelConditionVpcNetworkSourceOutput) ToAccessLevelConditionVpcNetworkSourceOutputWithContext added in v7.1.0

func (o AccessLevelConditionVpcNetworkSourceOutput) ToAccessLevelConditionVpcNetworkSourceOutputWithContext(ctx context.Context) AccessLevelConditionVpcNetworkSourceOutput

func (AccessLevelConditionVpcNetworkSourceOutput) VpcSubnetwork added in v7.1.0

Sub networks within a VPC network. Structure is documented below.

type AccessLevelConditionVpcNetworkSourceVpcSubnetwork added in v7.1.0

type AccessLevelConditionVpcNetworkSourceVpcSubnetwork struct {
	// Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires `compute.network.get` permission to be granted to caller.
	Network string `pulumi:"network"`
	// CIDR block IP subnetwork specification. Must be IPv4.
	VpcIpSubnetworks []string `pulumi:"vpcIpSubnetworks"`
}

type AccessLevelConditionVpcNetworkSourceVpcSubnetworkArgs added in v7.1.0

type AccessLevelConditionVpcNetworkSourceVpcSubnetworkArgs struct {
	// Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires `compute.network.get` permission to be granted to caller.
	Network pulumi.StringInput `pulumi:"network"`
	// CIDR block IP subnetwork specification. Must be IPv4.
	VpcIpSubnetworks pulumi.StringArrayInput `pulumi:"vpcIpSubnetworks"`
}

func (AccessLevelConditionVpcNetworkSourceVpcSubnetworkArgs) ElementType added in v7.1.0

func (AccessLevelConditionVpcNetworkSourceVpcSubnetworkArgs) ToAccessLevelConditionVpcNetworkSourceVpcSubnetworkOutput added in v7.1.0

func (i AccessLevelConditionVpcNetworkSourceVpcSubnetworkArgs) ToAccessLevelConditionVpcNetworkSourceVpcSubnetworkOutput() AccessLevelConditionVpcNetworkSourceVpcSubnetworkOutput

func (AccessLevelConditionVpcNetworkSourceVpcSubnetworkArgs) ToAccessLevelConditionVpcNetworkSourceVpcSubnetworkOutputWithContext added in v7.1.0

func (i AccessLevelConditionVpcNetworkSourceVpcSubnetworkArgs) ToAccessLevelConditionVpcNetworkSourceVpcSubnetworkOutputWithContext(ctx context.Context) AccessLevelConditionVpcNetworkSourceVpcSubnetworkOutput

func (AccessLevelConditionVpcNetworkSourceVpcSubnetworkArgs) ToAccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutput added in v7.1.0

func (i AccessLevelConditionVpcNetworkSourceVpcSubnetworkArgs) ToAccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutput() AccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutput

func (AccessLevelConditionVpcNetworkSourceVpcSubnetworkArgs) ToAccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutputWithContext added in v7.1.0

func (i AccessLevelConditionVpcNetworkSourceVpcSubnetworkArgs) ToAccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutputWithContext(ctx context.Context) AccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutput

type AccessLevelConditionVpcNetworkSourceVpcSubnetworkInput added in v7.1.0

type AccessLevelConditionVpcNetworkSourceVpcSubnetworkInput interface {
	pulumi.Input

	ToAccessLevelConditionVpcNetworkSourceVpcSubnetworkOutput() AccessLevelConditionVpcNetworkSourceVpcSubnetworkOutput
	ToAccessLevelConditionVpcNetworkSourceVpcSubnetworkOutputWithContext(context.Context) AccessLevelConditionVpcNetworkSourceVpcSubnetworkOutput
}

AccessLevelConditionVpcNetworkSourceVpcSubnetworkInput is an input type that accepts AccessLevelConditionVpcNetworkSourceVpcSubnetworkArgs and AccessLevelConditionVpcNetworkSourceVpcSubnetworkOutput values. You can construct a concrete instance of `AccessLevelConditionVpcNetworkSourceVpcSubnetworkInput` via:

AccessLevelConditionVpcNetworkSourceVpcSubnetworkArgs{...}

type AccessLevelConditionVpcNetworkSourceVpcSubnetworkOutput added in v7.1.0

type AccessLevelConditionVpcNetworkSourceVpcSubnetworkOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionVpcNetworkSourceVpcSubnetworkOutput) ElementType added in v7.1.0

func (AccessLevelConditionVpcNetworkSourceVpcSubnetworkOutput) Network added in v7.1.0

Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires `compute.network.get` permission to be granted to caller.

func (AccessLevelConditionVpcNetworkSourceVpcSubnetworkOutput) ToAccessLevelConditionVpcNetworkSourceVpcSubnetworkOutput added in v7.1.0

func (AccessLevelConditionVpcNetworkSourceVpcSubnetworkOutput) ToAccessLevelConditionVpcNetworkSourceVpcSubnetworkOutputWithContext added in v7.1.0

func (o AccessLevelConditionVpcNetworkSourceVpcSubnetworkOutput) ToAccessLevelConditionVpcNetworkSourceVpcSubnetworkOutputWithContext(ctx context.Context) AccessLevelConditionVpcNetworkSourceVpcSubnetworkOutput

func (AccessLevelConditionVpcNetworkSourceVpcSubnetworkOutput) ToAccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutput added in v7.1.0

func (AccessLevelConditionVpcNetworkSourceVpcSubnetworkOutput) ToAccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutputWithContext added in v7.1.0

func (o AccessLevelConditionVpcNetworkSourceVpcSubnetworkOutput) ToAccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutputWithContext(ctx context.Context) AccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutput

func (AccessLevelConditionVpcNetworkSourceVpcSubnetworkOutput) VpcIpSubnetworks added in v7.1.0

CIDR block IP subnetwork specification. Must be IPv4.

type AccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrInput added in v7.1.0

type AccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrInput interface {
	pulumi.Input

	ToAccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutput() AccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutput
	ToAccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutputWithContext(context.Context) AccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutput
}

AccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrInput is an input type that accepts AccessLevelConditionVpcNetworkSourceVpcSubnetworkArgs, AccessLevelConditionVpcNetworkSourceVpcSubnetworkPtr and AccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutput values. You can construct a concrete instance of `AccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrInput` via:

        AccessLevelConditionVpcNetworkSourceVpcSubnetworkArgs{...}

or:

        nil

type AccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutput added in v7.1.0

type AccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutput struct{ *pulumi.OutputState }

func (AccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutput) Elem added in v7.1.0

func (AccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutput) ElementType added in v7.1.0

func (AccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutput) Network added in v7.1.0

Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires `compute.network.get` permission to be granted to caller.

func (AccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutput) ToAccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutput added in v7.1.0

func (AccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutput) ToAccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutputWithContext added in v7.1.0

func (o AccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutput) ToAccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutputWithContext(ctx context.Context) AccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutput

func (AccessLevelConditionVpcNetworkSourceVpcSubnetworkPtrOutput) VpcIpSubnetworks added in v7.1.0

CIDR block IP subnetwork specification. Must be IPv4.

type AccessLevelCustom

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

type AccessLevelCustomArgs

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

func (AccessLevelCustomArgs) ElementType

func (AccessLevelCustomArgs) ElementType() reflect.Type

func (AccessLevelCustomArgs) ToAccessLevelCustomOutput

func (i AccessLevelCustomArgs) ToAccessLevelCustomOutput() AccessLevelCustomOutput

func (AccessLevelCustomArgs) ToAccessLevelCustomOutputWithContext

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

func (AccessLevelCustomArgs) ToAccessLevelCustomPtrOutput

func (i AccessLevelCustomArgs) ToAccessLevelCustomPtrOutput() AccessLevelCustomPtrOutput

func (AccessLevelCustomArgs) ToAccessLevelCustomPtrOutputWithContext

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

type AccessLevelCustomExpr

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

type AccessLevelCustomExprArgs

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

func (AccessLevelCustomExprArgs) ElementType

func (AccessLevelCustomExprArgs) ElementType() reflect.Type

func (AccessLevelCustomExprArgs) ToAccessLevelCustomExprOutput

func (i AccessLevelCustomExprArgs) ToAccessLevelCustomExprOutput() AccessLevelCustomExprOutput

func (AccessLevelCustomExprArgs) ToAccessLevelCustomExprOutputWithContext

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

func (AccessLevelCustomExprArgs) ToAccessLevelCustomExprPtrOutput

func (i AccessLevelCustomExprArgs) ToAccessLevelCustomExprPtrOutput() AccessLevelCustomExprPtrOutput

func (AccessLevelCustomExprArgs) ToAccessLevelCustomExprPtrOutputWithContext

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

type AccessLevelCustomExprInput

type AccessLevelCustomExprInput interface {
	pulumi.Input

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

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

AccessLevelCustomExprArgs{...}

type AccessLevelCustomExprOutput

type AccessLevelCustomExprOutput struct{ *pulumi.OutputState }

func (AccessLevelCustomExprOutput) Description

Description of the expression

func (AccessLevelCustomExprOutput) ElementType

func (AccessLevelCustomExprOutput) Expression

Textual representation of an expression in Common Expression Language syntax.

func (AccessLevelCustomExprOutput) Location

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

func (AccessLevelCustomExprOutput) Title

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

func (AccessLevelCustomExprOutput) ToAccessLevelCustomExprOutput

func (o AccessLevelCustomExprOutput) ToAccessLevelCustomExprOutput() AccessLevelCustomExprOutput

func (AccessLevelCustomExprOutput) ToAccessLevelCustomExprOutputWithContext

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

func (AccessLevelCustomExprOutput) ToAccessLevelCustomExprPtrOutput

func (o AccessLevelCustomExprOutput) ToAccessLevelCustomExprPtrOutput() AccessLevelCustomExprPtrOutput

func (AccessLevelCustomExprOutput) ToAccessLevelCustomExprPtrOutputWithContext

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

type AccessLevelCustomExprPtrInput

type AccessLevelCustomExprPtrInput interface {
	pulumi.Input

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

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

        AccessLevelCustomExprArgs{...}

or:

        nil

type AccessLevelCustomExprPtrOutput

type AccessLevelCustomExprPtrOutput struct{ *pulumi.OutputState }

func (AccessLevelCustomExprPtrOutput) Description

Description of the expression

func (AccessLevelCustomExprPtrOutput) Elem

func (AccessLevelCustomExprPtrOutput) ElementType

func (AccessLevelCustomExprPtrOutput) Expression

Textual representation of an expression in Common Expression Language syntax.

func (AccessLevelCustomExprPtrOutput) Location

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

func (AccessLevelCustomExprPtrOutput) Title

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

func (AccessLevelCustomExprPtrOutput) ToAccessLevelCustomExprPtrOutput

func (o AccessLevelCustomExprPtrOutput) ToAccessLevelCustomExprPtrOutput() AccessLevelCustomExprPtrOutput

func (AccessLevelCustomExprPtrOutput) ToAccessLevelCustomExprPtrOutputWithContext

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

type AccessLevelCustomInput

type AccessLevelCustomInput interface {
	pulumi.Input

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

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

AccessLevelCustomArgs{...}

type AccessLevelCustomOutput

type AccessLevelCustomOutput struct{ *pulumi.OutputState }

func (AccessLevelCustomOutput) ElementType

func (AccessLevelCustomOutput) ElementType() reflect.Type

func (AccessLevelCustomOutput) Expr

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

func (AccessLevelCustomOutput) ToAccessLevelCustomOutput

func (o AccessLevelCustomOutput) ToAccessLevelCustomOutput() AccessLevelCustomOutput

func (AccessLevelCustomOutput) ToAccessLevelCustomOutputWithContext

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

func (AccessLevelCustomOutput) ToAccessLevelCustomPtrOutput

func (o AccessLevelCustomOutput) ToAccessLevelCustomPtrOutput() AccessLevelCustomPtrOutput

func (AccessLevelCustomOutput) ToAccessLevelCustomPtrOutputWithContext

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

type AccessLevelCustomPtrInput

type AccessLevelCustomPtrInput interface {
	pulumi.Input

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

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

        AccessLevelCustomArgs{...}

or:

        nil

type AccessLevelCustomPtrOutput

type AccessLevelCustomPtrOutput struct{ *pulumi.OutputState }

func (AccessLevelCustomPtrOutput) Elem

func (AccessLevelCustomPtrOutput) ElementType

func (AccessLevelCustomPtrOutput) ElementType() reflect.Type

func (AccessLevelCustomPtrOutput) Expr

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

func (AccessLevelCustomPtrOutput) ToAccessLevelCustomPtrOutput

func (o AccessLevelCustomPtrOutput) ToAccessLevelCustomPtrOutput() AccessLevelCustomPtrOutput

func (AccessLevelCustomPtrOutput) ToAccessLevelCustomPtrOutputWithContext

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

type AccessLevelInput

type AccessLevelInput interface {
	pulumi.Input

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

type AccessLevelMap

type AccessLevelMap map[string]AccessLevelInput

func (AccessLevelMap) ElementType

func (AccessLevelMap) ElementType() reflect.Type

func (AccessLevelMap) ToAccessLevelMapOutput

func (i AccessLevelMap) ToAccessLevelMapOutput() AccessLevelMapOutput

func (AccessLevelMap) ToAccessLevelMapOutputWithContext

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

type AccessLevelMapInput

type AccessLevelMapInput interface {
	pulumi.Input

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

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

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

type AccessLevelMapOutput

type AccessLevelMapOutput struct{ *pulumi.OutputState }

func (AccessLevelMapOutput) ElementType

func (AccessLevelMapOutput) ElementType() reflect.Type

func (AccessLevelMapOutput) MapIndex

func (AccessLevelMapOutput) ToAccessLevelMapOutput

func (o AccessLevelMapOutput) ToAccessLevelMapOutput() AccessLevelMapOutput

func (AccessLevelMapOutput) ToAccessLevelMapOutputWithContext

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

type AccessLevelOutput

type AccessLevelOutput struct{ *pulumi.OutputState }

func (AccessLevelOutput) Basic

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

func (AccessLevelOutput) 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 (AccessLevelOutput) Description

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

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

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

func (AccessLevelOutput) Title

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

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/v7/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{
			Parent: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("accessPolicies/%v", name), nil
			}).(pulumi.StringOutput),
			AccessLevels: accesscontextmanager.AccessLevelsAccessLevelArray{
				&accesscontextmanager.AccessLevelsAccessLevelArgs{
					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"),
					Basic: &accesscontextmanager.AccessLevelsAccessLevelBasicArgs{
						Conditions: accesscontextmanager.AccessLevelsAccessLevelBasicConditionArray{
							&accesscontextmanager.AccessLevelsAccessLevelBasicConditionArgs{
								DevicePolicy: &accesscontextmanager.AccessLevelsAccessLevelBasicConditionDevicePolicyArgs{
									RequireScreenLock: pulumi.Bool(true),
									OsConstraints: accesscontextmanager.AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArray{
										&accesscontextmanager.AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArgs{
											OsType: pulumi.String("DESKTOP_CHROME_OS"),
										},
									},
								},
								Regions: pulumi.StringArray{
									pulumi.String("CH"),
									pulumi.String("IT"),
									pulumi.String("US"),
								},
							},
						},
					},
				},
				&accesscontextmanager.AccessLevelsAccessLevelArgs{
					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"),
					Basic: &accesscontextmanager.AccessLevelsAccessLevelBasicArgs{
						Conditions: accesscontextmanager.AccessLevelsAccessLevelBasicConditionArray{
							&accesscontextmanager.AccessLevelsAccessLevelBasicConditionArgs{
								DevicePolicy: &accesscontextmanager.AccessLevelsAccessLevelBasicConditionDevicePolicyArgs{
									RequireScreenLock: pulumi.Bool(true),
									OsConstraints: accesscontextmanager.AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArray{
										&accesscontextmanager.AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArgs{
											OsType: pulumi.String("DESKTOP_MAC"),
										},
									},
								},
								Regions: pulumi.StringArray{
									pulumi.String("CH"),
									pulumi.String("IT"),
									pulumi.String("US"),
								},
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

AccessLevels can be imported using any of these accepted formats:

* `{{parent}}/accessLevels`

* `{{parent}}`

When using the `pulumi import` command, AccessLevels can be imported using one of the formats above. For example:

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

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

type AccessLevelsAccessLevelArray

type AccessLevelsAccessLevelArray []AccessLevelsAccessLevelInput

func (AccessLevelsAccessLevelArray) ElementType

func (AccessLevelsAccessLevelArray) ToAccessLevelsAccessLevelArrayOutput

func (i AccessLevelsAccessLevelArray) ToAccessLevelsAccessLevelArrayOutput() AccessLevelsAccessLevelArrayOutput

func (AccessLevelsAccessLevelArray) ToAccessLevelsAccessLevelArrayOutputWithContext

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

type AccessLevelsAccessLevelArrayInput

type AccessLevelsAccessLevelArrayInput interface {
	pulumi.Input

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

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

AccessLevelsAccessLevelArray{ AccessLevelsAccessLevelArgs{...} }

type AccessLevelsAccessLevelArrayOutput

type AccessLevelsAccessLevelArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelArrayOutput) ElementType

func (AccessLevelsAccessLevelArrayOutput) Index

func (AccessLevelsAccessLevelArrayOutput) ToAccessLevelsAccessLevelArrayOutput

func (o AccessLevelsAccessLevelArrayOutput) ToAccessLevelsAccessLevelArrayOutput() AccessLevelsAccessLevelArrayOutput

func (AccessLevelsAccessLevelArrayOutput) ToAccessLevelsAccessLevelArrayOutputWithContext

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

type AccessLevelsAccessLevelBasic

type AccessLevelsAccessLevelBasic struct {
	// How the conditions list should be combined to determine if a request
	// is granted this AccessLevel. If AND is used, each Condition in
	// conditions must be satisfied for the AccessLevel to be applied. If
	// OR is used, at least one Condition in conditions must be satisfied
	// for the AccessLevel to be applied.
	// Default value is `AND`.
	// Possible values are: `AND`, `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

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"`
	// The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with `ipSubnetworks`.
	// Structure is documented below.
	VpcNetworkSources []AccessLevelsAccessLevelBasicConditionVpcNetworkSource `pulumi:"vpcNetworkSources"`
}

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"`
	// The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with `ipSubnetworks`.
	// Structure is documented below.
	VpcNetworkSources AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArrayInput `pulumi:"vpcNetworkSources"`
}

func (AccessLevelsAccessLevelBasicConditionArgs) ElementType

func (AccessLevelsAccessLevelBasicConditionArgs) ToAccessLevelsAccessLevelBasicConditionOutput

func (i AccessLevelsAccessLevelBasicConditionArgs) ToAccessLevelsAccessLevelBasicConditionOutput() AccessLevelsAccessLevelBasicConditionOutput

func (AccessLevelsAccessLevelBasicConditionArgs) ToAccessLevelsAccessLevelBasicConditionOutputWithContext

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

type AccessLevelsAccessLevelBasicConditionArray

type AccessLevelsAccessLevelBasicConditionArray []AccessLevelsAccessLevelBasicConditionInput

func (AccessLevelsAccessLevelBasicConditionArray) ElementType

func (AccessLevelsAccessLevelBasicConditionArray) ToAccessLevelsAccessLevelBasicConditionArrayOutput

func (i AccessLevelsAccessLevelBasicConditionArray) ToAccessLevelsAccessLevelBasicConditionArrayOutput() AccessLevelsAccessLevelBasicConditionArrayOutput

func (AccessLevelsAccessLevelBasicConditionArray) ToAccessLevelsAccessLevelBasicConditionArrayOutputWithContext

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

type AccessLevelsAccessLevelBasicConditionArrayInput

type AccessLevelsAccessLevelBasicConditionArrayInput interface {
	pulumi.Input

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

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

AccessLevelsAccessLevelBasicConditionArray{ AccessLevelsAccessLevelBasicConditionArgs{...} }

type AccessLevelsAccessLevelBasicConditionArrayOutput

type AccessLevelsAccessLevelBasicConditionArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelBasicConditionArrayOutput) ElementType

func (AccessLevelsAccessLevelBasicConditionArrayOutput) Index

func (AccessLevelsAccessLevelBasicConditionArrayOutput) ToAccessLevelsAccessLevelBasicConditionArrayOutput

func (o AccessLevelsAccessLevelBasicConditionArrayOutput) ToAccessLevelsAccessLevelBasicConditionArrayOutput() AccessLevelsAccessLevelBasicConditionArrayOutput

func (AccessLevelsAccessLevelBasicConditionArrayOutput) ToAccessLevelsAccessLevelBasicConditionArrayOutputWithContext

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

type AccessLevelsAccessLevelBasicConditionDevicePolicy

type AccessLevelsAccessLevelBasicConditionDevicePolicy struct {
	// A list of allowed device management levels.
	// An empty list allows all management levels.
	// Each value may be one of: `MANAGEMENT_UNSPECIFIED`, `NONE`, `BASIC`, `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

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

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArray

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArray []AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintInput

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArray) ElementType

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArray) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArray) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutputWithContext

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

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayInput

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayInput interface {
	pulumi.Input

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

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

AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArray{ AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArgs{...} }

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput) ElementType

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutput) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArrayOutputWithContext

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintInput

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintInput interface {
	pulumi.Input

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

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

AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintArgs{...}

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput

type AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput) ElementType

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput) MinimumVersion

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

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput) OsType

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

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutput) ToAccessLevelsAccessLevelBasicConditionDevicePolicyOsConstraintOutputWithContext

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

type AccessLevelsAccessLevelBasicConditionDevicePolicyOutput

type AccessLevelsAccessLevelBasicConditionDevicePolicyOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelBasicConditionDevicePolicyOutput) AllowedDeviceManagementLevels

A list of allowed device management levels. An empty list allows all management levels. Each value may be one of: `MANAGEMENT_UNSPECIFIED`, `NONE`, `BASIC`, `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

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

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) VpcNetworkSources added in v7.1.0

The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with `ipSubnetworks`. Structure is documented below.

type AccessLevelsAccessLevelBasicConditionVpcNetworkSource added in v7.1.0

type AccessLevelsAccessLevelBasicConditionVpcNetworkSource struct {
	// Sub networks within a VPC network.
	// Structure is documented below.
	VpcSubnetwork *AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetwork `pulumi:"vpcSubnetwork"`
}

type AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArgs added in v7.1.0

type AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArgs struct {
	// Sub networks within a VPC network.
	// Structure is documented below.
	VpcSubnetwork AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrInput `pulumi:"vpcSubnetwork"`
}

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArgs) ElementType added in v7.1.0

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArgs) ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceOutput added in v7.1.0

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArgs) ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceOutputWithContext added in v7.1.0

func (i AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArgs) ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceOutputWithContext(ctx context.Context) AccessLevelsAccessLevelBasicConditionVpcNetworkSourceOutput

type AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArray added in v7.1.0

type AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArray []AccessLevelsAccessLevelBasicConditionVpcNetworkSourceInput

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArray) ElementType added in v7.1.0

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArray) ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceArrayOutput added in v7.1.0

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArray) ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceArrayOutputWithContext added in v7.1.0

func (i AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArray) ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceArrayOutputWithContext(ctx context.Context) AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArrayOutput

type AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArrayInput added in v7.1.0

type AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArrayInput interface {
	pulumi.Input

	ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceArrayOutput() AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArrayOutput
	ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceArrayOutputWithContext(context.Context) AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArrayOutput
}

AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArrayInput is an input type that accepts AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArray and AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArrayOutput values. You can construct a concrete instance of `AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArrayInput` via:

AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArray{ AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArgs{...} }

type AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArrayOutput added in v7.1.0

type AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArrayOutput) ElementType added in v7.1.0

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArrayOutput) Index added in v7.1.0

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArrayOutput) ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceArrayOutput added in v7.1.0

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArrayOutput) ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceArrayOutputWithContext added in v7.1.0

func (o AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArrayOutput) ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceArrayOutputWithContext(ctx context.Context) AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArrayOutput

type AccessLevelsAccessLevelBasicConditionVpcNetworkSourceInput added in v7.1.0

type AccessLevelsAccessLevelBasicConditionVpcNetworkSourceInput interface {
	pulumi.Input

	ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceOutput() AccessLevelsAccessLevelBasicConditionVpcNetworkSourceOutput
	ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceOutputWithContext(context.Context) AccessLevelsAccessLevelBasicConditionVpcNetworkSourceOutput
}

AccessLevelsAccessLevelBasicConditionVpcNetworkSourceInput is an input type that accepts AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArgs and AccessLevelsAccessLevelBasicConditionVpcNetworkSourceOutput values. You can construct a concrete instance of `AccessLevelsAccessLevelBasicConditionVpcNetworkSourceInput` via:

AccessLevelsAccessLevelBasicConditionVpcNetworkSourceArgs{...}

type AccessLevelsAccessLevelBasicConditionVpcNetworkSourceOutput added in v7.1.0

type AccessLevelsAccessLevelBasicConditionVpcNetworkSourceOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceOutput) ElementType added in v7.1.0

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceOutput) ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceOutput added in v7.1.0

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceOutput) ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceOutputWithContext added in v7.1.0

func (o AccessLevelsAccessLevelBasicConditionVpcNetworkSourceOutput) ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceOutputWithContext(ctx context.Context) AccessLevelsAccessLevelBasicConditionVpcNetworkSourceOutput

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceOutput) VpcSubnetwork added in v7.1.0

Sub networks within a VPC network. Structure is documented below.

type AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetwork added in v7.1.0

type AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetwork struct {
	// Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires `compute.network.get` permission to be granted to caller.
	Network string `pulumi:"network"`
	// CIDR block IP subnetwork specification. Must be IPv4.
	VpcIpSubnetworks []string `pulumi:"vpcIpSubnetworks"`
}

type AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs added in v7.1.0

type AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs struct {
	// Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires `compute.network.get` permission to be granted to caller.
	Network pulumi.StringInput `pulumi:"network"`
	// CIDR block IP subnetwork specification. Must be IPv4.
	VpcIpSubnetworks pulumi.StringArrayInput `pulumi:"vpcIpSubnetworks"`
}

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs) ElementType added in v7.1.0

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs) ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput added in v7.1.0

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs) ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutputWithContext added in v7.1.0

func (i AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs) ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutputWithContext(ctx context.Context) AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs) ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput added in v7.1.0

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs) ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutputWithContext added in v7.1.0

func (i AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs) ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutputWithContext(ctx context.Context) AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput

type AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkInput added in v7.1.0

type AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkInput interface {
	pulumi.Input

	ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput() AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput
	ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutputWithContext(context.Context) AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput
}

AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkInput is an input type that accepts AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs and AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput values. You can construct a concrete instance of `AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkInput` via:

AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs{...}

type AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput added in v7.1.0

type AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput) ElementType added in v7.1.0

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput) Network added in v7.1.0

Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires `compute.network.get` permission to be granted to caller.

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput) ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput added in v7.1.0

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput) ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutputWithContext added in v7.1.0

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput) ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput added in v7.1.0

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput) ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutputWithContext added in v7.1.0

func (o AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput) ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutputWithContext(ctx context.Context) AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkOutput) VpcIpSubnetworks added in v7.1.0

CIDR block IP subnetwork specification. Must be IPv4.

type AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrInput added in v7.1.0

type AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrInput interface {
	pulumi.Input

	ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput() AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput
	ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutputWithContext(context.Context) AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput
}

AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrInput is an input type that accepts AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs, AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtr and AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput values. You can construct a concrete instance of `AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrInput` via:

        AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs{...}

or:

        nil

type AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput added in v7.1.0

type AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput) Elem added in v7.1.0

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput) ElementType added in v7.1.0

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput) Network added in v7.1.0

Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires `compute.network.get` permission to be granted to caller.

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput) ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput added in v7.1.0

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput) ToAccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutputWithContext added in v7.1.0

func (AccessLevelsAccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkPtrOutput) VpcIpSubnetworks added in v7.1.0

CIDR block IP subnetwork specification. Must be IPv4.

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

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

type AccessLevelsAccessLevelCustom

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

type AccessLevelsAccessLevelCustomArgs

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

func (AccessLevelsAccessLevelCustomArgs) ElementType

func (AccessLevelsAccessLevelCustomArgs) ToAccessLevelsAccessLevelCustomOutput

func (i AccessLevelsAccessLevelCustomArgs) ToAccessLevelsAccessLevelCustomOutput() AccessLevelsAccessLevelCustomOutput

func (AccessLevelsAccessLevelCustomArgs) ToAccessLevelsAccessLevelCustomOutputWithContext

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

func (AccessLevelsAccessLevelCustomArgs) ToAccessLevelsAccessLevelCustomPtrOutput

func (i AccessLevelsAccessLevelCustomArgs) ToAccessLevelsAccessLevelCustomPtrOutput() AccessLevelsAccessLevelCustomPtrOutput

func (AccessLevelsAccessLevelCustomArgs) ToAccessLevelsAccessLevelCustomPtrOutputWithContext

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

type AccessLevelsAccessLevelCustomExpr

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

type AccessLevelsAccessLevelCustomExprArgs

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

func (AccessLevelsAccessLevelCustomExprArgs) ElementType

func (AccessLevelsAccessLevelCustomExprArgs) ToAccessLevelsAccessLevelCustomExprOutput

func (i AccessLevelsAccessLevelCustomExprArgs) ToAccessLevelsAccessLevelCustomExprOutput() AccessLevelsAccessLevelCustomExprOutput

func (AccessLevelsAccessLevelCustomExprArgs) ToAccessLevelsAccessLevelCustomExprOutputWithContext

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

func (AccessLevelsAccessLevelCustomExprArgs) ToAccessLevelsAccessLevelCustomExprPtrOutput

func (i AccessLevelsAccessLevelCustomExprArgs) ToAccessLevelsAccessLevelCustomExprPtrOutput() AccessLevelsAccessLevelCustomExprPtrOutput

func (AccessLevelsAccessLevelCustomExprArgs) ToAccessLevelsAccessLevelCustomExprPtrOutputWithContext

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

type AccessLevelsAccessLevelCustomExprInput

type AccessLevelsAccessLevelCustomExprInput interface {
	pulumi.Input

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

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

AccessLevelsAccessLevelCustomExprArgs{...}

type AccessLevelsAccessLevelCustomExprOutput

type AccessLevelsAccessLevelCustomExprOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelCustomExprOutput) Description

Description of the expression

func (AccessLevelsAccessLevelCustomExprOutput) ElementType

func (AccessLevelsAccessLevelCustomExprOutput) Expression

Textual representation of an expression in Common Expression Language syntax.

func (AccessLevelsAccessLevelCustomExprOutput) Location

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

func (AccessLevelsAccessLevelCustomExprOutput) Title

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

func (AccessLevelsAccessLevelCustomExprOutput) ToAccessLevelsAccessLevelCustomExprOutput

func (o AccessLevelsAccessLevelCustomExprOutput) ToAccessLevelsAccessLevelCustomExprOutput() AccessLevelsAccessLevelCustomExprOutput

func (AccessLevelsAccessLevelCustomExprOutput) ToAccessLevelsAccessLevelCustomExprOutputWithContext

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

func (AccessLevelsAccessLevelCustomExprOutput) ToAccessLevelsAccessLevelCustomExprPtrOutput

func (o AccessLevelsAccessLevelCustomExprOutput) ToAccessLevelsAccessLevelCustomExprPtrOutput() AccessLevelsAccessLevelCustomExprPtrOutput

func (AccessLevelsAccessLevelCustomExprOutput) ToAccessLevelsAccessLevelCustomExprPtrOutputWithContext

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

type AccessLevelsAccessLevelCustomExprPtrInput

type AccessLevelsAccessLevelCustomExprPtrInput interface {
	pulumi.Input

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

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

        AccessLevelsAccessLevelCustomExprArgs{...}

or:

        nil

type AccessLevelsAccessLevelCustomExprPtrOutput

type AccessLevelsAccessLevelCustomExprPtrOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelCustomExprPtrOutput) Description

Description of the expression

func (AccessLevelsAccessLevelCustomExprPtrOutput) Elem

func (AccessLevelsAccessLevelCustomExprPtrOutput) ElementType

func (AccessLevelsAccessLevelCustomExprPtrOutput) Expression

Textual representation of an expression in Common Expression Language syntax.

func (AccessLevelsAccessLevelCustomExprPtrOutput) Location

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

func (AccessLevelsAccessLevelCustomExprPtrOutput) Title

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

func (AccessLevelsAccessLevelCustomExprPtrOutput) ToAccessLevelsAccessLevelCustomExprPtrOutput

func (o AccessLevelsAccessLevelCustomExprPtrOutput) ToAccessLevelsAccessLevelCustomExprPtrOutput() AccessLevelsAccessLevelCustomExprPtrOutput

func (AccessLevelsAccessLevelCustomExprPtrOutput) ToAccessLevelsAccessLevelCustomExprPtrOutputWithContext

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

type AccessLevelsAccessLevelCustomInput

type AccessLevelsAccessLevelCustomInput interface {
	pulumi.Input

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

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

AccessLevelsAccessLevelCustomArgs{...}

type AccessLevelsAccessLevelCustomOutput

type AccessLevelsAccessLevelCustomOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelCustomOutput) ElementType

func (AccessLevelsAccessLevelCustomOutput) Expr

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

func (AccessLevelsAccessLevelCustomOutput) ToAccessLevelsAccessLevelCustomOutput

func (o AccessLevelsAccessLevelCustomOutput) ToAccessLevelsAccessLevelCustomOutput() AccessLevelsAccessLevelCustomOutput

func (AccessLevelsAccessLevelCustomOutput) ToAccessLevelsAccessLevelCustomOutputWithContext

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

func (AccessLevelsAccessLevelCustomOutput) ToAccessLevelsAccessLevelCustomPtrOutput

func (o AccessLevelsAccessLevelCustomOutput) ToAccessLevelsAccessLevelCustomPtrOutput() AccessLevelsAccessLevelCustomPtrOutput

func (AccessLevelsAccessLevelCustomOutput) ToAccessLevelsAccessLevelCustomPtrOutputWithContext

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

type AccessLevelsAccessLevelCustomPtrInput

type AccessLevelsAccessLevelCustomPtrInput interface {
	pulumi.Input

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

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

        AccessLevelsAccessLevelCustomArgs{...}

or:

        nil

type AccessLevelsAccessLevelCustomPtrOutput

type AccessLevelsAccessLevelCustomPtrOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelCustomPtrOutput) Elem

func (AccessLevelsAccessLevelCustomPtrOutput) ElementType

func (AccessLevelsAccessLevelCustomPtrOutput) Expr

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

func (AccessLevelsAccessLevelCustomPtrOutput) ToAccessLevelsAccessLevelCustomPtrOutput

func (o AccessLevelsAccessLevelCustomPtrOutput) ToAccessLevelsAccessLevelCustomPtrOutput() AccessLevelsAccessLevelCustomPtrOutput

func (AccessLevelsAccessLevelCustomPtrOutput) ToAccessLevelsAccessLevelCustomPtrOutputWithContext

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

type AccessLevelsAccessLevelInput

type AccessLevelsAccessLevelInput interface {
	pulumi.Input

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

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

AccessLevelsAccessLevelArgs{...}

type AccessLevelsAccessLevelOutput

type AccessLevelsAccessLevelOutput struct{ *pulumi.OutputState }

func (AccessLevelsAccessLevelOutput) Basic

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

func (AccessLevelsAccessLevelOutput) Custom

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

func (AccessLevelsAccessLevelOutput) Description

Description of the 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

type AccessLevelsArgs

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

The set of arguments for constructing a AccessLevels resource.

func (AccessLevelsArgs) ElementType

func (AccessLevelsArgs) ElementType() reflect.Type

type AccessLevelsArray

type AccessLevelsArray []AccessLevelsInput

func (AccessLevelsArray) ElementType

func (AccessLevelsArray) ElementType() reflect.Type

func (AccessLevelsArray) ToAccessLevelsArrayOutput

func (i AccessLevelsArray) ToAccessLevelsArrayOutput() AccessLevelsArrayOutput

func (AccessLevelsArray) ToAccessLevelsArrayOutputWithContext

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

type AccessLevelsArrayInput

type AccessLevelsArrayInput interface {
	pulumi.Input

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

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

AccessLevelsArray{ AccessLevelsArgs{...} }

type AccessLevelsArrayOutput

type AccessLevelsArrayOutput struct{ *pulumi.OutputState }

func (AccessLevelsArrayOutput) ElementType

func (AccessLevelsArrayOutput) ElementType() reflect.Type

func (AccessLevelsArrayOutput) Index

func (AccessLevelsArrayOutput) ToAccessLevelsArrayOutput

func (o AccessLevelsArrayOutput) ToAccessLevelsArrayOutput() AccessLevelsArrayOutput

func (AccessLevelsArrayOutput) ToAccessLevelsArrayOutputWithContext

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

type AccessLevelsInput

type AccessLevelsInput interface {
	pulumi.Input

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

type AccessLevelsMap

type AccessLevelsMap map[string]AccessLevelsInput

func (AccessLevelsMap) ElementType

func (AccessLevelsMap) ElementType() reflect.Type

func (AccessLevelsMap) ToAccessLevelsMapOutput

func (i AccessLevelsMap) ToAccessLevelsMapOutput() AccessLevelsMapOutput

func (AccessLevelsMap) ToAccessLevelsMapOutputWithContext

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

type AccessLevelsMapInput

type AccessLevelsMapInput interface {
	pulumi.Input

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

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

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

type AccessLevelsMapOutput

type AccessLevelsMapOutput struct{ *pulumi.OutputState }

func (AccessLevelsMapOutput) ElementType

func (AccessLevelsMapOutput) ElementType() reflect.Type

func (AccessLevelsMapOutput) MapIndex

func (AccessLevelsMapOutput) ToAccessLevelsMapOutput

func (o AccessLevelsMapOutput) ToAccessLevelsMapOutput() AccessLevelsMapOutput

func (AccessLevelsMapOutput) ToAccessLevelsMapOutputWithContext

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

type AccessLevelsOutput

type AccessLevelsOutput struct{ *pulumi.OutputState }

func (AccessLevelsOutput) AccessLevels

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

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

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/v7/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/v7/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			ProjectId: pulumi.String("my-project-name"),
			Name:      pulumi.String("my-project-name"),
			OrgId:     pulumi.String("123456789"),
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewAccessPolicy(ctx, "access-policy", &accesscontextmanager.AccessPolicyArgs{
			Parent: pulumi.String("organizations/123456789"),
			Title:  pulumi.String("Scoped Access Policy"),
			Scopes: project.Number.ApplyT(func(number string) (string, error) {
				return fmt.Sprintf("projects/%v", number), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

AccessPolicy can be imported using any of these accepted formats:

* `{{name}}`

When using the `pulumi import` command, AccessPolicy can be imported using one of the formats above. For example:

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

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

type AccessPolicyArrayInput

type AccessPolicyArrayInput interface {
	pulumi.Input

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

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

AccessPolicyArray{ AccessPolicyArgs{...} }

type AccessPolicyArrayOutput

type AccessPolicyArrayOutput struct{ *pulumi.OutputState }

func (AccessPolicyArrayOutput) ElementType

func (AccessPolicyArrayOutput) ElementType() reflect.Type

func (AccessPolicyArrayOutput) Index

func (AccessPolicyArrayOutput) ToAccessPolicyArrayOutput

func (o AccessPolicyArrayOutput) ToAccessPolicyArrayOutput() AccessPolicyArrayOutput

func (AccessPolicyArrayOutput) ToAccessPolicyArrayOutputWithContext

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

type AccessPolicyIamBinding

type AccessPolicyIamBinding struct {
	pulumi.CustomResourceState

	Condition AccessPolicyIamBindingConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// 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"
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// Used to find the parent resource to bind the IAM policy to
	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/v7/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:       pulumi.Any(access_policy.Name),
			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/v7/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{
			Name: pulumi.Any(access_policy.Name),
			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/v7/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{
			Name:   pulumi.Any(access_policy.Name),
			Role:   pulumi.String("roles/accesscontextmanager.policyAdmin"),
			Member: pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:       pulumi.Any(access_policy.Name),
			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/v7/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{
			Name: pulumi.Any(access_policy.Name),
			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/v7/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{
			Name:   pulumi.Any(access_policy.Name),
			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 identifiers: the 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 identifiers: the 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

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

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

func (*AccessPolicyIamBinding) ElementType() reflect.Type

func (*AccessPolicyIamBinding) ToAccessPolicyIamBindingOutput

func (i *AccessPolicyIamBinding) ToAccessPolicyIamBindingOutput() AccessPolicyIamBindingOutput

func (*AccessPolicyIamBinding) ToAccessPolicyIamBindingOutputWithContext

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

type AccessPolicyIamBindingArgs

type AccessPolicyIamBindingArgs struct {
	Condition AccessPolicyIamBindingConditionPtrInput
	// 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"
	Members pulumi.StringArrayInput
	// Used to find the parent resource to bind the IAM policy to
	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

func (AccessPolicyIamBindingArgs) ElementType() reflect.Type

type AccessPolicyIamBindingArray

type AccessPolicyIamBindingArray []AccessPolicyIamBindingInput

func (AccessPolicyIamBindingArray) ElementType

func (AccessPolicyIamBindingArray) ToAccessPolicyIamBindingArrayOutput

func (i AccessPolicyIamBindingArray) ToAccessPolicyIamBindingArrayOutput() AccessPolicyIamBindingArrayOutput

func (AccessPolicyIamBindingArray) ToAccessPolicyIamBindingArrayOutputWithContext

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

type AccessPolicyIamBindingArrayInput

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

type AccessPolicyIamBindingArrayOutput struct{ *pulumi.OutputState }

func (AccessPolicyIamBindingArrayOutput) ElementType

func (AccessPolicyIamBindingArrayOutput) Index

func (AccessPolicyIamBindingArrayOutput) ToAccessPolicyIamBindingArrayOutput

func (o AccessPolicyIamBindingArrayOutput) ToAccessPolicyIamBindingArrayOutput() AccessPolicyIamBindingArrayOutput

func (AccessPolicyIamBindingArrayOutput) ToAccessPolicyIamBindingArrayOutputWithContext

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

type AccessPolicyIamBindingCondition

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

type AccessPolicyIamBindingConditionArgs

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

func (AccessPolicyIamBindingConditionArgs) ElementType

func (AccessPolicyIamBindingConditionArgs) ToAccessPolicyIamBindingConditionOutput

func (i AccessPolicyIamBindingConditionArgs) ToAccessPolicyIamBindingConditionOutput() AccessPolicyIamBindingConditionOutput

func (AccessPolicyIamBindingConditionArgs) ToAccessPolicyIamBindingConditionOutputWithContext

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

func (AccessPolicyIamBindingConditionArgs) ToAccessPolicyIamBindingConditionPtrOutput

func (i AccessPolicyIamBindingConditionArgs) ToAccessPolicyIamBindingConditionPtrOutput() AccessPolicyIamBindingConditionPtrOutput

func (AccessPolicyIamBindingConditionArgs) ToAccessPolicyIamBindingConditionPtrOutputWithContext

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

type AccessPolicyIamBindingConditionInput

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

type AccessPolicyIamBindingConditionOutput struct{ *pulumi.OutputState }

func (AccessPolicyIamBindingConditionOutput) Description

func (AccessPolicyIamBindingConditionOutput) ElementType

func (AccessPolicyIamBindingConditionOutput) Expression

func (AccessPolicyIamBindingConditionOutput) Title

func (AccessPolicyIamBindingConditionOutput) ToAccessPolicyIamBindingConditionOutput

func (o AccessPolicyIamBindingConditionOutput) ToAccessPolicyIamBindingConditionOutput() AccessPolicyIamBindingConditionOutput

func (AccessPolicyIamBindingConditionOutput) ToAccessPolicyIamBindingConditionOutputWithContext

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

func (AccessPolicyIamBindingConditionOutput) ToAccessPolicyIamBindingConditionPtrOutput

func (o AccessPolicyIamBindingConditionOutput) ToAccessPolicyIamBindingConditionPtrOutput() AccessPolicyIamBindingConditionPtrOutput

func (AccessPolicyIamBindingConditionOutput) ToAccessPolicyIamBindingConditionPtrOutputWithContext

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

type AccessPolicyIamBindingConditionPtrInput

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

type AccessPolicyIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (AccessPolicyIamBindingConditionPtrOutput) Description

func (AccessPolicyIamBindingConditionPtrOutput) Elem

func (AccessPolicyIamBindingConditionPtrOutput) ElementType

func (AccessPolicyIamBindingConditionPtrOutput) Expression

func (AccessPolicyIamBindingConditionPtrOutput) Title

func (AccessPolicyIamBindingConditionPtrOutput) ToAccessPolicyIamBindingConditionPtrOutput

func (o AccessPolicyIamBindingConditionPtrOutput) ToAccessPolicyIamBindingConditionPtrOutput() AccessPolicyIamBindingConditionPtrOutput

func (AccessPolicyIamBindingConditionPtrOutput) ToAccessPolicyIamBindingConditionPtrOutputWithContext

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

type AccessPolicyIamBindingInput

type AccessPolicyIamBindingInput interface {
	pulumi.Input

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

type AccessPolicyIamBindingMap

type AccessPolicyIamBindingMap map[string]AccessPolicyIamBindingInput

func (AccessPolicyIamBindingMap) ElementType

func (AccessPolicyIamBindingMap) ElementType() reflect.Type

func (AccessPolicyIamBindingMap) ToAccessPolicyIamBindingMapOutput

func (i AccessPolicyIamBindingMap) ToAccessPolicyIamBindingMapOutput() AccessPolicyIamBindingMapOutput

func (AccessPolicyIamBindingMap) ToAccessPolicyIamBindingMapOutputWithContext

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

type AccessPolicyIamBindingMapInput

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

type AccessPolicyIamBindingMapOutput struct{ *pulumi.OutputState }

func (AccessPolicyIamBindingMapOutput) ElementType

func (AccessPolicyIamBindingMapOutput) MapIndex

func (AccessPolicyIamBindingMapOutput) ToAccessPolicyIamBindingMapOutput

func (o AccessPolicyIamBindingMapOutput) ToAccessPolicyIamBindingMapOutput() AccessPolicyIamBindingMapOutput

func (AccessPolicyIamBindingMapOutput) ToAccessPolicyIamBindingMapOutputWithContext

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

type AccessPolicyIamBindingOutput

type AccessPolicyIamBindingOutput struct{ *pulumi.OutputState }

func (AccessPolicyIamBindingOutput) Condition

func (AccessPolicyIamBindingOutput) ElementType

func (AccessPolicyIamBindingOutput) Etag

(Computed) The etag of the IAM policy.

func (AccessPolicyIamBindingOutput) Members

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) Name

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

func (AccessPolicyIamBindingOutput) Role

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

func (o AccessPolicyIamBindingOutput) ToAccessPolicyIamBindingOutput() AccessPolicyIamBindingOutput

func (AccessPolicyIamBindingOutput) ToAccessPolicyIamBindingOutputWithContext

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

type AccessPolicyIamBindingState

type AccessPolicyIamBindingState struct {
	Condition AccessPolicyIamBindingConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// 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"
	Members pulumi.StringArrayInput
	// Used to find the parent resource to bind the IAM policy to
	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

type AccessPolicyIamMember

type AccessPolicyIamMember struct {
	pulumi.CustomResourceState

	Condition AccessPolicyIamMemberConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// 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"
	Member pulumi.StringOutput `pulumi:"member"`
	// Used to find the parent resource to bind the IAM policy to
	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/v7/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:       pulumi.Any(access_policy.Name),
			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/v7/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{
			Name: pulumi.Any(access_policy.Name),
			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/v7/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{
			Name:   pulumi.Any(access_policy.Name),
			Role:   pulumi.String("roles/accesscontextmanager.policyAdmin"),
			Member: pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:       pulumi.Any(access_policy.Name),
			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/v7/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{
			Name: pulumi.Any(access_policy.Name),
			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/v7/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{
			Name:   pulumi.Any(access_policy.Name),
			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 identifiers: the 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 identifiers: the 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

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

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

func (*AccessPolicyIamMember) ElementType() reflect.Type

func (*AccessPolicyIamMember) ToAccessPolicyIamMemberOutput

func (i *AccessPolicyIamMember) ToAccessPolicyIamMemberOutput() AccessPolicyIamMemberOutput

func (*AccessPolicyIamMember) ToAccessPolicyIamMemberOutputWithContext

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

type AccessPolicyIamMemberArgs

type AccessPolicyIamMemberArgs struct {
	Condition AccessPolicyIamMemberConditionPtrInput
	// 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"
	Member pulumi.StringInput
	// Used to find the parent resource to bind the IAM policy to
	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

func (AccessPolicyIamMemberArgs) ElementType() reflect.Type

type AccessPolicyIamMemberArray

type AccessPolicyIamMemberArray []AccessPolicyIamMemberInput

func (AccessPolicyIamMemberArray) ElementType

func (AccessPolicyIamMemberArray) ElementType() reflect.Type

func (AccessPolicyIamMemberArray) ToAccessPolicyIamMemberArrayOutput

func (i AccessPolicyIamMemberArray) ToAccessPolicyIamMemberArrayOutput() AccessPolicyIamMemberArrayOutput

func (AccessPolicyIamMemberArray) ToAccessPolicyIamMemberArrayOutputWithContext

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

type AccessPolicyIamMemberArrayInput

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

type AccessPolicyIamMemberArrayOutput struct{ *pulumi.OutputState }

func (AccessPolicyIamMemberArrayOutput) ElementType

func (AccessPolicyIamMemberArrayOutput) Index

func (AccessPolicyIamMemberArrayOutput) ToAccessPolicyIamMemberArrayOutput

func (o AccessPolicyIamMemberArrayOutput) ToAccessPolicyIamMemberArrayOutput() AccessPolicyIamMemberArrayOutput

func (AccessPolicyIamMemberArrayOutput) ToAccessPolicyIamMemberArrayOutputWithContext

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

type AccessPolicyIamMemberCondition

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

type AccessPolicyIamMemberConditionArgs

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

func (AccessPolicyIamMemberConditionArgs) ElementType

func (AccessPolicyIamMemberConditionArgs) ToAccessPolicyIamMemberConditionOutput

func (i AccessPolicyIamMemberConditionArgs) ToAccessPolicyIamMemberConditionOutput() AccessPolicyIamMemberConditionOutput

func (AccessPolicyIamMemberConditionArgs) ToAccessPolicyIamMemberConditionOutputWithContext

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

func (AccessPolicyIamMemberConditionArgs) ToAccessPolicyIamMemberConditionPtrOutput

func (i AccessPolicyIamMemberConditionArgs) ToAccessPolicyIamMemberConditionPtrOutput() AccessPolicyIamMemberConditionPtrOutput

func (AccessPolicyIamMemberConditionArgs) ToAccessPolicyIamMemberConditionPtrOutputWithContext

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

type AccessPolicyIamMemberConditionInput

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

type AccessPolicyIamMemberConditionOutput struct{ *pulumi.OutputState }

func (AccessPolicyIamMemberConditionOutput) Description

func (AccessPolicyIamMemberConditionOutput) ElementType

func (AccessPolicyIamMemberConditionOutput) Expression

func (AccessPolicyIamMemberConditionOutput) Title

func (AccessPolicyIamMemberConditionOutput) ToAccessPolicyIamMemberConditionOutput

func (o AccessPolicyIamMemberConditionOutput) ToAccessPolicyIamMemberConditionOutput() AccessPolicyIamMemberConditionOutput

func (AccessPolicyIamMemberConditionOutput) ToAccessPolicyIamMemberConditionOutputWithContext

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

func (AccessPolicyIamMemberConditionOutput) ToAccessPolicyIamMemberConditionPtrOutput

func (o AccessPolicyIamMemberConditionOutput) ToAccessPolicyIamMemberConditionPtrOutput() AccessPolicyIamMemberConditionPtrOutput

func (AccessPolicyIamMemberConditionOutput) ToAccessPolicyIamMemberConditionPtrOutputWithContext

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

type AccessPolicyIamMemberConditionPtrInput

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

type AccessPolicyIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (AccessPolicyIamMemberConditionPtrOutput) Description

func (AccessPolicyIamMemberConditionPtrOutput) Elem

func (AccessPolicyIamMemberConditionPtrOutput) ElementType

func (AccessPolicyIamMemberConditionPtrOutput) Expression

func (AccessPolicyIamMemberConditionPtrOutput) Title

func (AccessPolicyIamMemberConditionPtrOutput) ToAccessPolicyIamMemberConditionPtrOutput

func (o AccessPolicyIamMemberConditionPtrOutput) ToAccessPolicyIamMemberConditionPtrOutput() AccessPolicyIamMemberConditionPtrOutput

func (AccessPolicyIamMemberConditionPtrOutput) ToAccessPolicyIamMemberConditionPtrOutputWithContext

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

type AccessPolicyIamMemberInput

type AccessPolicyIamMemberInput interface {
	pulumi.Input

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

type AccessPolicyIamMemberMap

type AccessPolicyIamMemberMap map[string]AccessPolicyIamMemberInput

func (AccessPolicyIamMemberMap) ElementType

func (AccessPolicyIamMemberMap) ElementType() reflect.Type

func (AccessPolicyIamMemberMap) ToAccessPolicyIamMemberMapOutput

func (i AccessPolicyIamMemberMap) ToAccessPolicyIamMemberMapOutput() AccessPolicyIamMemberMapOutput

func (AccessPolicyIamMemberMap) ToAccessPolicyIamMemberMapOutputWithContext

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

type AccessPolicyIamMemberMapInput

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

type AccessPolicyIamMemberMapOutput struct{ *pulumi.OutputState }

func (AccessPolicyIamMemberMapOutput) ElementType

func (AccessPolicyIamMemberMapOutput) MapIndex

func (AccessPolicyIamMemberMapOutput) ToAccessPolicyIamMemberMapOutput

func (o AccessPolicyIamMemberMapOutput) ToAccessPolicyIamMemberMapOutput() AccessPolicyIamMemberMapOutput

func (AccessPolicyIamMemberMapOutput) ToAccessPolicyIamMemberMapOutputWithContext

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

type AccessPolicyIamMemberOutput

type AccessPolicyIamMemberOutput struct{ *pulumi.OutputState }

func (AccessPolicyIamMemberOutput) Condition

func (AccessPolicyIamMemberOutput) ElementType

func (AccessPolicyIamMemberOutput) Etag

(Computed) The etag of the IAM policy.

func (AccessPolicyIamMemberOutput) Member

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) Name

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

func (AccessPolicyIamMemberOutput) Role

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

func (o AccessPolicyIamMemberOutput) ToAccessPolicyIamMemberOutput() AccessPolicyIamMemberOutput

func (AccessPolicyIamMemberOutput) ToAccessPolicyIamMemberOutputWithContext

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

type AccessPolicyIamMemberState

type AccessPolicyIamMemberState struct {
	Condition AccessPolicyIamMemberConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// 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"
	Member pulumi.StringPtrInput
	// Used to find the parent resource to bind the IAM policy to
	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

func (AccessPolicyIamMemberState) ElementType() reflect.Type

type AccessPolicyIamPolicy

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
	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/v7/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:       pulumi.Any(access_policy.Name),
			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/v7/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{
			Name: pulumi.Any(access_policy.Name),
			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/v7/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{
			Name:   pulumi.Any(access_policy.Name),
			Role:   pulumi.String("roles/accesscontextmanager.policyAdmin"),
			Member: pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

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

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi-gcp/sdk/v7/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{
			Name:       pulumi.Any(access_policy.Name),
			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/v7/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{
			Name: pulumi.Any(access_policy.Name),
			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/v7/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{
			Name:   pulumi.Any(access_policy.Name),
			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 identifiers: the 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 identifiers: the 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

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

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

func (*AccessPolicyIamPolicy) ElementType() reflect.Type

func (*AccessPolicyIamPolicy) ToAccessPolicyIamPolicyOutput

func (i *AccessPolicyIamPolicy) ToAccessPolicyIamPolicyOutput() AccessPolicyIamPolicyOutput

func (*AccessPolicyIamPolicy) ToAccessPolicyIamPolicyOutputWithContext

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

type AccessPolicyIamPolicyArgs

type AccessPolicyIamPolicyArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	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

func (AccessPolicyIamPolicyArgs) ElementType() reflect.Type

type AccessPolicyIamPolicyArray

type AccessPolicyIamPolicyArray []AccessPolicyIamPolicyInput

func (AccessPolicyIamPolicyArray) ElementType

func (AccessPolicyIamPolicyArray) ElementType() reflect.Type

func (AccessPolicyIamPolicyArray) ToAccessPolicyIamPolicyArrayOutput

func (i AccessPolicyIamPolicyArray) ToAccessPolicyIamPolicyArrayOutput() AccessPolicyIamPolicyArrayOutput

func (AccessPolicyIamPolicyArray) ToAccessPolicyIamPolicyArrayOutputWithContext

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

type AccessPolicyIamPolicyArrayInput

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

type AccessPolicyIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (AccessPolicyIamPolicyArrayOutput) ElementType

func (AccessPolicyIamPolicyArrayOutput) Index

func (AccessPolicyIamPolicyArrayOutput) ToAccessPolicyIamPolicyArrayOutput

func (o AccessPolicyIamPolicyArrayOutput) ToAccessPolicyIamPolicyArrayOutput() AccessPolicyIamPolicyArrayOutput

func (AccessPolicyIamPolicyArrayOutput) ToAccessPolicyIamPolicyArrayOutputWithContext

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

type AccessPolicyIamPolicyInput

type AccessPolicyIamPolicyInput interface {
	pulumi.Input

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

type AccessPolicyIamPolicyMap

type AccessPolicyIamPolicyMap map[string]AccessPolicyIamPolicyInput

func (AccessPolicyIamPolicyMap) ElementType

func (AccessPolicyIamPolicyMap) ElementType() reflect.Type

func (AccessPolicyIamPolicyMap) ToAccessPolicyIamPolicyMapOutput

func (i AccessPolicyIamPolicyMap) ToAccessPolicyIamPolicyMapOutput() AccessPolicyIamPolicyMapOutput

func (AccessPolicyIamPolicyMap) ToAccessPolicyIamPolicyMapOutputWithContext

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

type AccessPolicyIamPolicyMapInput

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

type AccessPolicyIamPolicyMapOutput struct{ *pulumi.OutputState }

func (AccessPolicyIamPolicyMapOutput) ElementType

func (AccessPolicyIamPolicyMapOutput) MapIndex

func (AccessPolicyIamPolicyMapOutput) ToAccessPolicyIamPolicyMapOutput

func (o AccessPolicyIamPolicyMapOutput) ToAccessPolicyIamPolicyMapOutput() AccessPolicyIamPolicyMapOutput

func (AccessPolicyIamPolicyMapOutput) ToAccessPolicyIamPolicyMapOutputWithContext

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

type AccessPolicyIamPolicyOutput

type AccessPolicyIamPolicyOutput struct{ *pulumi.OutputState }

func (AccessPolicyIamPolicyOutput) ElementType

func (AccessPolicyIamPolicyOutput) Etag

(Computed) The etag of the IAM policy.

func (AccessPolicyIamPolicyOutput) Name

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

func (AccessPolicyIamPolicyOutput) PolicyData

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

func (AccessPolicyIamPolicyOutput) ToAccessPolicyIamPolicyOutput

func (o AccessPolicyIamPolicyOutput) ToAccessPolicyIamPolicyOutput() AccessPolicyIamPolicyOutput

func (AccessPolicyIamPolicyOutput) ToAccessPolicyIamPolicyOutputWithContext

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

type AccessPolicyIamPolicyState

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
	Name pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
}

func (AccessPolicyIamPolicyState) ElementType

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

type AccessPolicyMapInput

type AccessPolicyMapInput interface {
	pulumi.Input

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

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

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

type AccessPolicyMapOutput

type AccessPolicyMapOutput struct{ *pulumi.OutputState }

func (AccessPolicyMapOutput) ElementType

func (AccessPolicyMapOutput) ElementType() reflect.Type

func (AccessPolicyMapOutput) MapIndex

func (AccessPolicyMapOutput) ToAccessPolicyMapOutput

func (o AccessPolicyMapOutput) ToAccessPolicyMapOutput() AccessPolicyMapOutput

func (AccessPolicyMapOutput) ToAccessPolicyMapOutputWithContext

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

type AccessPolicyOutput

type AccessPolicyOutput struct{ *pulumi.OutputState }

func (AccessPolicyOutput) CreateTime

func (o AccessPolicyOutput) CreateTime() pulumi.StringOutput

Time the AccessPolicy was created in UTC.

func (AccessPolicyOutput) ElementType

func (AccessPolicyOutput) ElementType() reflect.Type

func (AccessPolicyOutput) Name

Resource name of the AccessPolicy. Format: {policy_id}

func (AccessPolicyOutput) Parent

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

func (AccessPolicyOutput) Scopes

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

func (AccessPolicyOutput) Title

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) UpdateTime

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

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/v7/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{
			Parent: test_access.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("accessPolicies/%v", name), nil
			}).(pulumi.StringOutput),
			Name: test_access.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("accessPolicies/%v/authorizedOrgsDescs/fakeDescName", name), nil
			}).(pulumi.StringOutput),
			AuthorizationType:      pulumi.String("AUTHORIZATION_TYPE_TRUST"),
			AssetType:              pulumi.String("ASSET_TYPE_CREDENTIAL_STRENGTH"),
			AuthorizationDirection: pulumi.String("AUTHORIZATION_DIRECTION_TO"),
			Orgs: pulumi.StringArray{
				pulumi.String("organizations/12345"),
				pulumi.String("organizations/98765"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

AuthorizedOrgsDesc can be imported using any of these accepted formats:

* `{{name}}`

When using the `pulumi import` command, AuthorizedOrgsDesc can be imported using one of the formats above. For example:

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

func GetAuthorizedOrgsDesc

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

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

func (*AuthorizedOrgsDesc) ElementType() reflect.Type

func (*AuthorizedOrgsDesc) ToAuthorizedOrgsDescOutput

func (i *AuthorizedOrgsDesc) ToAuthorizedOrgsDescOutput() AuthorizedOrgsDescOutput

func (*AuthorizedOrgsDesc) ToAuthorizedOrgsDescOutputWithContext

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

type AuthorizedOrgsDescArgs

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

func (AuthorizedOrgsDescArgs) ElementType() reflect.Type

type AuthorizedOrgsDescArray

type AuthorizedOrgsDescArray []AuthorizedOrgsDescInput

func (AuthorizedOrgsDescArray) ElementType

func (AuthorizedOrgsDescArray) ElementType() reflect.Type

func (AuthorizedOrgsDescArray) ToAuthorizedOrgsDescArrayOutput

func (i AuthorizedOrgsDescArray) ToAuthorizedOrgsDescArrayOutput() AuthorizedOrgsDescArrayOutput

func (AuthorizedOrgsDescArray) ToAuthorizedOrgsDescArrayOutputWithContext

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

type AuthorizedOrgsDescArrayInput

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

type AuthorizedOrgsDescArrayOutput struct{ *pulumi.OutputState }

func (AuthorizedOrgsDescArrayOutput) ElementType

func (AuthorizedOrgsDescArrayOutput) Index

func (AuthorizedOrgsDescArrayOutput) ToAuthorizedOrgsDescArrayOutput

func (o AuthorizedOrgsDescArrayOutput) ToAuthorizedOrgsDescArrayOutput() AuthorizedOrgsDescArrayOutput

func (AuthorizedOrgsDescArrayOutput) ToAuthorizedOrgsDescArrayOutputWithContext

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

type AuthorizedOrgsDescInput

type AuthorizedOrgsDescInput interface {
	pulumi.Input

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

type AuthorizedOrgsDescMap

type AuthorizedOrgsDescMap map[string]AuthorizedOrgsDescInput

func (AuthorizedOrgsDescMap) ElementType

func (AuthorizedOrgsDescMap) ElementType() reflect.Type

func (AuthorizedOrgsDescMap) ToAuthorizedOrgsDescMapOutput

func (i AuthorizedOrgsDescMap) ToAuthorizedOrgsDescMapOutput() AuthorizedOrgsDescMapOutput

func (AuthorizedOrgsDescMap) ToAuthorizedOrgsDescMapOutputWithContext

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

type AuthorizedOrgsDescMapInput

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

type AuthorizedOrgsDescMapOutput struct{ *pulumi.OutputState }

func (AuthorizedOrgsDescMapOutput) ElementType

func (AuthorizedOrgsDescMapOutput) MapIndex

func (AuthorizedOrgsDescMapOutput) ToAuthorizedOrgsDescMapOutput

func (o AuthorizedOrgsDescMapOutput) ToAuthorizedOrgsDescMapOutput() AuthorizedOrgsDescMapOutput

func (AuthorizedOrgsDescMapOutput) ToAuthorizedOrgsDescMapOutputWithContext

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

type AuthorizedOrgsDescOutput

type AuthorizedOrgsDescOutput struct{ *pulumi.OutputState }

func (AuthorizedOrgsDescOutput) AssetType

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

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

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

Time the AuthorizedOrgsDesc was created in UTC.

func (AuthorizedOrgsDescOutput) ElementType

func (AuthorizedOrgsDescOutput) ElementType() reflect.Type

func (AuthorizedOrgsDescOutput) Name

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

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

func (AuthorizedOrgsDescOutput) Parent

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

func (AuthorizedOrgsDescOutput) ToAuthorizedOrgsDescOutput

func (o AuthorizedOrgsDescOutput) ToAuthorizedOrgsDescOutput() AuthorizedOrgsDescOutput

func (AuthorizedOrgsDescOutput) ToAuthorizedOrgsDescOutputWithContext

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

func (AuthorizedOrgsDescOutput) UpdateTime

Time the AuthorizedOrgsDesc was updated in UTC.

type AuthorizedOrgsDescState

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

func (AuthorizedOrgsDescState) ElementType() reflect.Type

type EgressPolicy

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:

* `{{egress_policy_name}}/{{resource}}`

When using the `pulumi import` command, EgressPolicy can be imported using one of the formats above. For example:

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

func GetEgressPolicy

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

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

func (*EgressPolicy) ElementType() reflect.Type

func (*EgressPolicy) ToEgressPolicyOutput

func (i *EgressPolicy) ToEgressPolicyOutput() EgressPolicyOutput

func (*EgressPolicy) ToEgressPolicyOutputWithContext

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

type EgressPolicyArgs

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

func (EgressPolicyArgs) ElementType() reflect.Type

type EgressPolicyArray

type EgressPolicyArray []EgressPolicyInput

func (EgressPolicyArray) ElementType

func (EgressPolicyArray) ElementType() reflect.Type

func (EgressPolicyArray) ToEgressPolicyArrayOutput

func (i EgressPolicyArray) ToEgressPolicyArrayOutput() EgressPolicyArrayOutput

func (EgressPolicyArray) ToEgressPolicyArrayOutputWithContext

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

type EgressPolicyArrayInput

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

type EgressPolicyArrayOutput struct{ *pulumi.OutputState }

func (EgressPolicyArrayOutput) ElementType

func (EgressPolicyArrayOutput) ElementType() reflect.Type

func (EgressPolicyArrayOutput) Index

func (EgressPolicyArrayOutput) ToEgressPolicyArrayOutput

func (o EgressPolicyArrayOutput) ToEgressPolicyArrayOutput() EgressPolicyArrayOutput

func (EgressPolicyArrayOutput) ToEgressPolicyArrayOutputWithContext

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

type EgressPolicyInput

type EgressPolicyInput interface {
	pulumi.Input

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

type EgressPolicyMap

type EgressPolicyMap map[string]EgressPolicyInput

func (EgressPolicyMap) ElementType

func (EgressPolicyMap) ElementType() reflect.Type

func (EgressPolicyMap) ToEgressPolicyMapOutput

func (i EgressPolicyMap) ToEgressPolicyMapOutput() EgressPolicyMapOutput

func (EgressPolicyMap) ToEgressPolicyMapOutputWithContext

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

type EgressPolicyMapInput

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

type EgressPolicyMapOutput struct{ *pulumi.OutputState }

func (EgressPolicyMapOutput) ElementType

func (EgressPolicyMapOutput) ElementType() reflect.Type

func (EgressPolicyMapOutput) MapIndex

func (EgressPolicyMapOutput) ToEgressPolicyMapOutput

func (o EgressPolicyMapOutput) ToEgressPolicyMapOutput() EgressPolicyMapOutput

func (EgressPolicyMapOutput) ToEgressPolicyMapOutputWithContext

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

type EgressPolicyOutput

type EgressPolicyOutput struct{ *pulumi.OutputState }

func (EgressPolicyOutput) EgressPolicyName

func (o EgressPolicyOutput) EgressPolicyName() pulumi.StringOutput

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

***

func (EgressPolicyOutput) ElementType

func (EgressPolicyOutput) ElementType() reflect.Type

func (EgressPolicyOutput) Resource

func (o EgressPolicyOutput) Resource() pulumi.StringOutput

A GCP resource that is inside of the service perimeter.

func (EgressPolicyOutput) ToEgressPolicyOutput

func (o EgressPolicyOutput) ToEgressPolicyOutput() EgressPolicyOutput

func (EgressPolicyOutput) ToEgressPolicyOutputWithContext

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

type EgressPolicyState

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

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

### Access Context Manager Gcp User Access Binding Basic

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/accesscontextmanager"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/cloudidentity"
"github.com/pulumi/pulumi-std/sdk/go/std"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		group, err := cloudidentity.NewGroup(ctx, "group", &cloudidentity.GroupArgs{
			DisplayName: pulumi.String("my-identity-group"),
			Parent:      pulumi.String("customers/A01b123xz"),
			GroupKey: &cloudidentity.GroupGroupKeyArgs{
				Id: pulumi.String("my-identity-group@example.com"),
			},
			Labels: pulumi.StringMap{
				"cloudidentity.googleapis.com/groups.discussion_forum": pulumi.String(""),
			},
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewAccessPolicy(ctx, "access-policy", &accesscontextmanager.AccessPolicyArgs{
			Parent: pulumi.String("organizations/123456789"),
			Title:  pulumi.String("my policy"),
		})
		if err != nil {
			return err
		}
		accessLevelIdForUserAccessBinding, err := accesscontextmanager.NewAccessLevel(ctx, "access_level_id_for_user_access_binding", &accesscontextmanager.AccessLevelArgs{
			Parent: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("accessPolicies/%v", name), nil
			}).(pulumi.StringOutput),
			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"),
			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("US"),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewGcpUserAccessBinding(ctx, "gcp_user_access_binding", &accesscontextmanager.GcpUserAccessBindingArgs{
			OrganizationId: pulumi.String("123456789"),
			GroupKey: std.TrimprefixOutput(ctx, std.TrimprefixOutputArgs{
				Input:  group.ID(),
				Prefix: pulumi.String("groups/"),
			}, nil).ApplyT(func(invoke std.TrimprefixResult) (*string, error) {
				return invoke.Result, nil
			}).(pulumi.StringPtrOutput),
			AccessLevels: accessLevelIdForUserAccessBinding.Name,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

GcpUserAccessBinding can be imported using any of these accepted formats:

* `{{name}}`

When using the `pulumi import` command, GcpUserAccessBinding can be imported using one of the formats above. For example:

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

type GcpUserAccessBindingArgs

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

The set of arguments for constructing a GcpUserAccessBinding resource.

func (GcpUserAccessBindingArgs) ElementType

func (GcpUserAccessBindingArgs) ElementType() reflect.Type

type GcpUserAccessBindingArray

type GcpUserAccessBindingArray []GcpUserAccessBindingInput

func (GcpUserAccessBindingArray) ElementType

func (GcpUserAccessBindingArray) ElementType() reflect.Type

func (GcpUserAccessBindingArray) ToGcpUserAccessBindingArrayOutput

func (i GcpUserAccessBindingArray) ToGcpUserAccessBindingArrayOutput() GcpUserAccessBindingArrayOutput

func (GcpUserAccessBindingArray) ToGcpUserAccessBindingArrayOutputWithContext

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

type GcpUserAccessBindingArrayInput

type GcpUserAccessBindingArrayInput interface {
	pulumi.Input

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

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

GcpUserAccessBindingArray{ GcpUserAccessBindingArgs{...} }

type GcpUserAccessBindingArrayOutput

type GcpUserAccessBindingArrayOutput struct{ *pulumi.OutputState }

func (GcpUserAccessBindingArrayOutput) ElementType

func (GcpUserAccessBindingArrayOutput) Index

func (GcpUserAccessBindingArrayOutput) ToGcpUserAccessBindingArrayOutput

func (o GcpUserAccessBindingArrayOutput) ToGcpUserAccessBindingArrayOutput() GcpUserAccessBindingArrayOutput

func (GcpUserAccessBindingArrayOutput) ToGcpUserAccessBindingArrayOutputWithContext

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

type GcpUserAccessBindingInput

type GcpUserAccessBindingInput interface {
	pulumi.Input

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

type GcpUserAccessBindingMap

type GcpUserAccessBindingMap map[string]GcpUserAccessBindingInput

func (GcpUserAccessBindingMap) ElementType

func (GcpUserAccessBindingMap) ElementType() reflect.Type

func (GcpUserAccessBindingMap) ToGcpUserAccessBindingMapOutput

func (i GcpUserAccessBindingMap) ToGcpUserAccessBindingMapOutput() GcpUserAccessBindingMapOutput

func (GcpUserAccessBindingMap) ToGcpUserAccessBindingMapOutputWithContext

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

type GcpUserAccessBindingMapInput

type GcpUserAccessBindingMapInput interface {
	pulumi.Input

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

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

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

type GcpUserAccessBindingMapOutput

type GcpUserAccessBindingMapOutput struct{ *pulumi.OutputState }

func (GcpUserAccessBindingMapOutput) ElementType

func (GcpUserAccessBindingMapOutput) MapIndex

func (GcpUserAccessBindingMapOutput) ToGcpUserAccessBindingMapOutput

func (o GcpUserAccessBindingMapOutput) ToGcpUserAccessBindingMapOutput() GcpUserAccessBindingMapOutput

func (GcpUserAccessBindingMapOutput) ToGcpUserAccessBindingMapOutputWithContext

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

type GcpUserAccessBindingOutput

type GcpUserAccessBindingOutput struct{ *pulumi.OutputState }

func (GcpUserAccessBindingOutput) AccessLevels

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

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

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

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

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

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:

* `{{ingress_policy_name}}/{{resource}}`

When using the `pulumi import` command, IngressPolicy can be imported using one of the formats above. For example:

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

func GetIngressPolicy

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

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

func (*IngressPolicy) ElementType() reflect.Type

func (*IngressPolicy) ToIngressPolicyOutput

func (i *IngressPolicy) ToIngressPolicyOutput() IngressPolicyOutput

func (*IngressPolicy) ToIngressPolicyOutputWithContext

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

type IngressPolicyArgs

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

func (IngressPolicyArgs) ElementType() reflect.Type

type IngressPolicyArray

type IngressPolicyArray []IngressPolicyInput

func (IngressPolicyArray) ElementType

func (IngressPolicyArray) ElementType() reflect.Type

func (IngressPolicyArray) ToIngressPolicyArrayOutput

func (i IngressPolicyArray) ToIngressPolicyArrayOutput() IngressPolicyArrayOutput

func (IngressPolicyArray) ToIngressPolicyArrayOutputWithContext

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

type IngressPolicyArrayInput

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

type IngressPolicyArrayOutput struct{ *pulumi.OutputState }

func (IngressPolicyArrayOutput) ElementType

func (IngressPolicyArrayOutput) ElementType() reflect.Type

func (IngressPolicyArrayOutput) Index

func (IngressPolicyArrayOutput) ToIngressPolicyArrayOutput

func (o IngressPolicyArrayOutput) ToIngressPolicyArrayOutput() IngressPolicyArrayOutput

func (IngressPolicyArrayOutput) ToIngressPolicyArrayOutputWithContext

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

type IngressPolicyInput

type IngressPolicyInput interface {
	pulumi.Input

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

type IngressPolicyMap

type IngressPolicyMap map[string]IngressPolicyInput

func (IngressPolicyMap) ElementType

func (IngressPolicyMap) ElementType() reflect.Type

func (IngressPolicyMap) ToIngressPolicyMapOutput

func (i IngressPolicyMap) ToIngressPolicyMapOutput() IngressPolicyMapOutput

func (IngressPolicyMap) ToIngressPolicyMapOutputWithContext

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

type IngressPolicyMapInput

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

type IngressPolicyMapOutput struct{ *pulumi.OutputState }

func (IngressPolicyMapOutput) ElementType

func (IngressPolicyMapOutput) ElementType() reflect.Type

func (IngressPolicyMapOutput) MapIndex

func (IngressPolicyMapOutput) ToIngressPolicyMapOutput

func (o IngressPolicyMapOutput) ToIngressPolicyMapOutput() IngressPolicyMapOutput

func (IngressPolicyMapOutput) ToIngressPolicyMapOutputWithContext

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

type IngressPolicyOutput

type IngressPolicyOutput struct{ *pulumi.OutputState }

func (IngressPolicyOutput) ElementType

func (IngressPolicyOutput) ElementType() reflect.Type

func (IngressPolicyOutput) IngressPolicyName

func (o IngressPolicyOutput) IngressPolicyName() pulumi.StringOutput

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

***

func (IngressPolicyOutput) Resource

A GCP resource that is inside of the service perimeter.

func (IngressPolicyOutput) ToIngressPolicyOutput

func (o IngressPolicyOutput) ToIngressPolicyOutput() IngressPolicyOutput

func (IngressPolicyOutput) ToIngressPolicyOutputWithContext

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

type IngressPolicyState

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

func (IngressPolicyState) ElementType() reflect.Type

type LookupAccessPolicyIamPolicyArgs

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

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

type LookupAccessPolicyIamPolicyResult

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

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/v7/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: access_policy.Name,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupAccessPolicyIamPolicyResultOutput

type LookupAccessPolicyIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getAccessPolicyIamPolicy.

func (LookupAccessPolicyIamPolicyResultOutput) ElementType

func (LookupAccessPolicyIamPolicyResultOutput) Etag

(Computed) The etag of the IAM policy.

func (LookupAccessPolicyIamPolicyResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupAccessPolicyIamPolicyResultOutput) Name

func (LookupAccessPolicyIamPolicyResultOutput) PolicyData

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

func (LookupAccessPolicyIamPolicyResultOutput) ToLookupAccessPolicyIamPolicyResultOutput

func (o LookupAccessPolicyIamPolicyResultOutput) ToLookupAccessPolicyIamPolicyResultOutput() LookupAccessPolicyIamPolicyResultOutput

func (LookupAccessPolicyIamPolicyResultOutput) ToLookupAccessPolicyIamPolicyResultOutputWithContext

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

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/v7/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),
			Name: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("accessPolicies/%v/servicePerimeters/restrict_storage", name), nil
			}).(pulumi.StringOutput),
			Title: pulumi.String("restrict_storage"),
			Status: &accesscontextmanager.ServicePerimeterStatusArgs{
				RestrictedServices: pulumi.StringArray{
					pulumi.String("storage.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),
			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"),
			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
		}
		return nil
	})
}

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

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/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),
			Name: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("accessPolicies/%v/accessLevels/secure_data_exchange", 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", test_accessGoogleAccessContextManagerAccessPolicy.Name)),
			Name:          pulumi.String(fmt.Sprintf("accessPolicies/%v%v", test_accessGoogleAccessContextManagerAccessPolicy.Name, "/servicePerimeters/%s")),
			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(test_accessGoogleAccessContextManagerAccessLevel.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/v7/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),
			Name: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("accessPolicies/%v/servicePerimeters/restrict_bigquery_dryrun_storage", name), nil
			}).(pulumi.StringOutput),
			Title: pulumi.String("restrict_bigquery_dryrun_storage"),
			Status: &accesscontextmanager.ServicePerimeterStatusArgs{
				RestrictedServices: pulumi.StringArray{
					pulumi.String("bigquery.googleapis.com"),
				},
			},
			Spec: &accesscontextmanager.ServicePerimeterSpecArgs{
				RestrictedServices: pulumi.StringArray{
					pulumi.String("storage.googleapis.com"),
				},
			},
			UseExplicitDryRunSpec: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Import

ServicePerimeter can be imported using any of these accepted formats:

* `{{name}}`

When using the `pulumi import` command, ServicePerimeter can be imported using one of the formats above. For example:

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

func GetServicePerimeter

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

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

func NewServicePerimeter

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

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

func (*ServicePerimeter) ElementType

func (*ServicePerimeter) ElementType() reflect.Type

func (*ServicePerimeter) ToServicePerimeterOutput

func (i *ServicePerimeter) ToServicePerimeterOutput() ServicePerimeterOutput

func (*ServicePerimeter) ToServicePerimeterOutputWithContext

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

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) ToServicePerimeterArrayOutput

func (i ServicePerimeterArray) ToServicePerimeterArrayOutput() ServicePerimeterArrayOutput

func (ServicePerimeterArray) ToServicePerimeterArrayOutputWithContext

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

type ServicePerimeterArrayInput

type ServicePerimeterArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterArray{ ServicePerimeterArgs{...} }

type ServicePerimeterArrayOutput

type ServicePerimeterArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterArrayOutput) ElementType

func (ServicePerimeterArrayOutput) Index

func (ServicePerimeterArrayOutput) ToServicePerimeterArrayOutput

func (o ServicePerimeterArrayOutput) ToServicePerimeterArrayOutput() ServicePerimeterArrayOutput

func (ServicePerimeterArrayOutput) ToServicePerimeterArrayOutputWithContext

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

type ServicePerimeterDryRunResource added in v7.16.0

type ServicePerimeterDryRunResource 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 the `spec` block of a dry run 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. If your perimeter is NOT in dry-run mode use `accesscontextmanager.ServicePerimeterResource` instead.

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

To get more information about ServicePerimeterDryRunResource, 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 Dry Run Resource Basic

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/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-dry-run-resource", &accesscontextmanager.ServicePerimeterArgs{
			Parent: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("accessPolicies/%v", name), nil
			}).(pulumi.StringOutput),
			Name: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("accessPolicies/%v/servicePerimeters/restrict_all", name), nil
			}).(pulumi.StringOutput),
			Title: pulumi.String("restrict_all"),
			Spec: &accesscontextmanager.ServicePerimeterSpecArgs{
				RestrictedServices: pulumi.StringArray{
					pulumi.String("storage.googleapis.com"),
				},
			},
			UseExplicitDryRunSpec: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewServicePerimeterDryRunResource(ctx, "service-perimeter-dry-run-resource", &accesscontextmanager.ServicePerimeterDryRunResourceArgs{
			PerimeterName: service_perimeter_dry_run_resourceServicePerimeter.Name,
			Resource:      pulumi.String("projects/987654321"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ServicePerimeterDryRunResource can be imported using any of these accepted formats:

* `{{perimeter_name}}/{{resource}}`

When using the `pulumi import` command, ServicePerimeterDryRunResource can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:accesscontextmanager/servicePerimeterDryRunResource:ServicePerimeterDryRunResource default {{perimeter_name}}/{{resource}} ```

func GetServicePerimeterDryRunResource added in v7.16.0

func GetServicePerimeterDryRunResource(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServicePerimeterDryRunResourceState, opts ...pulumi.ResourceOption) (*ServicePerimeterDryRunResource, error)

GetServicePerimeterDryRunResource gets an existing ServicePerimeterDryRunResource 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 NewServicePerimeterDryRunResource added in v7.16.0

func NewServicePerimeterDryRunResource(ctx *pulumi.Context,
	name string, args *ServicePerimeterDryRunResourceArgs, opts ...pulumi.ResourceOption) (*ServicePerimeterDryRunResource, error)

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

func (*ServicePerimeterDryRunResource) ElementType added in v7.16.0

func (*ServicePerimeterDryRunResource) ToServicePerimeterDryRunResourceOutput added in v7.16.0

func (i *ServicePerimeterDryRunResource) ToServicePerimeterDryRunResourceOutput() ServicePerimeterDryRunResourceOutput

func (*ServicePerimeterDryRunResource) ToServicePerimeterDryRunResourceOutputWithContext added in v7.16.0

func (i *ServicePerimeterDryRunResource) ToServicePerimeterDryRunResourceOutputWithContext(ctx context.Context) ServicePerimeterDryRunResourceOutput

type ServicePerimeterDryRunResourceArgs added in v7.16.0

type ServicePerimeterDryRunResourceArgs 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 ServicePerimeterDryRunResource resource.

func (ServicePerimeterDryRunResourceArgs) ElementType added in v7.16.0

type ServicePerimeterDryRunResourceArray added in v7.16.0

type ServicePerimeterDryRunResourceArray []ServicePerimeterDryRunResourceInput

func (ServicePerimeterDryRunResourceArray) ElementType added in v7.16.0

func (ServicePerimeterDryRunResourceArray) ToServicePerimeterDryRunResourceArrayOutput added in v7.16.0

func (i ServicePerimeterDryRunResourceArray) ToServicePerimeterDryRunResourceArrayOutput() ServicePerimeterDryRunResourceArrayOutput

func (ServicePerimeterDryRunResourceArray) ToServicePerimeterDryRunResourceArrayOutputWithContext added in v7.16.0

func (i ServicePerimeterDryRunResourceArray) ToServicePerimeterDryRunResourceArrayOutputWithContext(ctx context.Context) ServicePerimeterDryRunResourceArrayOutput

type ServicePerimeterDryRunResourceArrayInput added in v7.16.0

type ServicePerimeterDryRunResourceArrayInput interface {
	pulumi.Input

	ToServicePerimeterDryRunResourceArrayOutput() ServicePerimeterDryRunResourceArrayOutput
	ToServicePerimeterDryRunResourceArrayOutputWithContext(context.Context) ServicePerimeterDryRunResourceArrayOutput
}

ServicePerimeterDryRunResourceArrayInput is an input type that accepts ServicePerimeterDryRunResourceArray and ServicePerimeterDryRunResourceArrayOutput values. You can construct a concrete instance of `ServicePerimeterDryRunResourceArrayInput` via:

ServicePerimeterDryRunResourceArray{ ServicePerimeterDryRunResourceArgs{...} }

type ServicePerimeterDryRunResourceArrayOutput added in v7.16.0

type ServicePerimeterDryRunResourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterDryRunResourceArrayOutput) ElementType added in v7.16.0

func (ServicePerimeterDryRunResourceArrayOutput) Index added in v7.16.0

func (ServicePerimeterDryRunResourceArrayOutput) ToServicePerimeterDryRunResourceArrayOutput added in v7.16.0

func (o ServicePerimeterDryRunResourceArrayOutput) ToServicePerimeterDryRunResourceArrayOutput() ServicePerimeterDryRunResourceArrayOutput

func (ServicePerimeterDryRunResourceArrayOutput) ToServicePerimeterDryRunResourceArrayOutputWithContext added in v7.16.0

func (o ServicePerimeterDryRunResourceArrayOutput) ToServicePerimeterDryRunResourceArrayOutputWithContext(ctx context.Context) ServicePerimeterDryRunResourceArrayOutput

type ServicePerimeterDryRunResourceInput added in v7.16.0

type ServicePerimeterDryRunResourceInput interface {
	pulumi.Input

	ToServicePerimeterDryRunResourceOutput() ServicePerimeterDryRunResourceOutput
	ToServicePerimeterDryRunResourceOutputWithContext(ctx context.Context) ServicePerimeterDryRunResourceOutput
}

type ServicePerimeterDryRunResourceMap added in v7.16.0

type ServicePerimeterDryRunResourceMap map[string]ServicePerimeterDryRunResourceInput

func (ServicePerimeterDryRunResourceMap) ElementType added in v7.16.0

func (ServicePerimeterDryRunResourceMap) ToServicePerimeterDryRunResourceMapOutput added in v7.16.0

func (i ServicePerimeterDryRunResourceMap) ToServicePerimeterDryRunResourceMapOutput() ServicePerimeterDryRunResourceMapOutput

func (ServicePerimeterDryRunResourceMap) ToServicePerimeterDryRunResourceMapOutputWithContext added in v7.16.0

func (i ServicePerimeterDryRunResourceMap) ToServicePerimeterDryRunResourceMapOutputWithContext(ctx context.Context) ServicePerimeterDryRunResourceMapOutput

type ServicePerimeterDryRunResourceMapInput added in v7.16.0

type ServicePerimeterDryRunResourceMapInput interface {
	pulumi.Input

	ToServicePerimeterDryRunResourceMapOutput() ServicePerimeterDryRunResourceMapOutput
	ToServicePerimeterDryRunResourceMapOutputWithContext(context.Context) ServicePerimeterDryRunResourceMapOutput
}

ServicePerimeterDryRunResourceMapInput is an input type that accepts ServicePerimeterDryRunResourceMap and ServicePerimeterDryRunResourceMapOutput values. You can construct a concrete instance of `ServicePerimeterDryRunResourceMapInput` via:

ServicePerimeterDryRunResourceMap{ "key": ServicePerimeterDryRunResourceArgs{...} }

type ServicePerimeterDryRunResourceMapOutput added in v7.16.0

type ServicePerimeterDryRunResourceMapOutput struct{ *pulumi.OutputState }

func (ServicePerimeterDryRunResourceMapOutput) ElementType added in v7.16.0

func (ServicePerimeterDryRunResourceMapOutput) MapIndex added in v7.16.0

func (ServicePerimeterDryRunResourceMapOutput) ToServicePerimeterDryRunResourceMapOutput added in v7.16.0

func (o ServicePerimeterDryRunResourceMapOutput) ToServicePerimeterDryRunResourceMapOutput() ServicePerimeterDryRunResourceMapOutput

func (ServicePerimeterDryRunResourceMapOutput) ToServicePerimeterDryRunResourceMapOutputWithContext added in v7.16.0

func (o ServicePerimeterDryRunResourceMapOutput) ToServicePerimeterDryRunResourceMapOutputWithContext(ctx context.Context) ServicePerimeterDryRunResourceMapOutput

type ServicePerimeterDryRunResourceOutput added in v7.16.0

type ServicePerimeterDryRunResourceOutput struct{ *pulumi.OutputState }

func (ServicePerimeterDryRunResourceOutput) ElementType added in v7.16.0

func (ServicePerimeterDryRunResourceOutput) PerimeterName added in v7.16.0

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

***

func (ServicePerimeterDryRunResourceOutput) Resource added in v7.16.0

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

func (ServicePerimeterDryRunResourceOutput) ToServicePerimeterDryRunResourceOutput added in v7.16.0

func (o ServicePerimeterDryRunResourceOutput) ToServicePerimeterDryRunResourceOutput() ServicePerimeterDryRunResourceOutput

func (ServicePerimeterDryRunResourceOutput) ToServicePerimeterDryRunResourceOutputWithContext added in v7.16.0

func (o ServicePerimeterDryRunResourceOutput) ToServicePerimeterDryRunResourceOutputWithContext(ctx context.Context) ServicePerimeterDryRunResourceOutput

type ServicePerimeterDryRunResourceState added in v7.16.0

type ServicePerimeterDryRunResourceState 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 (ServicePerimeterDryRunResourceState) ElementType added in v7.16.0

type ServicePerimeterEgressPolicy

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).

> **Note:** By default, updates to this resource will remove the EgressPolicy from the from the perimeter and add it back in a non-atomic manner. To ensure that the new EgressPolicy is added before the old one is removed, add a `lifecycle` block with `createBeforeDestroy = true` to this resource.

To get more information about ServicePerimeterEgressPolicy, see:

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

## Example Usage

### Access Context Manager Service Perimeter Egress Policy

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/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("Storage Policy"),
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewServicePerimeter(ctx, "storage-perimeter", &accesscontextmanager.ServicePerimeterArgs{
			Parent: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("accesspolicies/%v", name), nil
			}).(pulumi.StringOutput),
			Name: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("accesspolicies/%v/serviceperimeters/storage-perimeter", name), nil
			}).(pulumi.StringOutput),
			Title: pulumi.String("Storage Perimeter"),
			Status: &accesscontextmanager.ServicePerimeterStatusArgs{
				RestrictedServices: pulumi.StringArray{
					pulumi.String("storage.googleapis.com"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewServicePerimeterEgressPolicy(ctx, "egress_policy", &accesscontextmanager.ServicePerimeterEgressPolicyArgs{
			Perimeter: storage_perimeter.Name,
			EgressFrom: &accesscontextmanager.ServicePerimeterEgressPolicyEgressFromArgs{
				IdentityType: pulumi.String("ANY_IDENTITY"),
			},
			EgressTo: &accesscontextmanager.ServicePerimeterEgressPolicyEgressToArgs{
				Resources: pulumi.StringArray{
					pulumi.String("*"),
				},
				Operations: accesscontextmanager.ServicePerimeterEgressPolicyEgressToOperationArray{
					&accesscontextmanager.ServicePerimeterEgressPolicyEgressToOperationArgs{
						ServiceName: pulumi.String("bigquery.googleapis.com"),
						MethodSelectors: accesscontextmanager.ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArray{
							&accesscontextmanager.ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArgs{
								Method: pulumi.String("*"),
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ServicePerimeterEgressPolicy can be imported using any of these accepted formats:

* `{{perimeter}}`

When using the `pulumi import` command, ServicePerimeterEgressPolicy can be imported using one of the formats above. For example:

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

func GetServicePerimeterEgressPolicy

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

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

func (*ServicePerimeterEgressPolicy) ElementType() reflect.Type

func (*ServicePerimeterEgressPolicy) ToServicePerimeterEgressPolicyOutput

func (i *ServicePerimeterEgressPolicy) ToServicePerimeterEgressPolicyOutput() ServicePerimeterEgressPolicyOutput

func (*ServicePerimeterEgressPolicy) ToServicePerimeterEgressPolicyOutputWithContext

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

type ServicePerimeterEgressPolicyArgs

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

type ServicePerimeterEgressPolicyArray

type ServicePerimeterEgressPolicyArray []ServicePerimeterEgressPolicyInput

func (ServicePerimeterEgressPolicyArray) ElementType

func (ServicePerimeterEgressPolicyArray) ToServicePerimeterEgressPolicyArrayOutput

func (i ServicePerimeterEgressPolicyArray) ToServicePerimeterEgressPolicyArrayOutput() ServicePerimeterEgressPolicyArrayOutput

func (ServicePerimeterEgressPolicyArray) ToServicePerimeterEgressPolicyArrayOutputWithContext

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

type ServicePerimeterEgressPolicyArrayInput

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

type ServicePerimeterEgressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterEgressPolicyArrayOutput) ElementType

func (ServicePerimeterEgressPolicyArrayOutput) Index

func (ServicePerimeterEgressPolicyArrayOutput) ToServicePerimeterEgressPolicyArrayOutput

func (o ServicePerimeterEgressPolicyArrayOutput) ToServicePerimeterEgressPolicyArrayOutput() ServicePerimeterEgressPolicyArrayOutput

func (ServicePerimeterEgressPolicyArrayOutput) ToServicePerimeterEgressPolicyArrayOutputWithContext

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

type ServicePerimeterEgressPolicyEgressFrom

type ServicePerimeterEgressPolicyEgressFrom struct {
	// A list of identities that are allowed access through this `EgressPolicy`.
	// Should be in the format of an email address. The email address should
	// represent an individual user, service account, or Google group.
	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"`
	// Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`.
	// Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
	SourceRestriction *string `pulumi:"sourceRestriction"`
	// Sources that this EgressPolicy authorizes access from.
	// Structure is documented below.
	Sources []ServicePerimeterEgressPolicyEgressFromSource `pulumi:"sources"`
}

type ServicePerimeterEgressPolicyEgressFromArgs

type ServicePerimeterEgressPolicyEgressFromArgs struct {
	// A list of identities that are allowed access through this `EgressPolicy`.
	// Should be in the format of an email address. The email address should
	// represent an individual user, service account, or Google group.
	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"`
	// Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`.
	// Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
	SourceRestriction pulumi.StringPtrInput `pulumi:"sourceRestriction"`
	// Sources that this EgressPolicy authorizes access from.
	// Structure is documented below.
	Sources ServicePerimeterEgressPolicyEgressFromSourceArrayInput `pulumi:"sources"`
}

func (ServicePerimeterEgressPolicyEgressFromArgs) ElementType

func (ServicePerimeterEgressPolicyEgressFromArgs) ToServicePerimeterEgressPolicyEgressFromOutput

func (i ServicePerimeterEgressPolicyEgressFromArgs) ToServicePerimeterEgressPolicyEgressFromOutput() ServicePerimeterEgressPolicyEgressFromOutput

func (ServicePerimeterEgressPolicyEgressFromArgs) ToServicePerimeterEgressPolicyEgressFromOutputWithContext

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

func (ServicePerimeterEgressPolicyEgressFromArgs) ToServicePerimeterEgressPolicyEgressFromPtrOutput

func (i ServicePerimeterEgressPolicyEgressFromArgs) ToServicePerimeterEgressPolicyEgressFromPtrOutput() ServicePerimeterEgressPolicyEgressFromPtrOutput

func (ServicePerimeterEgressPolicyEgressFromArgs) ToServicePerimeterEgressPolicyEgressFromPtrOutputWithContext

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

type ServicePerimeterEgressPolicyEgressFromInput

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

type ServicePerimeterEgressPolicyEgressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimeterEgressPolicyEgressFromOutput) ElementType

func (ServicePerimeterEgressPolicyEgressFromOutput) Identities

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

func (ServicePerimeterEgressPolicyEgressFromOutput) 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: `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, `ANY_SERVICE_ACCOUNT`.

func (ServicePerimeterEgressPolicyEgressFromOutput) SourceRestriction added in v7.1.0

Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`. Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.

func (ServicePerimeterEgressPolicyEgressFromOutput) Sources added in v7.1.0

Sources that this EgressPolicy authorizes access from. Structure is documented below.

func (ServicePerimeterEgressPolicyEgressFromOutput) ToServicePerimeterEgressPolicyEgressFromOutput

func (o ServicePerimeterEgressPolicyEgressFromOutput) ToServicePerimeterEgressPolicyEgressFromOutput() ServicePerimeterEgressPolicyEgressFromOutput

func (ServicePerimeterEgressPolicyEgressFromOutput) ToServicePerimeterEgressPolicyEgressFromOutputWithContext

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

func (ServicePerimeterEgressPolicyEgressFromOutput) ToServicePerimeterEgressPolicyEgressFromPtrOutput

func (o ServicePerimeterEgressPolicyEgressFromOutput) ToServicePerimeterEgressPolicyEgressFromPtrOutput() ServicePerimeterEgressPolicyEgressFromPtrOutput

func (ServicePerimeterEgressPolicyEgressFromOutput) ToServicePerimeterEgressPolicyEgressFromPtrOutputWithContext

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

type ServicePerimeterEgressPolicyEgressFromPtrInput

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

type ServicePerimeterEgressPolicyEgressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterEgressPolicyEgressFromPtrOutput) Elem

func (ServicePerimeterEgressPolicyEgressFromPtrOutput) ElementType

func (ServicePerimeterEgressPolicyEgressFromPtrOutput) Identities

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

func (ServicePerimeterEgressPolicyEgressFromPtrOutput) 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: `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, `ANY_SERVICE_ACCOUNT`.

func (ServicePerimeterEgressPolicyEgressFromPtrOutput) SourceRestriction added in v7.1.0

Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`. Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.

func (ServicePerimeterEgressPolicyEgressFromPtrOutput) Sources added in v7.1.0

Sources that this EgressPolicy authorizes access from. Structure is documented below.

func (ServicePerimeterEgressPolicyEgressFromPtrOutput) ToServicePerimeterEgressPolicyEgressFromPtrOutput

func (o ServicePerimeterEgressPolicyEgressFromPtrOutput) ToServicePerimeterEgressPolicyEgressFromPtrOutput() ServicePerimeterEgressPolicyEgressFromPtrOutput

func (ServicePerimeterEgressPolicyEgressFromPtrOutput) ToServicePerimeterEgressPolicyEgressFromPtrOutputWithContext

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

type ServicePerimeterEgressPolicyEgressFromSource added in v7.1.0

type ServicePerimeterEgressPolicyEgressFromSource struct {
	// An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
	AccessLevel *string `pulumi:"accessLevel"`
}

type ServicePerimeterEgressPolicyEgressFromSourceArgs added in v7.1.0

type ServicePerimeterEgressPolicyEgressFromSourceArgs struct {
	// An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
	AccessLevel pulumi.StringPtrInput `pulumi:"accessLevel"`
}

func (ServicePerimeterEgressPolicyEgressFromSourceArgs) ElementType added in v7.1.0

func (ServicePerimeterEgressPolicyEgressFromSourceArgs) ToServicePerimeterEgressPolicyEgressFromSourceOutput added in v7.1.0

func (i ServicePerimeterEgressPolicyEgressFromSourceArgs) ToServicePerimeterEgressPolicyEgressFromSourceOutput() ServicePerimeterEgressPolicyEgressFromSourceOutput

func (ServicePerimeterEgressPolicyEgressFromSourceArgs) ToServicePerimeterEgressPolicyEgressFromSourceOutputWithContext added in v7.1.0

func (i ServicePerimeterEgressPolicyEgressFromSourceArgs) ToServicePerimeterEgressPolicyEgressFromSourceOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyEgressFromSourceOutput

type ServicePerimeterEgressPolicyEgressFromSourceArray added in v7.1.0

type ServicePerimeterEgressPolicyEgressFromSourceArray []ServicePerimeterEgressPolicyEgressFromSourceInput

func (ServicePerimeterEgressPolicyEgressFromSourceArray) ElementType added in v7.1.0

func (ServicePerimeterEgressPolicyEgressFromSourceArray) ToServicePerimeterEgressPolicyEgressFromSourceArrayOutput added in v7.1.0

func (i ServicePerimeterEgressPolicyEgressFromSourceArray) ToServicePerimeterEgressPolicyEgressFromSourceArrayOutput() ServicePerimeterEgressPolicyEgressFromSourceArrayOutput

func (ServicePerimeterEgressPolicyEgressFromSourceArray) ToServicePerimeterEgressPolicyEgressFromSourceArrayOutputWithContext added in v7.1.0

func (i ServicePerimeterEgressPolicyEgressFromSourceArray) ToServicePerimeterEgressPolicyEgressFromSourceArrayOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyEgressFromSourceArrayOutput

type ServicePerimeterEgressPolicyEgressFromSourceArrayInput added in v7.1.0

type ServicePerimeterEgressPolicyEgressFromSourceArrayInput interface {
	pulumi.Input

	ToServicePerimeterEgressPolicyEgressFromSourceArrayOutput() ServicePerimeterEgressPolicyEgressFromSourceArrayOutput
	ToServicePerimeterEgressPolicyEgressFromSourceArrayOutputWithContext(context.Context) ServicePerimeterEgressPolicyEgressFromSourceArrayOutput
}

ServicePerimeterEgressPolicyEgressFromSourceArrayInput is an input type that accepts ServicePerimeterEgressPolicyEgressFromSourceArray and ServicePerimeterEgressPolicyEgressFromSourceArrayOutput values. You can construct a concrete instance of `ServicePerimeterEgressPolicyEgressFromSourceArrayInput` via:

ServicePerimeterEgressPolicyEgressFromSourceArray{ ServicePerimeterEgressPolicyEgressFromSourceArgs{...} }

type ServicePerimeterEgressPolicyEgressFromSourceArrayOutput added in v7.1.0

type ServicePerimeterEgressPolicyEgressFromSourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterEgressPolicyEgressFromSourceArrayOutput) ElementType added in v7.1.0

func (ServicePerimeterEgressPolicyEgressFromSourceArrayOutput) Index added in v7.1.0

func (ServicePerimeterEgressPolicyEgressFromSourceArrayOutput) ToServicePerimeterEgressPolicyEgressFromSourceArrayOutput added in v7.1.0

func (ServicePerimeterEgressPolicyEgressFromSourceArrayOutput) ToServicePerimeterEgressPolicyEgressFromSourceArrayOutputWithContext added in v7.1.0

func (o ServicePerimeterEgressPolicyEgressFromSourceArrayOutput) ToServicePerimeterEgressPolicyEgressFromSourceArrayOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyEgressFromSourceArrayOutput

type ServicePerimeterEgressPolicyEgressFromSourceInput added in v7.1.0

type ServicePerimeterEgressPolicyEgressFromSourceInput interface {
	pulumi.Input

	ToServicePerimeterEgressPolicyEgressFromSourceOutput() ServicePerimeterEgressPolicyEgressFromSourceOutput
	ToServicePerimeterEgressPolicyEgressFromSourceOutputWithContext(context.Context) ServicePerimeterEgressPolicyEgressFromSourceOutput
}

ServicePerimeterEgressPolicyEgressFromSourceInput is an input type that accepts ServicePerimeterEgressPolicyEgressFromSourceArgs and ServicePerimeterEgressPolicyEgressFromSourceOutput values. You can construct a concrete instance of `ServicePerimeterEgressPolicyEgressFromSourceInput` via:

ServicePerimeterEgressPolicyEgressFromSourceArgs{...}

type ServicePerimeterEgressPolicyEgressFromSourceOutput added in v7.1.0

type ServicePerimeterEgressPolicyEgressFromSourceOutput struct{ *pulumi.OutputState }

func (ServicePerimeterEgressPolicyEgressFromSourceOutput) AccessLevel added in v7.1.0

An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.

func (ServicePerimeterEgressPolicyEgressFromSourceOutput) ElementType added in v7.1.0

func (ServicePerimeterEgressPolicyEgressFromSourceOutput) ToServicePerimeterEgressPolicyEgressFromSourceOutput added in v7.1.0

func (o ServicePerimeterEgressPolicyEgressFromSourceOutput) ToServicePerimeterEgressPolicyEgressFromSourceOutput() ServicePerimeterEgressPolicyEgressFromSourceOutput

func (ServicePerimeterEgressPolicyEgressFromSourceOutput) ToServicePerimeterEgressPolicyEgressFromSourceOutputWithContext added in v7.1.0

func (o ServicePerimeterEgressPolicyEgressFromSourceOutput) ToServicePerimeterEgressPolicyEgressFromSourceOutputWithContext(ctx context.Context) ServicePerimeterEgressPolicyEgressFromSourceOutput

type ServicePerimeterEgressPolicyEgressTo

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

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

func (ServicePerimeterEgressPolicyEgressToArgs) ToServicePerimeterEgressPolicyEgressToOutput

func (i ServicePerimeterEgressPolicyEgressToArgs) ToServicePerimeterEgressPolicyEgressToOutput() ServicePerimeterEgressPolicyEgressToOutput

func (ServicePerimeterEgressPolicyEgressToArgs) ToServicePerimeterEgressPolicyEgressToOutputWithContext

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

func (ServicePerimeterEgressPolicyEgressToArgs) ToServicePerimeterEgressPolicyEgressToPtrOutput

func (i ServicePerimeterEgressPolicyEgressToArgs) ToServicePerimeterEgressPolicyEgressToPtrOutput() ServicePerimeterEgressPolicyEgressToPtrOutput

func (ServicePerimeterEgressPolicyEgressToArgs) ToServicePerimeterEgressPolicyEgressToPtrOutputWithContext

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

type ServicePerimeterEgressPolicyEgressToInput

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

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

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

func (ServicePerimeterEgressPolicyEgressToOperationArgs) ToServicePerimeterEgressPolicyEgressToOperationOutput

func (i ServicePerimeterEgressPolicyEgressToOperationArgs) ToServicePerimeterEgressPolicyEgressToOperationOutput() ServicePerimeterEgressPolicyEgressToOperationOutput

func (ServicePerimeterEgressPolicyEgressToOperationArgs) ToServicePerimeterEgressPolicyEgressToOperationOutputWithContext

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

type ServicePerimeterEgressPolicyEgressToOperationArray

type ServicePerimeterEgressPolicyEgressToOperationArray []ServicePerimeterEgressPolicyEgressToOperationInput

func (ServicePerimeterEgressPolicyEgressToOperationArray) ElementType

func (ServicePerimeterEgressPolicyEgressToOperationArray) ToServicePerimeterEgressPolicyEgressToOperationArrayOutput

func (i ServicePerimeterEgressPolicyEgressToOperationArray) ToServicePerimeterEgressPolicyEgressToOperationArrayOutput() ServicePerimeterEgressPolicyEgressToOperationArrayOutput

func (ServicePerimeterEgressPolicyEgressToOperationArray) ToServicePerimeterEgressPolicyEgressToOperationArrayOutputWithContext

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

type ServicePerimeterEgressPolicyEgressToOperationArrayInput

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

type ServicePerimeterEgressPolicyEgressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterEgressPolicyEgressToOperationArrayOutput) ElementType

func (ServicePerimeterEgressPolicyEgressToOperationArrayOutput) Index

func (ServicePerimeterEgressPolicyEgressToOperationArrayOutput) ToServicePerimeterEgressPolicyEgressToOperationArrayOutput

func (ServicePerimeterEgressPolicyEgressToOperationArrayOutput) ToServicePerimeterEgressPolicyEgressToOperationArrayOutputWithContext

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

type ServicePerimeterEgressPolicyEgressToOperationInput

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

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

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

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutput

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutputWithContext

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

type ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArray

type ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArray []ServicePerimeterEgressPolicyEgressToOperationMethodSelectorInput

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArray) ElementType

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutput

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext

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

type ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayInput

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

type ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutput) ElementType

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutput

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimeterEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext

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

type ServicePerimeterEgressPolicyEgressToOperationMethodSelectorInput

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

type ServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutput) ElementType

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutput) 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 (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutput) Permission

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

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutput

func (ServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimeterEgressPolicyEgressToOperationMethodSelectorOutputWithContext

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

type ServicePerimeterEgressPolicyEgressToOperationOutput

type ServicePerimeterEgressPolicyEgressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimeterEgressPolicyEgressToOperationOutput) ElementType

func (ServicePerimeterEgressPolicyEgressToOperationOutput) 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 (ServicePerimeterEgressPolicyEgressToOperationOutput) 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 (ServicePerimeterEgressPolicyEgressToOperationOutput) ToServicePerimeterEgressPolicyEgressToOperationOutput

func (o ServicePerimeterEgressPolicyEgressToOperationOutput) ToServicePerimeterEgressPolicyEgressToOperationOutput() ServicePerimeterEgressPolicyEgressToOperationOutput

func (ServicePerimeterEgressPolicyEgressToOperationOutput) ToServicePerimeterEgressPolicyEgressToOperationOutputWithContext

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

type ServicePerimeterEgressPolicyEgressToOutput

type ServicePerimeterEgressPolicyEgressToOutput struct{ *pulumi.OutputState }

func (ServicePerimeterEgressPolicyEgressToOutput) ElementType

func (ServicePerimeterEgressPolicyEgressToOutput) ExternalResources

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

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

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) ToServicePerimeterEgressPolicyEgressToOutput

func (o ServicePerimeterEgressPolicyEgressToOutput) ToServicePerimeterEgressPolicyEgressToOutput() ServicePerimeterEgressPolicyEgressToOutput

func (ServicePerimeterEgressPolicyEgressToOutput) ToServicePerimeterEgressPolicyEgressToOutputWithContext

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

func (ServicePerimeterEgressPolicyEgressToOutput) ToServicePerimeterEgressPolicyEgressToPtrOutput

func (o ServicePerimeterEgressPolicyEgressToOutput) ToServicePerimeterEgressPolicyEgressToPtrOutput() ServicePerimeterEgressPolicyEgressToPtrOutput

func (ServicePerimeterEgressPolicyEgressToOutput) ToServicePerimeterEgressPolicyEgressToPtrOutputWithContext

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

type ServicePerimeterEgressPolicyEgressToPtrInput

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

type ServicePerimeterEgressPolicyEgressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterEgressPolicyEgressToPtrOutput) Elem

func (ServicePerimeterEgressPolicyEgressToPtrOutput) ElementType

func (ServicePerimeterEgressPolicyEgressToPtrOutput) ExternalResources

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

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

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) ToServicePerimeterEgressPolicyEgressToPtrOutput

func (o ServicePerimeterEgressPolicyEgressToPtrOutput) ToServicePerimeterEgressPolicyEgressToPtrOutput() ServicePerimeterEgressPolicyEgressToPtrOutput

func (ServicePerimeterEgressPolicyEgressToPtrOutput) ToServicePerimeterEgressPolicyEgressToPtrOutputWithContext

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

type ServicePerimeterEgressPolicyInput

type ServicePerimeterEgressPolicyInput interface {
	pulumi.Input

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

type ServicePerimeterEgressPolicyMap

type ServicePerimeterEgressPolicyMap map[string]ServicePerimeterEgressPolicyInput

func (ServicePerimeterEgressPolicyMap) ElementType

func (ServicePerimeterEgressPolicyMap) ToServicePerimeterEgressPolicyMapOutput

func (i ServicePerimeterEgressPolicyMap) ToServicePerimeterEgressPolicyMapOutput() ServicePerimeterEgressPolicyMapOutput

func (ServicePerimeterEgressPolicyMap) ToServicePerimeterEgressPolicyMapOutputWithContext

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

type ServicePerimeterEgressPolicyMapInput

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

type ServicePerimeterEgressPolicyMapOutput struct{ *pulumi.OutputState }

func (ServicePerimeterEgressPolicyMapOutput) ElementType

func (ServicePerimeterEgressPolicyMapOutput) MapIndex

func (ServicePerimeterEgressPolicyMapOutput) ToServicePerimeterEgressPolicyMapOutput

func (o ServicePerimeterEgressPolicyMapOutput) ToServicePerimeterEgressPolicyMapOutput() ServicePerimeterEgressPolicyMapOutput

func (ServicePerimeterEgressPolicyMapOutput) ToServicePerimeterEgressPolicyMapOutputWithContext

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

type ServicePerimeterEgressPolicyOutput

type ServicePerimeterEgressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimeterEgressPolicyOutput) EgressFrom

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

func (ServicePerimeterEgressPolicyOutput) EgressTo

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

func (ServicePerimeterEgressPolicyOutput) ElementType

func (ServicePerimeterEgressPolicyOutput) Perimeter

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

***

func (ServicePerimeterEgressPolicyOutput) ToServicePerimeterEgressPolicyOutput

func (o ServicePerimeterEgressPolicyOutput) ToServicePerimeterEgressPolicyOutput() ServicePerimeterEgressPolicyOutput

func (ServicePerimeterEgressPolicyOutput) ToServicePerimeterEgressPolicyOutputWithContext

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

type ServicePerimeterEgressPolicyState

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

type ServicePerimeterIngressPolicy

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.

> **Note:** By default, updates to this resource will remove the IngressPolicy from the from the perimeter and add it back in a non-atomic manner. To ensure that the new IngressPolicy is added before the old one is removed, add a `lifecycle` block with `createBeforeDestroy = true` to this resource.

To get more information about ServicePerimeterIngressPolicy, see:

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

## Example Usage

### Access Context Manager Service Perimeter Ingress Policy

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/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("Storage Policy"),
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewServicePerimeter(ctx, "storage-perimeter", &accesscontextmanager.ServicePerimeterArgs{
			Parent: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("accesspolicies/%v", name), nil
			}).(pulumi.StringOutput),
			Name: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("accesspolicies/%v/serviceperimeters/storage-perimeter", name), nil
			}).(pulumi.StringOutput),
			Title: pulumi.String("Storage Perimeter"),
			Status: &accesscontextmanager.ServicePerimeterStatusArgs{
				RestrictedServices: pulumi.StringArray{
					pulumi.String("storage.googleapis.com"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = accesscontextmanager.NewServicePerimeterIngressPolicy(ctx, "ingress_policy", &accesscontextmanager.ServicePerimeterIngressPolicyArgs{
			Perimeter: storage_perimeter.Name,
			IngressFrom: &accesscontextmanager.ServicePerimeterIngressPolicyIngressFromArgs{
				IdentityType: pulumi.String("any_identity"),
				Sources: accesscontextmanager.ServicePerimeterIngressPolicyIngressFromSourceArray{
					&accesscontextmanager.ServicePerimeterIngressPolicyIngressFromSourceArgs{
						AccessLevel: pulumi.String("*"),
					},
				},
			},
			IngressTo: &accesscontextmanager.ServicePerimeterIngressPolicyIngressToArgs{
				Resources: pulumi.StringArray{
					pulumi.String("*"),
				},
				Operations: accesscontextmanager.ServicePerimeterIngressPolicyIngressToOperationArray{
					&accesscontextmanager.ServicePerimeterIngressPolicyIngressToOperationArgs{
						ServiceName: pulumi.String("bigquery.googleapis.com"),
						MethodSelectors: accesscontextmanager.ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArray{
							&accesscontextmanager.ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArgs{
								Method: pulumi.String("*"),
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ServicePerimeterIngressPolicy can be imported using any of these accepted formats:

* `{{perimeter}}`

When using the `pulumi import` command, ServicePerimeterIngressPolicy can be imported using one of the formats above. For example:

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

func GetServicePerimeterIngressPolicy

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

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

func (*ServicePerimeterIngressPolicy) ToServicePerimeterIngressPolicyOutput

func (i *ServicePerimeterIngressPolicy) ToServicePerimeterIngressPolicyOutput() ServicePerimeterIngressPolicyOutput

func (*ServicePerimeterIngressPolicy) ToServicePerimeterIngressPolicyOutputWithContext

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

type ServicePerimeterIngressPolicyArgs

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

type ServicePerimeterIngressPolicyArray

type ServicePerimeterIngressPolicyArray []ServicePerimeterIngressPolicyInput

func (ServicePerimeterIngressPolicyArray) ElementType

func (ServicePerimeterIngressPolicyArray) ToServicePerimeterIngressPolicyArrayOutput

func (i ServicePerimeterIngressPolicyArray) ToServicePerimeterIngressPolicyArrayOutput() ServicePerimeterIngressPolicyArrayOutput

func (ServicePerimeterIngressPolicyArray) ToServicePerimeterIngressPolicyArrayOutputWithContext

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

type ServicePerimeterIngressPolicyArrayInput

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

type ServicePerimeterIngressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterIngressPolicyArrayOutput) ElementType

func (ServicePerimeterIngressPolicyArrayOutput) Index

func (ServicePerimeterIngressPolicyArrayOutput) ToServicePerimeterIngressPolicyArrayOutput

func (o ServicePerimeterIngressPolicyArrayOutput) ToServicePerimeterIngressPolicyArrayOutput() ServicePerimeterIngressPolicyArrayOutput

func (ServicePerimeterIngressPolicyArrayOutput) ToServicePerimeterIngressPolicyArrayOutputWithContext

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

type ServicePerimeterIngressPolicyIngressFrom

type ServicePerimeterIngressPolicyIngressFrom struct {
	// A list of identities that are allowed access through this `IngressPolicy`.
	// Should be in the format of an email address. The email address should represent
	// an individual user, service account, or Google group.
	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

type ServicePerimeterIngressPolicyIngressFromArgs struct {
	// A list of identities that are allowed access through this `IngressPolicy`.
	// Should be in the format of an email address. The email address should represent
	// an individual user, service account, or Google group.
	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

func (ServicePerimeterIngressPolicyIngressFromArgs) ToServicePerimeterIngressPolicyIngressFromOutput

func (i ServicePerimeterIngressPolicyIngressFromArgs) ToServicePerimeterIngressPolicyIngressFromOutput() ServicePerimeterIngressPolicyIngressFromOutput

func (ServicePerimeterIngressPolicyIngressFromArgs) ToServicePerimeterIngressPolicyIngressFromOutputWithContext

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

func (ServicePerimeterIngressPolicyIngressFromArgs) ToServicePerimeterIngressPolicyIngressFromPtrOutput

func (i ServicePerimeterIngressPolicyIngressFromArgs) ToServicePerimeterIngressPolicyIngressFromPtrOutput() ServicePerimeterIngressPolicyIngressFromPtrOutput

func (ServicePerimeterIngressPolicyIngressFromArgs) ToServicePerimeterIngressPolicyIngressFromPtrOutputWithContext

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

type ServicePerimeterIngressPolicyIngressFromInput

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

type ServicePerimeterIngressPolicyIngressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimeterIngressPolicyIngressFromOutput) ElementType

func (ServicePerimeterIngressPolicyIngressFromOutput) Identities

A list of identities that are allowed access through this `IngressPolicy`. Should be in the format of an email address. The email address should represent an individual user, service account, or Google group.

func (ServicePerimeterIngressPolicyIngressFromOutput) 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: `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, `ANY_SERVICE_ACCOUNT`.

func (ServicePerimeterIngressPolicyIngressFromOutput) Sources

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

func (ServicePerimeterIngressPolicyIngressFromOutput) ToServicePerimeterIngressPolicyIngressFromOutput

func (o ServicePerimeterIngressPolicyIngressFromOutput) ToServicePerimeterIngressPolicyIngressFromOutput() ServicePerimeterIngressPolicyIngressFromOutput

func (ServicePerimeterIngressPolicyIngressFromOutput) ToServicePerimeterIngressPolicyIngressFromOutputWithContext

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

func (ServicePerimeterIngressPolicyIngressFromOutput) ToServicePerimeterIngressPolicyIngressFromPtrOutput

func (o ServicePerimeterIngressPolicyIngressFromOutput) ToServicePerimeterIngressPolicyIngressFromPtrOutput() ServicePerimeterIngressPolicyIngressFromPtrOutput

func (ServicePerimeterIngressPolicyIngressFromOutput) ToServicePerimeterIngressPolicyIngressFromPtrOutputWithContext

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

type ServicePerimeterIngressPolicyIngressFromPtrInput

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

type ServicePerimeterIngressPolicyIngressFromPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterIngressPolicyIngressFromPtrOutput) Elem

func (ServicePerimeterIngressPolicyIngressFromPtrOutput) ElementType

func (ServicePerimeterIngressPolicyIngressFromPtrOutput) Identities

A list of identities that are allowed access through this `IngressPolicy`. Should be in the format of an email address. The email address should represent an individual user, service account, or Google group.

func (ServicePerimeterIngressPolicyIngressFromPtrOutput) 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: `ANY_IDENTITY`, `ANY_USER_ACCOUNT`, `ANY_SERVICE_ACCOUNT`.

func (ServicePerimeterIngressPolicyIngressFromPtrOutput) Sources

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

func (ServicePerimeterIngressPolicyIngressFromPtrOutput) ToServicePerimeterIngressPolicyIngressFromPtrOutput

func (o ServicePerimeterIngressPolicyIngressFromPtrOutput) ToServicePerimeterIngressPolicyIngressFromPtrOutput() ServicePerimeterIngressPolicyIngressFromPtrOutput

func (ServicePerimeterIngressPolicyIngressFromPtrOutput) ToServicePerimeterIngressPolicyIngressFromPtrOutputWithContext

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

type ServicePerimeterIngressPolicyIngressFromSource

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

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

func (ServicePerimeterIngressPolicyIngressFromSourceArgs) ToServicePerimeterIngressPolicyIngressFromSourceOutput

func (i ServicePerimeterIngressPolicyIngressFromSourceArgs) ToServicePerimeterIngressPolicyIngressFromSourceOutput() ServicePerimeterIngressPolicyIngressFromSourceOutput

func (ServicePerimeterIngressPolicyIngressFromSourceArgs) ToServicePerimeterIngressPolicyIngressFromSourceOutputWithContext

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

type ServicePerimeterIngressPolicyIngressFromSourceArray

type ServicePerimeterIngressPolicyIngressFromSourceArray []ServicePerimeterIngressPolicyIngressFromSourceInput

func (ServicePerimeterIngressPolicyIngressFromSourceArray) ElementType

func (ServicePerimeterIngressPolicyIngressFromSourceArray) ToServicePerimeterIngressPolicyIngressFromSourceArrayOutput

func (i ServicePerimeterIngressPolicyIngressFromSourceArray) ToServicePerimeterIngressPolicyIngressFromSourceArrayOutput() ServicePerimeterIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimeterIngressPolicyIngressFromSourceArray) ToServicePerimeterIngressPolicyIngressFromSourceArrayOutputWithContext

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

type ServicePerimeterIngressPolicyIngressFromSourceArrayInput

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

type ServicePerimeterIngressPolicyIngressFromSourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterIngressPolicyIngressFromSourceArrayOutput) ElementType

func (ServicePerimeterIngressPolicyIngressFromSourceArrayOutput) Index

func (ServicePerimeterIngressPolicyIngressFromSourceArrayOutput) ToServicePerimeterIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimeterIngressPolicyIngressFromSourceArrayOutput) ToServicePerimeterIngressPolicyIngressFromSourceArrayOutputWithContext

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

type ServicePerimeterIngressPolicyIngressFromSourceInput

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

type ServicePerimeterIngressPolicyIngressFromSourceOutput struct{ *pulumi.OutputState }

func (ServicePerimeterIngressPolicyIngressFromSourceOutput) 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 (ServicePerimeterIngressPolicyIngressFromSourceOutput) ElementType

func (ServicePerimeterIngressPolicyIngressFromSourceOutput) 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 (ServicePerimeterIngressPolicyIngressFromSourceOutput) ToServicePerimeterIngressPolicyIngressFromSourceOutput

func (ServicePerimeterIngressPolicyIngressFromSourceOutput) ToServicePerimeterIngressPolicyIngressFromSourceOutputWithContext

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

type ServicePerimeterIngressPolicyIngressTo

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

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

func (ServicePerimeterIngressPolicyIngressToArgs) ToServicePerimeterIngressPolicyIngressToOutput

func (i ServicePerimeterIngressPolicyIngressToArgs) ToServicePerimeterIngressPolicyIngressToOutput() ServicePerimeterIngressPolicyIngressToOutput

func (ServicePerimeterIngressPolicyIngressToArgs) ToServicePerimeterIngressPolicyIngressToOutputWithContext

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

func (ServicePerimeterIngressPolicyIngressToArgs) ToServicePerimeterIngressPolicyIngressToPtrOutput

func (i ServicePerimeterIngressPolicyIngressToArgs) ToServicePerimeterIngressPolicyIngressToPtrOutput() ServicePerimeterIngressPolicyIngressToPtrOutput

func (ServicePerimeterIngressPolicyIngressToArgs) ToServicePerimeterIngressPolicyIngressToPtrOutputWithContext

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

type ServicePerimeterIngressPolicyIngressToInput

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

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

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

func (ServicePerimeterIngressPolicyIngressToOperationArgs) ToServicePerimeterIngressPolicyIngressToOperationOutput

func (i ServicePerimeterIngressPolicyIngressToOperationArgs) ToServicePerimeterIngressPolicyIngressToOperationOutput() ServicePerimeterIngressPolicyIngressToOperationOutput

func (ServicePerimeterIngressPolicyIngressToOperationArgs) ToServicePerimeterIngressPolicyIngressToOperationOutputWithContext

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

type ServicePerimeterIngressPolicyIngressToOperationArray

type ServicePerimeterIngressPolicyIngressToOperationArray []ServicePerimeterIngressPolicyIngressToOperationInput

func (ServicePerimeterIngressPolicyIngressToOperationArray) ElementType

func (ServicePerimeterIngressPolicyIngressToOperationArray) ToServicePerimeterIngressPolicyIngressToOperationArrayOutput

func (i ServicePerimeterIngressPolicyIngressToOperationArray) ToServicePerimeterIngressPolicyIngressToOperationArrayOutput() ServicePerimeterIngressPolicyIngressToOperationArrayOutput

func (ServicePerimeterIngressPolicyIngressToOperationArray) ToServicePerimeterIngressPolicyIngressToOperationArrayOutputWithContext

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

type ServicePerimeterIngressPolicyIngressToOperationArrayInput

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

type ServicePerimeterIngressPolicyIngressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterIngressPolicyIngressToOperationArrayOutput) ElementType

func (ServicePerimeterIngressPolicyIngressToOperationArrayOutput) Index

func (ServicePerimeterIngressPolicyIngressToOperationArrayOutput) ToServicePerimeterIngressPolicyIngressToOperationArrayOutput

func (ServicePerimeterIngressPolicyIngressToOperationArrayOutput) ToServicePerimeterIngressPolicyIngressToOperationArrayOutputWithContext

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

type ServicePerimeterIngressPolicyIngressToOperationInput

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

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

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

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutput

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutputWithContext

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

type ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArray

type ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArray []ServicePerimeterIngressPolicyIngressToOperationMethodSelectorInput

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArray) ElementType

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayOutput

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext

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

type ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayInput

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

type ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayOutput) ElementType

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayOutput

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimeterIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimeterIngressPolicyIngressToOperationMethodSelectorInput

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

type ServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutput) ElementType

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutput) 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 (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutput) Permission

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

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutput

func (ServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimeterIngressPolicyIngressToOperationMethodSelectorOutputWithContext

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

type ServicePerimeterIngressPolicyIngressToOperationOutput

type ServicePerimeterIngressPolicyIngressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimeterIngressPolicyIngressToOperationOutput) ElementType

func (ServicePerimeterIngressPolicyIngressToOperationOutput) 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 (ServicePerimeterIngressPolicyIngressToOperationOutput) 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 (ServicePerimeterIngressPolicyIngressToOperationOutput) ToServicePerimeterIngressPolicyIngressToOperationOutput

func (ServicePerimeterIngressPolicyIngressToOperationOutput) ToServicePerimeterIngressPolicyIngressToOperationOutputWithContext

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

type ServicePerimeterIngressPolicyIngressToOutput

type ServicePerimeterIngressPolicyIngressToOutput struct{ *pulumi.OutputState }

func (ServicePerimeterIngressPolicyIngressToOutput) ElementType

func (ServicePerimeterIngressPolicyIngressToOutput) Operations

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

func (ServicePerimeterIngressPolicyIngressToOutput) 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 (ServicePerimeterIngressPolicyIngressToOutput) ToServicePerimeterIngressPolicyIngressToOutput

func (o ServicePerimeterIngressPolicyIngressToOutput) ToServicePerimeterIngressPolicyIngressToOutput() ServicePerimeterIngressPolicyIngressToOutput

func (ServicePerimeterIngressPolicyIngressToOutput) ToServicePerimeterIngressPolicyIngressToOutputWithContext

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

func (ServicePerimeterIngressPolicyIngressToOutput) ToServicePerimeterIngressPolicyIngressToPtrOutput

func (o ServicePerimeterIngressPolicyIngressToOutput) ToServicePerimeterIngressPolicyIngressToPtrOutput() ServicePerimeterIngressPolicyIngressToPtrOutput

func (ServicePerimeterIngressPolicyIngressToOutput) ToServicePerimeterIngressPolicyIngressToPtrOutputWithContext

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

type ServicePerimeterIngressPolicyIngressToPtrInput

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

type ServicePerimeterIngressPolicyIngressToPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterIngressPolicyIngressToPtrOutput) Elem

func (ServicePerimeterIngressPolicyIngressToPtrOutput) ElementType

func (ServicePerimeterIngressPolicyIngressToPtrOutput) Operations

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

func (ServicePerimeterIngressPolicyIngressToPtrOutput) 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 (ServicePerimeterIngressPolicyIngressToPtrOutput) ToServicePerimeterIngressPolicyIngressToPtrOutput

func (o ServicePerimeterIngressPolicyIngressToPtrOutput) ToServicePerimeterIngressPolicyIngressToPtrOutput() ServicePerimeterIngressPolicyIngressToPtrOutput

func (ServicePerimeterIngressPolicyIngressToPtrOutput) ToServicePerimeterIngressPolicyIngressToPtrOutputWithContext

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

type ServicePerimeterIngressPolicyInput

type ServicePerimeterIngressPolicyInput interface {
	pulumi.Input

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

type ServicePerimeterIngressPolicyMap

type ServicePerimeterIngressPolicyMap map[string]ServicePerimeterIngressPolicyInput

func (ServicePerimeterIngressPolicyMap) ElementType

func (ServicePerimeterIngressPolicyMap) ToServicePerimeterIngressPolicyMapOutput

func (i ServicePerimeterIngressPolicyMap) ToServicePerimeterIngressPolicyMapOutput() ServicePerimeterIngressPolicyMapOutput

func (ServicePerimeterIngressPolicyMap) ToServicePerimeterIngressPolicyMapOutputWithContext

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

type ServicePerimeterIngressPolicyMapInput

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

type ServicePerimeterIngressPolicyMapOutput struct{ *pulumi.OutputState }

func (ServicePerimeterIngressPolicyMapOutput) ElementType

func (ServicePerimeterIngressPolicyMapOutput) MapIndex

func (ServicePerimeterIngressPolicyMapOutput) ToServicePerimeterIngressPolicyMapOutput

func (o ServicePerimeterIngressPolicyMapOutput) ToServicePerimeterIngressPolicyMapOutput() ServicePerimeterIngressPolicyMapOutput

func (ServicePerimeterIngressPolicyMapOutput) ToServicePerimeterIngressPolicyMapOutputWithContext

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

type ServicePerimeterIngressPolicyOutput

type ServicePerimeterIngressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimeterIngressPolicyOutput) ElementType

func (ServicePerimeterIngressPolicyOutput) IngressFrom

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

func (ServicePerimeterIngressPolicyOutput) IngressTo

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

func (ServicePerimeterIngressPolicyOutput) Perimeter

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

***

func (ServicePerimeterIngressPolicyOutput) ToServicePerimeterIngressPolicyOutput

func (o ServicePerimeterIngressPolicyOutput) ToServicePerimeterIngressPolicyOutput() ServicePerimeterIngressPolicyOutput

func (ServicePerimeterIngressPolicyOutput) ToServicePerimeterIngressPolicyOutputWithContext

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

type ServicePerimeterIngressPolicyState

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

type ServicePerimeterInput

type ServicePerimeterInput interface {
	pulumi.Input

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

type ServicePerimeterMap

type ServicePerimeterMap map[string]ServicePerimeterInput

func (ServicePerimeterMap) ElementType

func (ServicePerimeterMap) ElementType() reflect.Type

func (ServicePerimeterMap) ToServicePerimeterMapOutput

func (i ServicePerimeterMap) ToServicePerimeterMapOutput() ServicePerimeterMapOutput

func (ServicePerimeterMap) ToServicePerimeterMapOutputWithContext

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

type ServicePerimeterMapInput

type ServicePerimeterMapInput interface {
	pulumi.Input

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

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

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

type ServicePerimeterMapOutput

type ServicePerimeterMapOutput struct{ *pulumi.OutputState }

func (ServicePerimeterMapOutput) ElementType

func (ServicePerimeterMapOutput) ElementType() reflect.Type

func (ServicePerimeterMapOutput) MapIndex

func (ServicePerimeterMapOutput) ToServicePerimeterMapOutput

func (o ServicePerimeterMapOutput) ToServicePerimeterMapOutput() ServicePerimeterMapOutput

func (ServicePerimeterMapOutput) ToServicePerimeterMapOutputWithContext

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

type ServicePerimeterOutput

type ServicePerimeterOutput struct{ *pulumi.OutputState }

func (ServicePerimeterOutput) CreateTime

Time the AccessPolicy was created in UTC.

func (ServicePerimeterOutput) Description

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

func (ServicePerimeterOutput) ElementType

func (ServicePerimeterOutput) ElementType() reflect.Type

func (ServicePerimeterOutput) 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 (ServicePerimeterOutput) Parent

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

func (ServicePerimeterOutput) PerimeterType

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

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

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

func (ServicePerimeterOutput) Title

Human readable title. Must be unique within the Policy.

func (ServicePerimeterOutput) ToServicePerimeterOutput

func (o ServicePerimeterOutput) ToServicePerimeterOutput() ServicePerimeterOutput

func (ServicePerimeterOutput) ToServicePerimeterOutputWithContext

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

func (ServicePerimeterOutput) UpdateTime

Time the AccessPolicy was updated in UTC.

func (ServicePerimeterOutput) UseExplicitDryRunSpec

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 the `status` block 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. If your perimeter is in dry-run mode use `accesscontextmanager.ServicePerimeterDryRunResource` instead.

> **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/v7/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-resource", &accesscontextmanager.ServicePerimeterArgs{
			Parent: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("accessPolicies/%v", name), nil
			}).(pulumi.StringOutput),
			Name: access_policy.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("accessPolicies/%v/servicePerimeters/restrict_all", 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-resource", &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:

* `{{perimeter_name}}/{{resource}}`

When using the `pulumi import` command, ServicePerimeterResource can be imported using one of the formats above. For example:

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

func GetServicePerimeterResource

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

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

func NewServicePerimeterResource

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

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

func (*ServicePerimeterResource) ElementType

func (*ServicePerimeterResource) ElementType() reflect.Type

func (*ServicePerimeterResource) ToServicePerimeterResourceOutput

func (i *ServicePerimeterResource) ToServicePerimeterResourceOutput() ServicePerimeterResourceOutput

func (*ServicePerimeterResource) ToServicePerimeterResourceOutputWithContext

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

type ServicePerimeterResourceArgs

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

The set of arguments for constructing a ServicePerimeterResource resource.

func (ServicePerimeterResourceArgs) ElementType

type ServicePerimeterResourceArray

type ServicePerimeterResourceArray []ServicePerimeterResourceInput

func (ServicePerimeterResourceArray) ElementType

func (ServicePerimeterResourceArray) ToServicePerimeterResourceArrayOutput

func (i ServicePerimeterResourceArray) ToServicePerimeterResourceArrayOutput() ServicePerimeterResourceArrayOutput

func (ServicePerimeterResourceArray) ToServicePerimeterResourceArrayOutputWithContext

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

type ServicePerimeterResourceArrayInput

type ServicePerimeterResourceArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterResourceArray{ ServicePerimeterResourceArgs{...} }

type ServicePerimeterResourceArrayOutput

type ServicePerimeterResourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterResourceArrayOutput) ElementType

func (ServicePerimeterResourceArrayOutput) Index

func (ServicePerimeterResourceArrayOutput) ToServicePerimeterResourceArrayOutput

func (o ServicePerimeterResourceArrayOutput) ToServicePerimeterResourceArrayOutput() ServicePerimeterResourceArrayOutput

func (ServicePerimeterResourceArrayOutput) ToServicePerimeterResourceArrayOutputWithContext

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

type ServicePerimeterResourceInput

type ServicePerimeterResourceInput interface {
	pulumi.Input

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

type ServicePerimeterResourceMap

type ServicePerimeterResourceMap map[string]ServicePerimeterResourceInput

func (ServicePerimeterResourceMap) ElementType

func (ServicePerimeterResourceMap) ToServicePerimeterResourceMapOutput

func (i ServicePerimeterResourceMap) ToServicePerimeterResourceMapOutput() ServicePerimeterResourceMapOutput

func (ServicePerimeterResourceMap) ToServicePerimeterResourceMapOutputWithContext

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

type ServicePerimeterResourceMapInput

type ServicePerimeterResourceMapInput interface {
	pulumi.Input

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

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

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

type ServicePerimeterResourceMapOutput

type ServicePerimeterResourceMapOutput struct{ *pulumi.OutputState }

func (ServicePerimeterResourceMapOutput) ElementType

func (ServicePerimeterResourceMapOutput) MapIndex

func (ServicePerimeterResourceMapOutput) ToServicePerimeterResourceMapOutput

func (o ServicePerimeterResourceMapOutput) ToServicePerimeterResourceMapOutput() ServicePerimeterResourceMapOutput

func (ServicePerimeterResourceMapOutput) ToServicePerimeterResourceMapOutputWithContext

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

type ServicePerimeterResourceOutput

type ServicePerimeterResourceOutput struct{ *pulumi.OutputState }

func (ServicePerimeterResourceOutput) ElementType

func (ServicePerimeterResourceOutput) PerimeterName

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

***

func (ServicePerimeterResourceOutput) Resource

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

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) ToServicePerimeterSpecOutput

func (i ServicePerimeterSpecArgs) ToServicePerimeterSpecOutput() ServicePerimeterSpecOutput

func (ServicePerimeterSpecArgs) ToServicePerimeterSpecOutputWithContext

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

func (ServicePerimeterSpecArgs) ToServicePerimeterSpecPtrOutput

func (i ServicePerimeterSpecArgs) ToServicePerimeterSpecPtrOutput() ServicePerimeterSpecPtrOutput

func (ServicePerimeterSpecArgs) ToServicePerimeterSpecPtrOutputWithContext

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

type ServicePerimeterSpecEgressPolicy

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

type ServicePerimeterSpecEgressPolicyArgs

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

func (ServicePerimeterSpecEgressPolicyArgs) ElementType

func (ServicePerimeterSpecEgressPolicyArgs) ToServicePerimeterSpecEgressPolicyOutput

func (i ServicePerimeterSpecEgressPolicyArgs) ToServicePerimeterSpecEgressPolicyOutput() ServicePerimeterSpecEgressPolicyOutput

func (ServicePerimeterSpecEgressPolicyArgs) ToServicePerimeterSpecEgressPolicyOutputWithContext

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

type ServicePerimeterSpecEgressPolicyArray

type ServicePerimeterSpecEgressPolicyArray []ServicePerimeterSpecEgressPolicyInput

func (ServicePerimeterSpecEgressPolicyArray) ElementType

func (ServicePerimeterSpecEgressPolicyArray) ToServicePerimeterSpecEgressPolicyArrayOutput

func (i ServicePerimeterSpecEgressPolicyArray) ToServicePerimeterSpecEgressPolicyArrayOutput() ServicePerimeterSpecEgressPolicyArrayOutput

func (ServicePerimeterSpecEgressPolicyArray) ToServicePerimeterSpecEgressPolicyArrayOutputWithContext

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

type ServicePerimeterSpecEgressPolicyArrayInput

type ServicePerimeterSpecEgressPolicyArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecEgressPolicyArray{ ServicePerimeterSpecEgressPolicyArgs{...} }

type ServicePerimeterSpecEgressPolicyArrayOutput

type ServicePerimeterSpecEgressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyArrayOutput) ElementType

func (ServicePerimeterSpecEgressPolicyArrayOutput) Index

func (ServicePerimeterSpecEgressPolicyArrayOutput) ToServicePerimeterSpecEgressPolicyArrayOutput

func (o ServicePerimeterSpecEgressPolicyArrayOutput) ToServicePerimeterSpecEgressPolicyArrayOutput() ServicePerimeterSpecEgressPolicyArrayOutput

func (ServicePerimeterSpecEgressPolicyArrayOutput) ToServicePerimeterSpecEgressPolicyArrayOutputWithContext

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

type ServicePerimeterSpecEgressPolicyEgressFrom

type ServicePerimeterSpecEgressPolicyEgressFrom struct {
	// 'A list of identities that are allowed access through this `EgressPolicy`.
	// To specify an identity or identity group, use the IAM v1
	// format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
	// The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
	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"`
	// Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`.
	// Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
	SourceRestriction *string `pulumi:"sourceRestriction"`
	// Sources that this EgressPolicy authorizes access from.
	// Structure is documented below.
	Sources []ServicePerimeterSpecEgressPolicyEgressFromSource `pulumi:"sources"`
}

type ServicePerimeterSpecEgressPolicyEgressFromArgs

type ServicePerimeterSpecEgressPolicyEgressFromArgs struct {
	// 'A list of identities that are allowed access through this `EgressPolicy`.
	// To specify an identity or identity group, use the IAM v1
	// format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
	// The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
	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"`
	// Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`.
	// Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
	SourceRestriction pulumi.StringPtrInput `pulumi:"sourceRestriction"`
	// Sources that this EgressPolicy authorizes access from.
	// Structure is documented below.
	Sources ServicePerimeterSpecEgressPolicyEgressFromSourceArrayInput `pulumi:"sources"`
}

func (ServicePerimeterSpecEgressPolicyEgressFromArgs) ElementType

func (ServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimeterSpecEgressPolicyEgressFromOutput

func (i ServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimeterSpecEgressPolicyEgressFromOutput() ServicePerimeterSpecEgressPolicyEgressFromOutput

func (ServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimeterSpecEgressPolicyEgressFromOutputWithContext

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

func (ServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (i ServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutput() ServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (ServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext

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

type ServicePerimeterSpecEgressPolicyEgressFromInput

type ServicePerimeterSpecEgressPolicyEgressFromInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecEgressPolicyEgressFromArgs{...}

type ServicePerimeterSpecEgressPolicyEgressFromOutput

type ServicePerimeterSpecEgressPolicyEgressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressFromOutput) ElementType

func (ServicePerimeterSpecEgressPolicyEgressFromOutput) Identities

'A list of identities that are allowed access through this `EgressPolicy`. To specify an identity or identity group, use the IAM v1 format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1). The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'

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) SourceRestriction added in v7.1.0

Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`. Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.

func (ServicePerimeterSpecEgressPolicyEgressFromOutput) Sources added in v7.1.0

Sources that this EgressPolicy authorizes access from. Structure is documented below.

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`. To specify an identity or identity group, use the IAM v1 format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1). The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'

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) SourceRestriction added in v7.1.0

Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`. Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.

func (ServicePerimeterSpecEgressPolicyEgressFromPtrOutput) Sources added in v7.1.0

Sources that this EgressPolicy authorizes access from. Structure is documented below.

func (ServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (o ServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutput() ServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (ServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ToServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext

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

type ServicePerimeterSpecEgressPolicyEgressFromSource added in v7.1.0

type ServicePerimeterSpecEgressPolicyEgressFromSource struct {
	// An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
	AccessLevel *string `pulumi:"accessLevel"`
}

type ServicePerimeterSpecEgressPolicyEgressFromSourceArgs added in v7.1.0

type ServicePerimeterSpecEgressPolicyEgressFromSourceArgs struct {
	// An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
	AccessLevel pulumi.StringPtrInput `pulumi:"accessLevel"`
}

func (ServicePerimeterSpecEgressPolicyEgressFromSourceArgs) ElementType added in v7.1.0

func (ServicePerimeterSpecEgressPolicyEgressFromSourceArgs) ToServicePerimeterSpecEgressPolicyEgressFromSourceOutput added in v7.1.0

func (i ServicePerimeterSpecEgressPolicyEgressFromSourceArgs) ToServicePerimeterSpecEgressPolicyEgressFromSourceOutput() ServicePerimeterSpecEgressPolicyEgressFromSourceOutput

func (ServicePerimeterSpecEgressPolicyEgressFromSourceArgs) ToServicePerimeterSpecEgressPolicyEgressFromSourceOutputWithContext added in v7.1.0

func (i ServicePerimeterSpecEgressPolicyEgressFromSourceArgs) ToServicePerimeterSpecEgressPolicyEgressFromSourceOutputWithContext(ctx context.Context) ServicePerimeterSpecEgressPolicyEgressFromSourceOutput

type ServicePerimeterSpecEgressPolicyEgressFromSourceArray added in v7.1.0

type ServicePerimeterSpecEgressPolicyEgressFromSourceArray []ServicePerimeterSpecEgressPolicyEgressFromSourceInput

func (ServicePerimeterSpecEgressPolicyEgressFromSourceArray) ElementType added in v7.1.0

func (ServicePerimeterSpecEgressPolicyEgressFromSourceArray) ToServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput added in v7.1.0

func (i ServicePerimeterSpecEgressPolicyEgressFromSourceArray) ToServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput() ServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput

func (ServicePerimeterSpecEgressPolicyEgressFromSourceArray) ToServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutputWithContext added in v7.1.0

func (i ServicePerimeterSpecEgressPolicyEgressFromSourceArray) ToServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutputWithContext(ctx context.Context) ServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput

type ServicePerimeterSpecEgressPolicyEgressFromSourceArrayInput added in v7.1.0

type ServicePerimeterSpecEgressPolicyEgressFromSourceArrayInput interface {
	pulumi.Input

	ToServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput() ServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput
	ToServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutputWithContext(context.Context) ServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput
}

ServicePerimeterSpecEgressPolicyEgressFromSourceArrayInput is an input type that accepts ServicePerimeterSpecEgressPolicyEgressFromSourceArray and ServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput values. You can construct a concrete instance of `ServicePerimeterSpecEgressPolicyEgressFromSourceArrayInput` via:

ServicePerimeterSpecEgressPolicyEgressFromSourceArray{ ServicePerimeterSpecEgressPolicyEgressFromSourceArgs{...} }

type ServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput added in v7.1.0

type ServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput) ElementType added in v7.1.0

func (ServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput) Index added in v7.1.0

func (ServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput) ToServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput added in v7.1.0

func (ServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput) ToServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutputWithContext added in v7.1.0

func (o ServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput) ToServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutputWithContext(ctx context.Context) ServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput

type ServicePerimeterSpecEgressPolicyEgressFromSourceInput added in v7.1.0

type ServicePerimeterSpecEgressPolicyEgressFromSourceInput interface {
	pulumi.Input

	ToServicePerimeterSpecEgressPolicyEgressFromSourceOutput() ServicePerimeterSpecEgressPolicyEgressFromSourceOutput
	ToServicePerimeterSpecEgressPolicyEgressFromSourceOutputWithContext(context.Context) ServicePerimeterSpecEgressPolicyEgressFromSourceOutput
}

ServicePerimeterSpecEgressPolicyEgressFromSourceInput is an input type that accepts ServicePerimeterSpecEgressPolicyEgressFromSourceArgs and ServicePerimeterSpecEgressPolicyEgressFromSourceOutput values. You can construct a concrete instance of `ServicePerimeterSpecEgressPolicyEgressFromSourceInput` via:

ServicePerimeterSpecEgressPolicyEgressFromSourceArgs{...}

type ServicePerimeterSpecEgressPolicyEgressFromSourceOutput added in v7.1.0

type ServicePerimeterSpecEgressPolicyEgressFromSourceOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressFromSourceOutput) AccessLevel added in v7.1.0

An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.

func (ServicePerimeterSpecEgressPolicyEgressFromSourceOutput) ElementType added in v7.1.0

func (ServicePerimeterSpecEgressPolicyEgressFromSourceOutput) ToServicePerimeterSpecEgressPolicyEgressFromSourceOutput added in v7.1.0

func (ServicePerimeterSpecEgressPolicyEgressFromSourceOutput) ToServicePerimeterSpecEgressPolicyEgressFromSourceOutputWithContext added in v7.1.0

func (o ServicePerimeterSpecEgressPolicyEgressFromSourceOutput) ToServicePerimeterSpecEgressPolicyEgressFromSourceOutputWithContext(ctx context.Context) ServicePerimeterSpecEgressPolicyEgressFromSourceOutput

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) ToServicePerimeterSpecEgressPolicyEgressToOutput

func (i ServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimeterSpecEgressPolicyEgressToOutput() ServicePerimeterSpecEgressPolicyEgressToOutput

func (ServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimeterSpecEgressPolicyEgressToOutputWithContext

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

func (ServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (i ServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimeterSpecEgressPolicyEgressToPtrOutput() ServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (ServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext

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

type ServicePerimeterSpecEgressPolicyEgressToInput

type ServicePerimeterSpecEgressPolicyEgressToInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecEgressPolicyEgressToArgs{...}

type ServicePerimeterSpecEgressPolicyEgressToOperation

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

type ServicePerimeterSpecEgressPolicyEgressToOperationArgs

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

func (ServicePerimeterSpecEgressPolicyEgressToOperationArgs) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOperationArgs) ToServicePerimeterSpecEgressPolicyEgressToOperationOutput

func (i ServicePerimeterSpecEgressPolicyEgressToOperationArgs) ToServicePerimeterSpecEgressPolicyEgressToOperationOutput() ServicePerimeterSpecEgressPolicyEgressToOperationOutput

func (ServicePerimeterSpecEgressPolicyEgressToOperationArgs) ToServicePerimeterSpecEgressPolicyEgressToOperationOutputWithContext

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

type ServicePerimeterSpecEgressPolicyEgressToOperationArray

type ServicePerimeterSpecEgressPolicyEgressToOperationArray []ServicePerimeterSpecEgressPolicyEgressToOperationInput

func (ServicePerimeterSpecEgressPolicyEgressToOperationArray) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOperationArray) ToServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput

func (i ServicePerimeterSpecEgressPolicyEgressToOperationArray) ToServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput() ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput

func (ServicePerimeterSpecEgressPolicyEgressToOperationArray) ToServicePerimeterSpecEgressPolicyEgressToOperationArrayOutputWithContext

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

type ServicePerimeterSpecEgressPolicyEgressToOperationArrayInput

type ServicePerimeterSpecEgressPolicyEgressToOperationArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecEgressPolicyEgressToOperationArray{ ServicePerimeterSpecEgressPolicyEgressToOperationArgs{...} }

type ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput

type ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) Index

func (ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput

func (ServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationArrayOutputWithContext

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

type ServicePerimeterSpecEgressPolicyEgressToOperationInput

type ServicePerimeterSpecEgressPolicyEgressToOperationInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecEgressPolicyEgressToOperationArgs{...}

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelector

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

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs

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

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutputWithContext

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

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray []ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext

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

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayInput

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray{ ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs{...} }

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs{...}

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput

type ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) Method

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

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) Permission

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

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput

func (ServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutputWithContext

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

type ServicePerimeterSpecEgressPolicyEgressToOperationOutput

type ServicePerimeterSpecEgressPolicyEgressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressToOperationOutput) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOperationOutput) MethodSelectors

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

func (ServicePerimeterSpecEgressPolicyEgressToOperationOutput) ServiceName

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

func (ServicePerimeterSpecEgressPolicyEgressToOperationOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationOutput

func (ServicePerimeterSpecEgressPolicyEgressToOperationOutput) ToServicePerimeterSpecEgressPolicyEgressToOperationOutputWithContext

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

type ServicePerimeterSpecEgressPolicyEgressToOutput

type ServicePerimeterSpecEgressPolicyEgressToOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyEgressToOutput) ElementType

func (ServicePerimeterSpecEgressPolicyEgressToOutput) ExternalResources

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) 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

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) ToServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (o ServicePerimeterSpecEgressPolicyEgressToPtrOutput) ToServicePerimeterSpecEgressPolicyEgressToPtrOutput() ServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (ServicePerimeterSpecEgressPolicyEgressToPtrOutput) ToServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext

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

type ServicePerimeterSpecEgressPolicyInput

type ServicePerimeterSpecEgressPolicyInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecEgressPolicyArgs{...}

type ServicePerimeterSpecEgressPolicyOutput

type ServicePerimeterSpecEgressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecEgressPolicyOutput) EgressFrom

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

func (ServicePerimeterSpecEgressPolicyOutput) EgressTo

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

func (ServicePerimeterSpecEgressPolicyOutput) ElementType

func (ServicePerimeterSpecEgressPolicyOutput) ToServicePerimeterSpecEgressPolicyOutput

func (o ServicePerimeterSpecEgressPolicyOutput) ToServicePerimeterSpecEgressPolicyOutput() ServicePerimeterSpecEgressPolicyOutput

func (ServicePerimeterSpecEgressPolicyOutput) ToServicePerimeterSpecEgressPolicyOutputWithContext

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

type ServicePerimeterSpecIngressPolicy

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

type ServicePerimeterSpecIngressPolicyArgs

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

func (ServicePerimeterSpecIngressPolicyArgs) ElementType

func (ServicePerimeterSpecIngressPolicyArgs) ToServicePerimeterSpecIngressPolicyOutput

func (i ServicePerimeterSpecIngressPolicyArgs) ToServicePerimeterSpecIngressPolicyOutput() ServicePerimeterSpecIngressPolicyOutput

func (ServicePerimeterSpecIngressPolicyArgs) ToServicePerimeterSpecIngressPolicyOutputWithContext

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

type ServicePerimeterSpecIngressPolicyArray

type ServicePerimeterSpecIngressPolicyArray []ServicePerimeterSpecIngressPolicyInput

func (ServicePerimeterSpecIngressPolicyArray) ElementType

func (ServicePerimeterSpecIngressPolicyArray) ToServicePerimeterSpecIngressPolicyArrayOutput

func (i ServicePerimeterSpecIngressPolicyArray) ToServicePerimeterSpecIngressPolicyArrayOutput() ServicePerimeterSpecIngressPolicyArrayOutput

func (ServicePerimeterSpecIngressPolicyArray) ToServicePerimeterSpecIngressPolicyArrayOutputWithContext

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

type ServicePerimeterSpecIngressPolicyArrayInput

type ServicePerimeterSpecIngressPolicyArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecIngressPolicyArray{ ServicePerimeterSpecIngressPolicyArgs{...} }

type ServicePerimeterSpecIngressPolicyArrayOutput

type ServicePerimeterSpecIngressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyArrayOutput) ElementType

func (ServicePerimeterSpecIngressPolicyArrayOutput) Index

func (ServicePerimeterSpecIngressPolicyArrayOutput) ToServicePerimeterSpecIngressPolicyArrayOutput

func (o ServicePerimeterSpecIngressPolicyArrayOutput) ToServicePerimeterSpecIngressPolicyArrayOutput() ServicePerimeterSpecIngressPolicyArrayOutput

func (ServicePerimeterSpecIngressPolicyArrayOutput) ToServicePerimeterSpecIngressPolicyArrayOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressFrom

type ServicePerimeterSpecIngressPolicyIngressFrom struct {
	// 'A list of identities that are allowed access through this `IngressPolicy`.
	// To specify an identity or identity group, use the IAM v1
	// format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
	// The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
	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 `IngressPolicy`.
	// To specify an identity or identity group, use the IAM v1
	// format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
	// The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
	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) 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 `IngressPolicy`. To specify an identity or identity group, use the IAM v1 format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1). The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'

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) 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 `IngressPolicy`. To specify an identity or identity group, use the IAM v1 format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1). The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'

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) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutput

func (ServicePerimeterSpecIngressPolicyIngressFromPtrOutput) ToServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressFromSource

type ServicePerimeterSpecIngressPolicyIngressFromSource struct {
	// An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
	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 allows resources outside the ServicePerimeter to be accessed from the inside.
	AccessLevel pulumi.StringPtrInput `pulumi:"accessLevel"`
	// A Google Cloud resource that is allowed to ingress the perimeter.
	// Requests from these resources will be allowed to access perimeter data.
	// Currently only projects are allowed. Format `projects/{project_number}`
	// The project may be in any Google Cloud organization, not just the
	// organization that the perimeter is defined in. `*` is not allowed, the case
	// of allowing all Google Cloud resources only is not supported.
	Resource pulumi.StringPtrInput `pulumi:"resource"`
}

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ElementType

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ToServicePerimeterSpecIngressPolicyIngressFromSourceOutput

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ToServicePerimeterSpecIngressPolicyIngressFromSourceOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressFromSourceArray

type ServicePerimeterSpecIngressPolicyIngressFromSourceArray []ServicePerimeterSpecIngressPolicyIngressFromSourceInput

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArray) ElementType

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArray) ToServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput

func (i ServicePerimeterSpecIngressPolicyIngressFromSourceArray) ToServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput() ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArray) ToServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressFromSourceArrayInput

type ServicePerimeterSpecIngressPolicyIngressFromSourceArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecIngressPolicyIngressFromSourceArray{ ServicePerimeterSpecIngressPolicyIngressFromSourceArgs{...} }

type ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput

type ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) Index

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ToServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ToServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressFromSourceInput

type ServicePerimeterSpecIngressPolicyIngressFromSourceInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecIngressPolicyIngressFromSourceArgs{...}

type ServicePerimeterSpecIngressPolicyIngressFromSourceOutput

type ServicePerimeterSpecIngressPolicyIngressFromSourceOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressFromSourceOutput) AccessLevel

An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.

func (ServicePerimeterSpecIngressPolicyIngressFromSourceOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressFromSourceOutput) Resource

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

func (ServicePerimeterSpecIngressPolicyIngressFromSourceOutput) ToServicePerimeterSpecIngressPolicyIngressFromSourceOutput

func (ServicePerimeterSpecIngressPolicyIngressFromSourceOutput) ToServicePerimeterSpecIngressPolicyIngressFromSourceOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressTo

type ServicePerimeterSpecIngressPolicyIngressTo struct {
	// A list of `ApiOperations` 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) ToServicePerimeterSpecIngressPolicyIngressToOutput

func (i ServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimeterSpecIngressPolicyIngressToOutput() ServicePerimeterSpecIngressPolicyIngressToOutput

func (ServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimeterSpecIngressPolicyIngressToOutputWithContext

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

func (ServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (i ServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimeterSpecIngressPolicyIngressToPtrOutput() ServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (ServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressToInput

type ServicePerimeterSpecIngressPolicyIngressToInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecIngressPolicyIngressToArgs{...}

type ServicePerimeterSpecIngressPolicyIngressToOperation

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

type ServicePerimeterSpecIngressPolicyIngressToOperationArgs

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

func (ServicePerimeterSpecIngressPolicyIngressToOperationArgs) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOperationArgs) ToServicePerimeterSpecIngressPolicyIngressToOperationOutput

func (ServicePerimeterSpecIngressPolicyIngressToOperationArgs) ToServicePerimeterSpecIngressPolicyIngressToOperationOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressToOperationArray

type ServicePerimeterSpecIngressPolicyIngressToOperationArray []ServicePerimeterSpecIngressPolicyIngressToOperationInput

func (ServicePerimeterSpecIngressPolicyIngressToOperationArray) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOperationArray) ToServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput

func (i ServicePerimeterSpecIngressPolicyIngressToOperationArray) ToServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput() ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput

func (ServicePerimeterSpecIngressPolicyIngressToOperationArray) ToServicePerimeterSpecIngressPolicyIngressToOperationArrayOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressToOperationArrayInput

type ServicePerimeterSpecIngressPolicyIngressToOperationArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecIngressPolicyIngressToOperationArray{ ServicePerimeterSpecIngressPolicyIngressToOperationArgs{...} }

type ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput

type ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) Index

func (ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput

func (ServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationArrayOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressToOperationInput

type ServicePerimeterSpecIngressPolicyIngressToOperationInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecIngressPolicyIngressToOperationArgs{...}

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelector

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

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs

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

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray []ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayInput

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray{ ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs{...} }

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs{...}

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput

type ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) Method

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

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) Permission

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

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput

func (ServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressToOperationOutput

type ServicePerimeterSpecIngressPolicyIngressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressToOperationOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOperationOutput) MethodSelectors

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

func (ServicePerimeterSpecIngressPolicyIngressToOperationOutput) ServiceName

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

func (ServicePerimeterSpecIngressPolicyIngressToOperationOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationOutput

func (ServicePerimeterSpecIngressPolicyIngressToOperationOutput) ToServicePerimeterSpecIngressPolicyIngressToOperationOutputWithContext

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

type ServicePerimeterSpecIngressPolicyIngressToOutput

type ServicePerimeterSpecIngressPolicyIngressToOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyIngressToOutput) ElementType

func (ServicePerimeterSpecIngressPolicyIngressToOutput) Operations

A list of `ApiOperations` 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) 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) ToServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (o ServicePerimeterSpecIngressPolicyIngressToPtrOutput) ToServicePerimeterSpecIngressPolicyIngressToPtrOutput() ServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (ServicePerimeterSpecIngressPolicyIngressToPtrOutput) ToServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext

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

type ServicePerimeterSpecIngressPolicyInput

type ServicePerimeterSpecIngressPolicyInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecIngressPolicyArgs{...}

type ServicePerimeterSpecIngressPolicyOutput

type ServicePerimeterSpecIngressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecIngressPolicyOutput) ElementType

func (ServicePerimeterSpecIngressPolicyOutput) IngressFrom

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

func (ServicePerimeterSpecIngressPolicyOutput) IngressTo

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

func (ServicePerimeterSpecIngressPolicyOutput) ToServicePerimeterSpecIngressPolicyOutput

func (o ServicePerimeterSpecIngressPolicyOutput) ToServicePerimeterSpecIngressPolicyOutput() ServicePerimeterSpecIngressPolicyOutput

func (ServicePerimeterSpecIngressPolicyOutput) ToServicePerimeterSpecIngressPolicyOutputWithContext

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

type ServicePerimeterSpecInput

type ServicePerimeterSpecInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecArgs{...}

type ServicePerimeterSpecOutput

type ServicePerimeterSpecOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecOutput) AccessLevels

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

func (ServicePerimeterSpecOutput) EgressPolicies

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

func (ServicePerimeterSpecOutput) ElementType

func (ServicePerimeterSpecOutput) ElementType() reflect.Type

func (ServicePerimeterSpecOutput) IngressPolicies

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

func (ServicePerimeterSpecOutput) Resources

A list of 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) 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) ToServicePerimeterSpecPtrOutput

func (o ServicePerimeterSpecPtrOutput) ToServicePerimeterSpecPtrOutput() ServicePerimeterSpecPtrOutput

func (ServicePerimeterSpecPtrOutput) ToServicePerimeterSpecPtrOutputWithContext

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

func (ServicePerimeterSpecPtrOutput) VpcAccessibleServices

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

type ServicePerimeterSpecVpcAccessibleServices

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

type ServicePerimeterSpecVpcAccessibleServicesArgs

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

func (ServicePerimeterSpecVpcAccessibleServicesArgs) ElementType

func (ServicePerimeterSpecVpcAccessibleServicesArgs) ToServicePerimeterSpecVpcAccessibleServicesOutput

func (i ServicePerimeterSpecVpcAccessibleServicesArgs) ToServicePerimeterSpecVpcAccessibleServicesOutput() ServicePerimeterSpecVpcAccessibleServicesOutput

func (ServicePerimeterSpecVpcAccessibleServicesArgs) ToServicePerimeterSpecVpcAccessibleServicesOutputWithContext

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

func (ServicePerimeterSpecVpcAccessibleServicesArgs) ToServicePerimeterSpecVpcAccessibleServicesPtrOutput

func (i ServicePerimeterSpecVpcAccessibleServicesArgs) ToServicePerimeterSpecVpcAccessibleServicesPtrOutput() ServicePerimeterSpecVpcAccessibleServicesPtrOutput

func (ServicePerimeterSpecVpcAccessibleServicesArgs) ToServicePerimeterSpecVpcAccessibleServicesPtrOutputWithContext

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

type ServicePerimeterSpecVpcAccessibleServicesInput

type ServicePerimeterSpecVpcAccessibleServicesInput interface {
	pulumi.Input

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

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

ServicePerimeterSpecVpcAccessibleServicesArgs{...}

type ServicePerimeterSpecVpcAccessibleServicesOutput

type ServicePerimeterSpecVpcAccessibleServicesOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecVpcAccessibleServicesOutput) AllowedServices

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

func (ServicePerimeterSpecVpcAccessibleServicesOutput) ElementType

func (ServicePerimeterSpecVpcAccessibleServicesOutput) EnableRestriction

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

func (ServicePerimeterSpecVpcAccessibleServicesOutput) ToServicePerimeterSpecVpcAccessibleServicesOutput

func (o ServicePerimeterSpecVpcAccessibleServicesOutput) ToServicePerimeterSpecVpcAccessibleServicesOutput() ServicePerimeterSpecVpcAccessibleServicesOutput

func (ServicePerimeterSpecVpcAccessibleServicesOutput) ToServicePerimeterSpecVpcAccessibleServicesOutputWithContext

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

func (ServicePerimeterSpecVpcAccessibleServicesOutput) ToServicePerimeterSpecVpcAccessibleServicesPtrOutput

func (o ServicePerimeterSpecVpcAccessibleServicesOutput) ToServicePerimeterSpecVpcAccessibleServicesPtrOutput() ServicePerimeterSpecVpcAccessibleServicesPtrOutput

func (ServicePerimeterSpecVpcAccessibleServicesOutput) ToServicePerimeterSpecVpcAccessibleServicesPtrOutputWithContext

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

type ServicePerimeterSpecVpcAccessibleServicesPtrInput

type ServicePerimeterSpecVpcAccessibleServicesPtrInput interface {
	pulumi.Input

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

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

        ServicePerimeterSpecVpcAccessibleServicesArgs{...}

or:

        nil

type ServicePerimeterSpecVpcAccessibleServicesPtrOutput

type ServicePerimeterSpecVpcAccessibleServicesPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterSpecVpcAccessibleServicesPtrOutput) AllowedServices

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

func (ServicePerimeterSpecVpcAccessibleServicesPtrOutput) Elem

func (ServicePerimeterSpecVpcAccessibleServicesPtrOutput) ElementType

func (ServicePerimeterSpecVpcAccessibleServicesPtrOutput) EnableRestriction

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

func (ServicePerimeterSpecVpcAccessibleServicesPtrOutput) ToServicePerimeterSpecVpcAccessibleServicesPtrOutput

func (o ServicePerimeterSpecVpcAccessibleServicesPtrOutput) ToServicePerimeterSpecVpcAccessibleServicesPtrOutput() ServicePerimeterSpecVpcAccessibleServicesPtrOutput

func (ServicePerimeterSpecVpcAccessibleServicesPtrOutput) ToServicePerimeterSpecVpcAccessibleServicesPtrOutputWithContext

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

type ServicePerimeterState

type ServicePerimeterState struct {
	// Time the AccessPolicy was created in UTC.
	CreateTime pulumi.StringPtrInput
	// Description of the ServicePerimeter and its use. Does not affect
	// behavior.
	Description pulumi.StringPtrInput
	// Resource name for the ServicePerimeter. The shortName component must
	// begin with a letter and only include alphanumeric and '_'.
	// Format: accessPolicies/{policy_id}/servicePerimeters/{short_name}
	//
	// ***
	Name pulumi.StringPtrInput
	// The AccessPolicy this ServicePerimeter lives in.
	// Format: accessPolicies/{policy_id}
	Parent pulumi.StringPtrInput
	// Specifies the type of the Perimeter. There are two types: regular and
	// bridge. Regular Service Perimeter contains resources, access levels,
	// and restricted services. Every resource can be in at most
	// ONE regular Service Perimeter.
	// In addition to being in a regular service perimeter, a resource can also
	// be in zero or more perimeter bridges. A perimeter bridge only contains
	// resources. Cross project operations are permitted if all effected
	// resources share some perimeter (whether bridge or regular). Perimeter
	// Bridge does not contain access levels or services: those are governed
	// entirely by the regular perimeter that resource is in.
	// Perimeter Bridges are typically useful when building more complex
	// topologies with many independent perimeters that need to share some data
	// with a common perimeter, but should not be able to share data among
	// themselves.
	// Default value is `PERIMETER_TYPE_REGULAR`.
	// Possible values are: `PERIMETER_TYPE_REGULAR`, `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) ToServicePerimeterStatusOutput

func (i ServicePerimeterStatusArgs) ToServicePerimeterStatusOutput() ServicePerimeterStatusOutput

func (ServicePerimeterStatusArgs) ToServicePerimeterStatusOutputWithContext

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

func (ServicePerimeterStatusArgs) ToServicePerimeterStatusPtrOutput

func (i ServicePerimeterStatusArgs) ToServicePerimeterStatusPtrOutput() ServicePerimeterStatusPtrOutput

func (ServicePerimeterStatusArgs) ToServicePerimeterStatusPtrOutputWithContext

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

type ServicePerimeterStatusEgressPolicy

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

type ServicePerimeterStatusEgressPolicyArgs

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

func (ServicePerimeterStatusEgressPolicyArgs) ElementType

func (ServicePerimeterStatusEgressPolicyArgs) ToServicePerimeterStatusEgressPolicyOutput

func (i ServicePerimeterStatusEgressPolicyArgs) ToServicePerimeterStatusEgressPolicyOutput() ServicePerimeterStatusEgressPolicyOutput

func (ServicePerimeterStatusEgressPolicyArgs) ToServicePerimeterStatusEgressPolicyOutputWithContext

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

type ServicePerimeterStatusEgressPolicyArray

type ServicePerimeterStatusEgressPolicyArray []ServicePerimeterStatusEgressPolicyInput

func (ServicePerimeterStatusEgressPolicyArray) ElementType

func (ServicePerimeterStatusEgressPolicyArray) ToServicePerimeterStatusEgressPolicyArrayOutput

func (i ServicePerimeterStatusEgressPolicyArray) ToServicePerimeterStatusEgressPolicyArrayOutput() ServicePerimeterStatusEgressPolicyArrayOutput

func (ServicePerimeterStatusEgressPolicyArray) ToServicePerimeterStatusEgressPolicyArrayOutputWithContext

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

type ServicePerimeterStatusEgressPolicyArrayInput

type ServicePerimeterStatusEgressPolicyArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusEgressPolicyArray{ ServicePerimeterStatusEgressPolicyArgs{...} }

type ServicePerimeterStatusEgressPolicyArrayOutput

type ServicePerimeterStatusEgressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyArrayOutput) ElementType

func (ServicePerimeterStatusEgressPolicyArrayOutput) Index

func (ServicePerimeterStatusEgressPolicyArrayOutput) ToServicePerimeterStatusEgressPolicyArrayOutput

func (o ServicePerimeterStatusEgressPolicyArrayOutput) ToServicePerimeterStatusEgressPolicyArrayOutput() ServicePerimeterStatusEgressPolicyArrayOutput

func (ServicePerimeterStatusEgressPolicyArrayOutput) ToServicePerimeterStatusEgressPolicyArrayOutputWithContext

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

type ServicePerimeterStatusEgressPolicyEgressFrom

type ServicePerimeterStatusEgressPolicyEgressFrom struct {
	// 'A list of identities that are allowed access through this `EgressPolicy`.
	// To specify an identity or identity group, use the IAM v1
	// format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
	// The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
	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"`
	// Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`.
	// Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
	SourceRestriction *string `pulumi:"sourceRestriction"`
	// Sources that this EgressPolicy authorizes access from.
	// Structure is documented below.
	Sources []ServicePerimeterStatusEgressPolicyEgressFromSource `pulumi:"sources"`
}

type ServicePerimeterStatusEgressPolicyEgressFromArgs

type ServicePerimeterStatusEgressPolicyEgressFromArgs struct {
	// 'A list of identities that are allowed access through this `EgressPolicy`.
	// To specify an identity or identity group, use the IAM v1
	// format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
	// The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
	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"`
	// Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`.
	// Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
	SourceRestriction pulumi.StringPtrInput `pulumi:"sourceRestriction"`
	// Sources that this EgressPolicy authorizes access from.
	// Structure is documented below.
	Sources ServicePerimeterStatusEgressPolicyEgressFromSourceArrayInput `pulumi:"sources"`
}

func (ServicePerimeterStatusEgressPolicyEgressFromArgs) ElementType

func (ServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimeterStatusEgressPolicyEgressFromOutput

func (i ServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimeterStatusEgressPolicyEgressFromOutput() ServicePerimeterStatusEgressPolicyEgressFromOutput

func (ServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimeterStatusEgressPolicyEgressFromOutputWithContext

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

func (ServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutput

func (i ServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutput() ServicePerimeterStatusEgressPolicyEgressFromPtrOutput

func (ServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext

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

type ServicePerimeterStatusEgressPolicyEgressFromInput

type ServicePerimeterStatusEgressPolicyEgressFromInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusEgressPolicyEgressFromArgs{...}

type ServicePerimeterStatusEgressPolicyEgressFromOutput

type ServicePerimeterStatusEgressPolicyEgressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressFromOutput) ElementType

func (ServicePerimeterStatusEgressPolicyEgressFromOutput) Identities

'A list of identities that are allowed access through this `EgressPolicy`. To specify an identity or identity group, use the IAM v1 format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1). The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'

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) SourceRestriction added in v7.1.0

Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`. Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.

func (ServicePerimeterStatusEgressPolicyEgressFromOutput) Sources added in v7.1.0

Sources that this EgressPolicy authorizes access from. Structure is documented below.

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`. To specify an identity or identity group, use the IAM v1 format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1). The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'

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) SourceRestriction added in v7.1.0

Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`. Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.

func (ServicePerimeterStatusEgressPolicyEgressFromPtrOutput) Sources added in v7.1.0

Sources that this EgressPolicy authorizes access from. Structure is documented below.

func (ServicePerimeterStatusEgressPolicyEgressFromPtrOutput) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutput

func (ServicePerimeterStatusEgressPolicyEgressFromPtrOutput) ToServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext

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

type ServicePerimeterStatusEgressPolicyEgressFromSource added in v7.1.0

type ServicePerimeterStatusEgressPolicyEgressFromSource struct {
	// An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
	AccessLevel *string `pulumi:"accessLevel"`
}

type ServicePerimeterStatusEgressPolicyEgressFromSourceArgs added in v7.1.0

type ServicePerimeterStatusEgressPolicyEgressFromSourceArgs struct {
	// An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
	AccessLevel pulumi.StringPtrInput `pulumi:"accessLevel"`
}

func (ServicePerimeterStatusEgressPolicyEgressFromSourceArgs) ElementType added in v7.1.0

func (ServicePerimeterStatusEgressPolicyEgressFromSourceArgs) ToServicePerimeterStatusEgressPolicyEgressFromSourceOutput added in v7.1.0

func (ServicePerimeterStatusEgressPolicyEgressFromSourceArgs) ToServicePerimeterStatusEgressPolicyEgressFromSourceOutputWithContext added in v7.1.0

func (i ServicePerimeterStatusEgressPolicyEgressFromSourceArgs) ToServicePerimeterStatusEgressPolicyEgressFromSourceOutputWithContext(ctx context.Context) ServicePerimeterStatusEgressPolicyEgressFromSourceOutput

type ServicePerimeterStatusEgressPolicyEgressFromSourceArray added in v7.1.0

type ServicePerimeterStatusEgressPolicyEgressFromSourceArray []ServicePerimeterStatusEgressPolicyEgressFromSourceInput

func (ServicePerimeterStatusEgressPolicyEgressFromSourceArray) ElementType added in v7.1.0

func (ServicePerimeterStatusEgressPolicyEgressFromSourceArray) ToServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput added in v7.1.0

func (i ServicePerimeterStatusEgressPolicyEgressFromSourceArray) ToServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput() ServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput

func (ServicePerimeterStatusEgressPolicyEgressFromSourceArray) ToServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutputWithContext added in v7.1.0

func (i ServicePerimeterStatusEgressPolicyEgressFromSourceArray) ToServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutputWithContext(ctx context.Context) ServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput

type ServicePerimeterStatusEgressPolicyEgressFromSourceArrayInput added in v7.1.0

type ServicePerimeterStatusEgressPolicyEgressFromSourceArrayInput interface {
	pulumi.Input

	ToServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput() ServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput
	ToServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutputWithContext(context.Context) ServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput
}

ServicePerimeterStatusEgressPolicyEgressFromSourceArrayInput is an input type that accepts ServicePerimeterStatusEgressPolicyEgressFromSourceArray and ServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput values. You can construct a concrete instance of `ServicePerimeterStatusEgressPolicyEgressFromSourceArrayInput` via:

ServicePerimeterStatusEgressPolicyEgressFromSourceArray{ ServicePerimeterStatusEgressPolicyEgressFromSourceArgs{...} }

type ServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput added in v7.1.0

type ServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput) ElementType added in v7.1.0

func (ServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput) Index added in v7.1.0

func (ServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput) ToServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput added in v7.1.0

func (ServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput) ToServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutputWithContext added in v7.1.0

func (o ServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput) ToServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutputWithContext(ctx context.Context) ServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput

type ServicePerimeterStatusEgressPolicyEgressFromSourceInput added in v7.1.0

type ServicePerimeterStatusEgressPolicyEgressFromSourceInput interface {
	pulumi.Input

	ToServicePerimeterStatusEgressPolicyEgressFromSourceOutput() ServicePerimeterStatusEgressPolicyEgressFromSourceOutput
	ToServicePerimeterStatusEgressPolicyEgressFromSourceOutputWithContext(context.Context) ServicePerimeterStatusEgressPolicyEgressFromSourceOutput
}

ServicePerimeterStatusEgressPolicyEgressFromSourceInput is an input type that accepts ServicePerimeterStatusEgressPolicyEgressFromSourceArgs and ServicePerimeterStatusEgressPolicyEgressFromSourceOutput values. You can construct a concrete instance of `ServicePerimeterStatusEgressPolicyEgressFromSourceInput` via:

ServicePerimeterStatusEgressPolicyEgressFromSourceArgs{...}

type ServicePerimeterStatusEgressPolicyEgressFromSourceOutput added in v7.1.0

type ServicePerimeterStatusEgressPolicyEgressFromSourceOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressFromSourceOutput) AccessLevel added in v7.1.0

An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.

func (ServicePerimeterStatusEgressPolicyEgressFromSourceOutput) ElementType added in v7.1.0

func (ServicePerimeterStatusEgressPolicyEgressFromSourceOutput) ToServicePerimeterStatusEgressPolicyEgressFromSourceOutput added in v7.1.0

func (ServicePerimeterStatusEgressPolicyEgressFromSourceOutput) ToServicePerimeterStatusEgressPolicyEgressFromSourceOutputWithContext added in v7.1.0

func (o ServicePerimeterStatusEgressPolicyEgressFromSourceOutput) ToServicePerimeterStatusEgressPolicyEgressFromSourceOutputWithContext(ctx context.Context) ServicePerimeterStatusEgressPolicyEgressFromSourceOutput

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) ToServicePerimeterStatusEgressPolicyEgressToOutput

func (i ServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimeterStatusEgressPolicyEgressToOutput() ServicePerimeterStatusEgressPolicyEgressToOutput

func (ServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimeterStatusEgressPolicyEgressToOutputWithContext

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

func (ServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (i ServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimeterStatusEgressPolicyEgressToPtrOutput() ServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (ServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext

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

type ServicePerimeterStatusEgressPolicyEgressToInput

type ServicePerimeterStatusEgressPolicyEgressToInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusEgressPolicyEgressToArgs{...}

type ServicePerimeterStatusEgressPolicyEgressToOperation

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

type ServicePerimeterStatusEgressPolicyEgressToOperationArgs

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

func (ServicePerimeterStatusEgressPolicyEgressToOperationArgs) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOperationArgs) ToServicePerimeterStatusEgressPolicyEgressToOperationOutput

func (ServicePerimeterStatusEgressPolicyEgressToOperationArgs) ToServicePerimeterStatusEgressPolicyEgressToOperationOutputWithContext

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

type ServicePerimeterStatusEgressPolicyEgressToOperationArray

type ServicePerimeterStatusEgressPolicyEgressToOperationArray []ServicePerimeterStatusEgressPolicyEgressToOperationInput

func (ServicePerimeterStatusEgressPolicyEgressToOperationArray) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOperationArray) ToServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput

func (i ServicePerimeterStatusEgressPolicyEgressToOperationArray) ToServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput() ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput

func (ServicePerimeterStatusEgressPolicyEgressToOperationArray) ToServicePerimeterStatusEgressPolicyEgressToOperationArrayOutputWithContext

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

type ServicePerimeterStatusEgressPolicyEgressToOperationArrayInput

type ServicePerimeterStatusEgressPolicyEgressToOperationArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusEgressPolicyEgressToOperationArray{ ServicePerimeterStatusEgressPolicyEgressToOperationArgs{...} }

type ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput

type ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) Index

func (ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput

func (ServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationArrayOutputWithContext

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

type ServicePerimeterStatusEgressPolicyEgressToOperationInput

type ServicePerimeterStatusEgressPolicyEgressToOperationInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusEgressPolicyEgressToOperationArgs{...}

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelector

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

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs

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

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutputWithContext

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

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray []ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext

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

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayInput

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray{ ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs{...} }

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs{...}

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput

type ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) Method

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

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) Permission

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

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput

func (ServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutputWithContext

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

type ServicePerimeterStatusEgressPolicyEgressToOperationOutput

type ServicePerimeterStatusEgressPolicyEgressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressToOperationOutput) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOperationOutput) MethodSelectors

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

func (ServicePerimeterStatusEgressPolicyEgressToOperationOutput) ServiceName

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

func (ServicePerimeterStatusEgressPolicyEgressToOperationOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationOutput

func (ServicePerimeterStatusEgressPolicyEgressToOperationOutput) ToServicePerimeterStatusEgressPolicyEgressToOperationOutputWithContext

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

type ServicePerimeterStatusEgressPolicyEgressToOutput

type ServicePerimeterStatusEgressPolicyEgressToOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyEgressToOutput) ElementType

func (ServicePerimeterStatusEgressPolicyEgressToOutput) ExternalResources

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) 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

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) ToServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (o ServicePerimeterStatusEgressPolicyEgressToPtrOutput) ToServicePerimeterStatusEgressPolicyEgressToPtrOutput() ServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (ServicePerimeterStatusEgressPolicyEgressToPtrOutput) ToServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext

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

type ServicePerimeterStatusEgressPolicyInput

type ServicePerimeterStatusEgressPolicyInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusEgressPolicyArgs{...}

type ServicePerimeterStatusEgressPolicyOutput

type ServicePerimeterStatusEgressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusEgressPolicyOutput) EgressFrom

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

func (ServicePerimeterStatusEgressPolicyOutput) EgressTo

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

func (ServicePerimeterStatusEgressPolicyOutput) ElementType

func (ServicePerimeterStatusEgressPolicyOutput) ToServicePerimeterStatusEgressPolicyOutput

func (o ServicePerimeterStatusEgressPolicyOutput) ToServicePerimeterStatusEgressPolicyOutput() ServicePerimeterStatusEgressPolicyOutput

func (ServicePerimeterStatusEgressPolicyOutput) ToServicePerimeterStatusEgressPolicyOutputWithContext

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

type ServicePerimeterStatusIngressPolicy

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

type ServicePerimeterStatusIngressPolicyArgs

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

func (ServicePerimeterStatusIngressPolicyArgs) ElementType

func (ServicePerimeterStatusIngressPolicyArgs) ToServicePerimeterStatusIngressPolicyOutput

func (i ServicePerimeterStatusIngressPolicyArgs) ToServicePerimeterStatusIngressPolicyOutput() ServicePerimeterStatusIngressPolicyOutput

func (ServicePerimeterStatusIngressPolicyArgs) ToServicePerimeterStatusIngressPolicyOutputWithContext

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

type ServicePerimeterStatusIngressPolicyArray

type ServicePerimeterStatusIngressPolicyArray []ServicePerimeterStatusIngressPolicyInput

func (ServicePerimeterStatusIngressPolicyArray) ElementType

func (ServicePerimeterStatusIngressPolicyArray) ToServicePerimeterStatusIngressPolicyArrayOutput

func (i ServicePerimeterStatusIngressPolicyArray) ToServicePerimeterStatusIngressPolicyArrayOutput() ServicePerimeterStatusIngressPolicyArrayOutput

func (ServicePerimeterStatusIngressPolicyArray) ToServicePerimeterStatusIngressPolicyArrayOutputWithContext

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

type ServicePerimeterStatusIngressPolicyArrayInput

type ServicePerimeterStatusIngressPolicyArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusIngressPolicyArray{ ServicePerimeterStatusIngressPolicyArgs{...} }

type ServicePerimeterStatusIngressPolicyArrayOutput

type ServicePerimeterStatusIngressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyArrayOutput) ElementType

func (ServicePerimeterStatusIngressPolicyArrayOutput) Index

func (ServicePerimeterStatusIngressPolicyArrayOutput) ToServicePerimeterStatusIngressPolicyArrayOutput

func (o ServicePerimeterStatusIngressPolicyArrayOutput) ToServicePerimeterStatusIngressPolicyArrayOutput() ServicePerimeterStatusIngressPolicyArrayOutput

func (ServicePerimeterStatusIngressPolicyArrayOutput) ToServicePerimeterStatusIngressPolicyArrayOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressFrom

type ServicePerimeterStatusIngressPolicyIngressFrom struct {
	// 'A list of identities that are allowed access through this `IngressPolicy`.
	// To specify an identity or identity group, use the IAM v1
	// format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
	// The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
	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 `IngressPolicy`.
	// To specify an identity or identity group, use the IAM v1
	// format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
	// The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
	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) 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 `IngressPolicy`. To specify an identity or identity group, use the IAM v1 format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1). The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'

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) 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 `IngressPolicy`. To specify an identity or identity group, use the IAM v1 format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1). The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'

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) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutput

func (ServicePerimeterStatusIngressPolicyIngressFromPtrOutput) ToServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressFromSource

type ServicePerimeterStatusIngressPolicyIngressFromSource struct {
	// An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
	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 allows resources outside the ServicePerimeter to be accessed from the inside.
	AccessLevel pulumi.StringPtrInput `pulumi:"accessLevel"`
	// A Google Cloud resource that is allowed to ingress the perimeter.
	// Requests from these resources will be allowed to access perimeter data.
	// Currently only projects are allowed. Format `projects/{project_number}`
	// The project may be in any Google Cloud organization, not just the
	// organization that the perimeter is defined in. `*` is not allowed, the case
	// of allowing all Google Cloud resources only is not supported.
	Resource pulumi.StringPtrInput `pulumi:"resource"`
}

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ElementType

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ToServicePerimeterStatusIngressPolicyIngressFromSourceOutput

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ToServicePerimeterStatusIngressPolicyIngressFromSourceOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressFromSourceArray

type ServicePerimeterStatusIngressPolicyIngressFromSourceArray []ServicePerimeterStatusIngressPolicyIngressFromSourceInput

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArray) ElementType

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArray) ToServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput

func (i ServicePerimeterStatusIngressPolicyIngressFromSourceArray) ToServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput() ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArray) ToServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressFromSourceArrayInput

type ServicePerimeterStatusIngressPolicyIngressFromSourceArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusIngressPolicyIngressFromSourceArray{ ServicePerimeterStatusIngressPolicyIngressFromSourceArgs{...} }

type ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput

type ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) Index

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ToServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ToServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressFromSourceInput

type ServicePerimeterStatusIngressPolicyIngressFromSourceInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusIngressPolicyIngressFromSourceArgs{...}

type ServicePerimeterStatusIngressPolicyIngressFromSourceOutput

type ServicePerimeterStatusIngressPolicyIngressFromSourceOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressFromSourceOutput) AccessLevel

An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.

func (ServicePerimeterStatusIngressPolicyIngressFromSourceOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressFromSourceOutput) Resource

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

func (ServicePerimeterStatusIngressPolicyIngressFromSourceOutput) ToServicePerimeterStatusIngressPolicyIngressFromSourceOutput

func (ServicePerimeterStatusIngressPolicyIngressFromSourceOutput) ToServicePerimeterStatusIngressPolicyIngressFromSourceOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressTo

type ServicePerimeterStatusIngressPolicyIngressTo struct {
	// A list of `ApiOperations` 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) ToServicePerimeterStatusIngressPolicyIngressToOutput

func (i ServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimeterStatusIngressPolicyIngressToOutput() ServicePerimeterStatusIngressPolicyIngressToOutput

func (ServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimeterStatusIngressPolicyIngressToOutputWithContext

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

func (ServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimeterStatusIngressPolicyIngressToPtrOutput

func (i ServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimeterStatusIngressPolicyIngressToPtrOutput() ServicePerimeterStatusIngressPolicyIngressToPtrOutput

func (ServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressToInput

type ServicePerimeterStatusIngressPolicyIngressToInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusIngressPolicyIngressToArgs{...}

type ServicePerimeterStatusIngressPolicyIngressToOperation

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

type ServicePerimeterStatusIngressPolicyIngressToOperationArgs

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

func (ServicePerimeterStatusIngressPolicyIngressToOperationArgs) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOperationArgs) ToServicePerimeterStatusIngressPolicyIngressToOperationOutput

func (ServicePerimeterStatusIngressPolicyIngressToOperationArgs) ToServicePerimeterStatusIngressPolicyIngressToOperationOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressToOperationArray

type ServicePerimeterStatusIngressPolicyIngressToOperationArray []ServicePerimeterStatusIngressPolicyIngressToOperationInput

func (ServicePerimeterStatusIngressPolicyIngressToOperationArray) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOperationArray) ToServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput

func (ServicePerimeterStatusIngressPolicyIngressToOperationArray) ToServicePerimeterStatusIngressPolicyIngressToOperationArrayOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressToOperationArrayInput

type ServicePerimeterStatusIngressPolicyIngressToOperationArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusIngressPolicyIngressToOperationArray{ ServicePerimeterStatusIngressPolicyIngressToOperationArgs{...} }

type ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput

type ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) Index

func (ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput

func (ServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationArrayOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressToOperationInput

type ServicePerimeterStatusIngressPolicyIngressToOperationInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusIngressPolicyIngressToOperationArgs{...}

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelector

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

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs

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

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray []ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayInput

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray{ ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs{...} }

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs{...}

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput

type ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) Method

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

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) Permission

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

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput

func (ServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutputWithContext

type ServicePerimeterStatusIngressPolicyIngressToOperationOutput

type ServicePerimeterStatusIngressPolicyIngressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressToOperationOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOperationOutput) MethodSelectors

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

func (ServicePerimeterStatusIngressPolicyIngressToOperationOutput) ServiceName

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

func (ServicePerimeterStatusIngressPolicyIngressToOperationOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationOutput

func (ServicePerimeterStatusIngressPolicyIngressToOperationOutput) ToServicePerimeterStatusIngressPolicyIngressToOperationOutputWithContext

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

type ServicePerimeterStatusIngressPolicyIngressToOutput

type ServicePerimeterStatusIngressPolicyIngressToOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyIngressToOutput) ElementType

func (ServicePerimeterStatusIngressPolicyIngressToOutput) Operations

A list of `ApiOperations` 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) 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) ToServicePerimeterStatusIngressPolicyIngressToPtrOutput

func (ServicePerimeterStatusIngressPolicyIngressToPtrOutput) ToServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext

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

type ServicePerimeterStatusIngressPolicyInput

type ServicePerimeterStatusIngressPolicyInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusIngressPolicyArgs{...}

type ServicePerimeterStatusIngressPolicyOutput

type ServicePerimeterStatusIngressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusIngressPolicyOutput) ElementType

func (ServicePerimeterStatusIngressPolicyOutput) IngressFrom

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

func (ServicePerimeterStatusIngressPolicyOutput) IngressTo

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

func (ServicePerimeterStatusIngressPolicyOutput) ToServicePerimeterStatusIngressPolicyOutput

func (o ServicePerimeterStatusIngressPolicyOutput) ToServicePerimeterStatusIngressPolicyOutput() ServicePerimeterStatusIngressPolicyOutput

func (ServicePerimeterStatusIngressPolicyOutput) ToServicePerimeterStatusIngressPolicyOutputWithContext

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

type ServicePerimeterStatusInput

type ServicePerimeterStatusInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusArgs{...}

type ServicePerimeterStatusOutput

type ServicePerimeterStatusOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusOutput) AccessLevels

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

func (ServicePerimeterStatusOutput) EgressPolicies

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

func (ServicePerimeterStatusOutput) ElementType

func (ServicePerimeterStatusOutput) IngressPolicies

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

func (ServicePerimeterStatusOutput) Resources

A list of 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) 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) ToServicePerimeterStatusPtrOutput

func (o ServicePerimeterStatusPtrOutput) ToServicePerimeterStatusPtrOutput() ServicePerimeterStatusPtrOutput

func (ServicePerimeterStatusPtrOutput) ToServicePerimeterStatusPtrOutputWithContext

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

func (ServicePerimeterStatusPtrOutput) VpcAccessibleServices

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

type ServicePerimeterStatusVpcAccessibleServices

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

type ServicePerimeterStatusVpcAccessibleServicesArgs

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

func (ServicePerimeterStatusVpcAccessibleServicesArgs) ElementType

func (ServicePerimeterStatusVpcAccessibleServicesArgs) ToServicePerimeterStatusVpcAccessibleServicesOutput

func (i ServicePerimeterStatusVpcAccessibleServicesArgs) ToServicePerimeterStatusVpcAccessibleServicesOutput() ServicePerimeterStatusVpcAccessibleServicesOutput

func (ServicePerimeterStatusVpcAccessibleServicesArgs) ToServicePerimeterStatusVpcAccessibleServicesOutputWithContext

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

func (ServicePerimeterStatusVpcAccessibleServicesArgs) ToServicePerimeterStatusVpcAccessibleServicesPtrOutput

func (i ServicePerimeterStatusVpcAccessibleServicesArgs) ToServicePerimeterStatusVpcAccessibleServicesPtrOutput() ServicePerimeterStatusVpcAccessibleServicesPtrOutput

func (ServicePerimeterStatusVpcAccessibleServicesArgs) ToServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext

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

type ServicePerimeterStatusVpcAccessibleServicesInput

type ServicePerimeterStatusVpcAccessibleServicesInput interface {
	pulumi.Input

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

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

ServicePerimeterStatusVpcAccessibleServicesArgs{...}

type ServicePerimeterStatusVpcAccessibleServicesOutput

type ServicePerimeterStatusVpcAccessibleServicesOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusVpcAccessibleServicesOutput) AllowedServices

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

func (ServicePerimeterStatusVpcAccessibleServicesOutput) ElementType

func (ServicePerimeterStatusVpcAccessibleServicesOutput) EnableRestriction

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

func (ServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimeterStatusVpcAccessibleServicesOutput

func (o ServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimeterStatusVpcAccessibleServicesOutput() ServicePerimeterStatusVpcAccessibleServicesOutput

func (ServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimeterStatusVpcAccessibleServicesOutputWithContext

func (o ServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimeterStatusVpcAccessibleServicesOutputWithContext(ctx context.Context) ServicePerimeterStatusVpcAccessibleServicesOutput

func (ServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimeterStatusVpcAccessibleServicesPtrOutput

func (o ServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimeterStatusVpcAccessibleServicesPtrOutput() ServicePerimeterStatusVpcAccessibleServicesPtrOutput

func (ServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext

func (o ServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext(ctx context.Context) ServicePerimeterStatusVpcAccessibleServicesPtrOutput

type ServicePerimeterStatusVpcAccessibleServicesPtrInput

type ServicePerimeterStatusVpcAccessibleServicesPtrInput interface {
	pulumi.Input

	ToServicePerimeterStatusVpcAccessibleServicesPtrOutput() ServicePerimeterStatusVpcAccessibleServicesPtrOutput
	ToServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext(context.Context) ServicePerimeterStatusVpcAccessibleServicesPtrOutput
}

ServicePerimeterStatusVpcAccessibleServicesPtrInput is an input type that accepts ServicePerimeterStatusVpcAccessibleServicesArgs, ServicePerimeterStatusVpcAccessibleServicesPtr and ServicePerimeterStatusVpcAccessibleServicesPtrOutput values. You can construct a concrete instance of `ServicePerimeterStatusVpcAccessibleServicesPtrInput` via:

        ServicePerimeterStatusVpcAccessibleServicesArgs{...}

or:

        nil

type ServicePerimeterStatusVpcAccessibleServicesPtrOutput

type ServicePerimeterStatusVpcAccessibleServicesPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimeterStatusVpcAccessibleServicesPtrOutput) AllowedServices

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

func (ServicePerimeterStatusVpcAccessibleServicesPtrOutput) Elem

func (ServicePerimeterStatusVpcAccessibleServicesPtrOutput) ElementType

func (ServicePerimeterStatusVpcAccessibleServicesPtrOutput) EnableRestriction

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

func (ServicePerimeterStatusVpcAccessibleServicesPtrOutput) ToServicePerimeterStatusVpcAccessibleServicesPtrOutput

func (ServicePerimeterStatusVpcAccessibleServicesPtrOutput) ToServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext

func (o ServicePerimeterStatusVpcAccessibleServicesPtrOutput) ToServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext(ctx context.Context) ServicePerimeterStatusVpcAccessibleServicesPtrOutput

type ServicePerimeters

type ServicePerimeters struct {
	pulumi.CustomResourceState

	// The AccessPolicy this ServicePerimeter lives in.
	// Format: accessPolicies/{policy_id}
	//
	// ***
	Parent pulumi.StringOutput `pulumi:"parent"`
	// The desired Service Perimeters that should replace all existing Service Perimeters in the Access Policy.
	// Structure is documented below.
	ServicePerimeters ServicePerimetersServicePerimeterArrayOutput `pulumi:"servicePerimeters"`
}

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

To get more information about ServicePerimeters, see:

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

## Example Usage

### Access Context Manager Service Perimeters Basic

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/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),
					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"),
						},
					},
				},
			},
		})
		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),
			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"),
			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
		}
		return nil
	})
}

```

## Import

ServicePerimeters can be imported using any of these accepted formats:

* `{{parent}}/servicePerimeters`

* `{{parent}}`

When using the `pulumi import` command, ServicePerimeters can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:accesscontextmanager/servicePerimeters:ServicePerimeters default {{parent}}/servicePerimeters ```

```sh $ pulumi import gcp:accesscontextmanager/servicePerimeters:ServicePerimeters default {{parent}} ```

func GetServicePerimeters

func GetServicePerimeters(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServicePerimetersState, opts ...pulumi.ResourceOption) (*ServicePerimeters, error)

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

func NewServicePerimeters

func NewServicePerimeters(ctx *pulumi.Context,
	name string, args *ServicePerimetersArgs, opts ...pulumi.ResourceOption) (*ServicePerimeters, error)

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

func (*ServicePerimeters) ElementType

func (*ServicePerimeters) ElementType() reflect.Type

func (*ServicePerimeters) ToServicePerimetersOutput

func (i *ServicePerimeters) ToServicePerimetersOutput() ServicePerimetersOutput

func (*ServicePerimeters) ToServicePerimetersOutputWithContext

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

type ServicePerimetersArgs

type ServicePerimetersArgs struct {
	// The AccessPolicy this ServicePerimeter lives in.
	// Format: accessPolicies/{policy_id}
	//
	// ***
	Parent pulumi.StringInput
	// The desired Service Perimeters that should replace all existing Service Perimeters in the Access Policy.
	// Structure is documented below.
	ServicePerimeters ServicePerimetersServicePerimeterArrayInput
}

The set of arguments for constructing a ServicePerimeters resource.

func (ServicePerimetersArgs) ElementType

func (ServicePerimetersArgs) ElementType() reflect.Type

type ServicePerimetersArray

type ServicePerimetersArray []ServicePerimetersInput

func (ServicePerimetersArray) ElementType

func (ServicePerimetersArray) ElementType() reflect.Type

func (ServicePerimetersArray) ToServicePerimetersArrayOutput

func (i ServicePerimetersArray) ToServicePerimetersArrayOutput() ServicePerimetersArrayOutput

func (ServicePerimetersArray) ToServicePerimetersArrayOutputWithContext

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

type ServicePerimetersArrayInput

type ServicePerimetersArrayInput interface {
	pulumi.Input

	ToServicePerimetersArrayOutput() ServicePerimetersArrayOutput
	ToServicePerimetersArrayOutputWithContext(context.Context) ServicePerimetersArrayOutput
}

ServicePerimetersArrayInput is an input type that accepts ServicePerimetersArray and ServicePerimetersArrayOutput values. You can construct a concrete instance of `ServicePerimetersArrayInput` via:

ServicePerimetersArray{ ServicePerimetersArgs{...} }

type ServicePerimetersArrayOutput

type ServicePerimetersArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersArrayOutput) ElementType

func (ServicePerimetersArrayOutput) Index

func (ServicePerimetersArrayOutput) ToServicePerimetersArrayOutput

func (o ServicePerimetersArrayOutput) ToServicePerimetersArrayOutput() ServicePerimetersArrayOutput

func (ServicePerimetersArrayOutput) ToServicePerimetersArrayOutputWithContext

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

type ServicePerimetersInput

type ServicePerimetersInput interface {
	pulumi.Input

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

type ServicePerimetersMap

type ServicePerimetersMap map[string]ServicePerimetersInput

func (ServicePerimetersMap) ElementType

func (ServicePerimetersMap) ElementType() reflect.Type

func (ServicePerimetersMap) ToServicePerimetersMapOutput

func (i ServicePerimetersMap) ToServicePerimetersMapOutput() ServicePerimetersMapOutput

func (ServicePerimetersMap) ToServicePerimetersMapOutputWithContext

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

type ServicePerimetersMapInput

type ServicePerimetersMapInput interface {
	pulumi.Input

	ToServicePerimetersMapOutput() ServicePerimetersMapOutput
	ToServicePerimetersMapOutputWithContext(context.Context) ServicePerimetersMapOutput
}

ServicePerimetersMapInput is an input type that accepts ServicePerimetersMap and ServicePerimetersMapOutput values. You can construct a concrete instance of `ServicePerimetersMapInput` via:

ServicePerimetersMap{ "key": ServicePerimetersArgs{...} }

type ServicePerimetersMapOutput

type ServicePerimetersMapOutput struct{ *pulumi.OutputState }

func (ServicePerimetersMapOutput) ElementType

func (ServicePerimetersMapOutput) ElementType() reflect.Type

func (ServicePerimetersMapOutput) MapIndex

func (ServicePerimetersMapOutput) ToServicePerimetersMapOutput

func (o ServicePerimetersMapOutput) ToServicePerimetersMapOutput() ServicePerimetersMapOutput

func (ServicePerimetersMapOutput) ToServicePerimetersMapOutputWithContext

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

type ServicePerimetersOutput

type ServicePerimetersOutput struct{ *pulumi.OutputState }

func (ServicePerimetersOutput) ElementType

func (ServicePerimetersOutput) ElementType() reflect.Type

func (ServicePerimetersOutput) Parent

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

***

func (ServicePerimetersOutput) ServicePerimeters

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

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) ToServicePerimetersServicePerimeterOutput

func (i ServicePerimetersServicePerimeterArgs) ToServicePerimetersServicePerimeterOutput() ServicePerimetersServicePerimeterOutput

func (ServicePerimetersServicePerimeterArgs) ToServicePerimetersServicePerimeterOutputWithContext

func (i ServicePerimetersServicePerimeterArgs) ToServicePerimetersServicePerimeterOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterOutput

type ServicePerimetersServicePerimeterArray

type ServicePerimetersServicePerimeterArray []ServicePerimetersServicePerimeterInput

func (ServicePerimetersServicePerimeterArray) ElementType

func (ServicePerimetersServicePerimeterArray) ToServicePerimetersServicePerimeterArrayOutput

func (i ServicePerimetersServicePerimeterArray) ToServicePerimetersServicePerimeterArrayOutput() ServicePerimetersServicePerimeterArrayOutput

func (ServicePerimetersServicePerimeterArray) ToServicePerimetersServicePerimeterArrayOutputWithContext

func (i ServicePerimetersServicePerimeterArray) ToServicePerimetersServicePerimeterArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterArrayOutput

type ServicePerimetersServicePerimeterArrayInput

type ServicePerimetersServicePerimeterArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterArrayOutput() ServicePerimetersServicePerimeterArrayOutput
	ToServicePerimetersServicePerimeterArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterArrayOutput
}

ServicePerimetersServicePerimeterArrayInput is an input type that accepts ServicePerimetersServicePerimeterArray and ServicePerimetersServicePerimeterArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterArrayInput` via:

ServicePerimetersServicePerimeterArray{ ServicePerimetersServicePerimeterArgs{...} }

type ServicePerimetersServicePerimeterArrayOutput

type ServicePerimetersServicePerimeterArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterArrayOutput) ElementType

func (ServicePerimetersServicePerimeterArrayOutput) Index

func (ServicePerimetersServicePerimeterArrayOutput) ToServicePerimetersServicePerimeterArrayOutput

func (o ServicePerimetersServicePerimeterArrayOutput) ToServicePerimetersServicePerimeterArrayOutput() ServicePerimetersServicePerimeterArrayOutput

func (ServicePerimetersServicePerimeterArrayOutput) ToServicePerimetersServicePerimeterArrayOutputWithContext

func (o ServicePerimetersServicePerimeterArrayOutput) ToServicePerimetersServicePerimeterArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterArrayOutput

type ServicePerimetersServicePerimeterInput

type ServicePerimetersServicePerimeterInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterOutput() ServicePerimetersServicePerimeterOutput
	ToServicePerimetersServicePerimeterOutputWithContext(context.Context) ServicePerimetersServicePerimeterOutput
}

ServicePerimetersServicePerimeterInput is an input type that accepts ServicePerimetersServicePerimeterArgs and ServicePerimetersServicePerimeterOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterInput` via:

ServicePerimetersServicePerimeterArgs{...}

type ServicePerimetersServicePerimeterOutput

type ServicePerimetersServicePerimeterOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterOutput) CreateTime

(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) 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) ToServicePerimetersServicePerimeterSpecOutput

func (i ServicePerimetersServicePerimeterSpecArgs) ToServicePerimetersServicePerimeterSpecOutput() ServicePerimetersServicePerimeterSpecOutput

func (ServicePerimetersServicePerimeterSpecArgs) ToServicePerimetersServicePerimeterSpecOutputWithContext

func (i ServicePerimetersServicePerimeterSpecArgs) ToServicePerimetersServicePerimeterSpecOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecOutput

func (ServicePerimetersServicePerimeterSpecArgs) ToServicePerimetersServicePerimeterSpecPtrOutput

func (i ServicePerimetersServicePerimeterSpecArgs) ToServicePerimetersServicePerimeterSpecPtrOutput() ServicePerimetersServicePerimeterSpecPtrOutput

func (ServicePerimetersServicePerimeterSpecArgs) ToServicePerimetersServicePerimeterSpecPtrOutputWithContext

func (i ServicePerimetersServicePerimeterSpecArgs) ToServicePerimetersServicePerimeterSpecPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecPtrOutput

type ServicePerimetersServicePerimeterSpecEgressPolicy

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

type ServicePerimetersServicePerimeterSpecEgressPolicyArgs

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyArgs) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyOutput

func (i ServicePerimetersServicePerimeterSpecEgressPolicyArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyOutput() ServicePerimetersServicePerimeterSpecEgressPolicyOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyOutputWithContext

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

type ServicePerimetersServicePerimeterSpecEgressPolicyArray

type ServicePerimetersServicePerimeterSpecEgressPolicyArray []ServicePerimetersServicePerimeterSpecEgressPolicyInput

func (ServicePerimetersServicePerimeterSpecEgressPolicyArray) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyArray) ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput

func (i ServicePerimetersServicePerimeterSpecEgressPolicyArray) ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput() ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyArray) ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutputWithContext

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

type ServicePerimetersServicePerimeterSpecEgressPolicyArrayInput

type ServicePerimetersServicePerimeterSpecEgressPolicyArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput() ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyArrayInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyArray and ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyArrayInput` via:

ServicePerimetersServicePerimeterSpecEgressPolicyArray{ ServicePerimetersServicePerimeterSpecEgressPolicyArgs{...} }

type ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput) Index

func (ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyArrayOutputWithContext

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

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFrom

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFrom struct {
	// 'A list of identities that are allowed access through this `EgressPolicy`.
	// To specify an identity or identity group, use the IAM v1 format
	// specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
	// The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
	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"`
	// Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`.
	// Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
	SourceRestriction *string `pulumi:"sourceRestriction"`
	// Sources that this EgressPolicy authorizes access from.
	// Structure is documented below.
	Sources []ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSource `pulumi:"sources"`
}

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs struct {
	// 'A list of identities that are allowed access through this `EgressPolicy`.
	// To specify an identity or identity group, use the IAM v1 format
	// specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
	// The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
	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"`
	// Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`.
	// Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
	SourceRestriction pulumi.StringPtrInput `pulumi:"sourceRestriction"`
	// Sources that this EgressPolicy authorizes access from.
	// Structure is documented below.
	Sources ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArrayInput `pulumi:"sources"`
}

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutputWithContext

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext

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

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromInput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput() ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs and ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromInput` via:

ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromArgs{...}

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) Identities

'A list of identities that are allowed access through this `EgressPolicy`. To specify an identity or identity group, use the IAM v1 format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1). The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'

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) SourceRestriction added in v7.1.0

Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`. Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromOutput) Sources added in v7.1.0

Sources that this EgressPolicy authorizes access from. Structure is documented below.

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`. To specify an identity or identity group, use the IAM v1 format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1). The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'

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) SourceRestriction added in v7.1.0

Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`. Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput) Sources added in v7.1.0

Sources that this EgressPolicy authorizes access from. Structure is documented below.

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromPtrOutputWithContext

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

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSource added in v7.1.0

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSource struct {
	// An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
	AccessLevel *string `pulumi:"accessLevel"`
}

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArgs added in v7.1.0

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArgs struct {
	// An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
	AccessLevel pulumi.StringPtrInput `pulumi:"accessLevel"`
}

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArgs) ElementType added in v7.1.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceOutput added in v7.1.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceOutputWithContext added in v7.1.0

func (i ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArray added in v7.1.0

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArray []ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceInput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArray) ElementType added in v7.1.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArray) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput added in v7.1.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArray) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutputWithContext added in v7.1.0

func (i ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArray) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArrayInput added in v7.1.0

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput() ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArrayInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArray and ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArrayInput` via:

ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArray{ ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArgs{...} }

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput added in v7.1.0

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput) ElementType added in v7.1.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput) Index added in v7.1.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput added in v7.1.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArrayOutputWithContext added in v7.1.0

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceInput added in v7.1.0

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceOutput() ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArgs and ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceInput` via:

ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceArgs{...}

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceOutput added in v7.1.0

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceOutput) AccessLevel added in v7.1.0

An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceOutput) ElementType added in v7.1.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceOutput added in v7.1.0

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceOutputWithContext added in v7.1.0

func (o ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressFromSourceOutput

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) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutputWithContext

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext

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

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToInput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput() ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs and ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyEgressToInput` via:

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToArgs{...}

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperation

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

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutputWithContext

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

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray []ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationInput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutputWithContext

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

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayInput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput() ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray and ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayInput` via:

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArray{ ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs{...} }

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArrayOutputWithContext

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationInput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput() ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs and ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationInput` via:

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationArgs{...}

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelector

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

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutputWithContext

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray []ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayInput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput() ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray and ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayInput` via:

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArray{ ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs{...} }

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput() ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs and ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorInput` via:

ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorArgs{...}

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) Method

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) Permission

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationMethodSelectorOutputWithContext

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput) MethodSelectors

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput) ServiceName

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToOperationOutputWithContext

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToOutput) ExternalResources

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) 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

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) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyEgressToPtrOutputWithContext

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

type ServicePerimetersServicePerimeterSpecEgressPolicyInput

type ServicePerimetersServicePerimeterSpecEgressPolicyInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecEgressPolicyOutput() ServicePerimetersServicePerimeterSpecEgressPolicyOutput
	ToServicePerimetersServicePerimeterSpecEgressPolicyOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecEgressPolicyOutput
}

ServicePerimetersServicePerimeterSpecEgressPolicyInput is an input type that accepts ServicePerimetersServicePerimeterSpecEgressPolicyArgs and ServicePerimetersServicePerimeterSpecEgressPolicyOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecEgressPolicyInput` via:

ServicePerimetersServicePerimeterSpecEgressPolicyArgs{...}

type ServicePerimetersServicePerimeterSpecEgressPolicyOutput

type ServicePerimetersServicePerimeterSpecEgressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecEgressPolicyOutput) EgressFrom

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyOutput) EgressTo

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

func (ServicePerimetersServicePerimeterSpecEgressPolicyOutput) ElementType

func (ServicePerimetersServicePerimeterSpecEgressPolicyOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyOutput

func (ServicePerimetersServicePerimeterSpecEgressPolicyOutput) ToServicePerimetersServicePerimeterSpecEgressPolicyOutputWithContext

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

type ServicePerimetersServicePerimeterSpecIngressPolicy

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

type ServicePerimetersServicePerimeterSpecIngressPolicyArgs

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyArgs) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyOutputWithContext

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

type ServicePerimetersServicePerimeterSpecIngressPolicyArray

type ServicePerimetersServicePerimeterSpecIngressPolicyArray []ServicePerimetersServicePerimeterSpecIngressPolicyInput

func (ServicePerimetersServicePerimeterSpecIngressPolicyArray) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyArray) ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput

func (i ServicePerimetersServicePerimeterSpecIngressPolicyArray) ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput() ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyArray) ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutputWithContext

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

type ServicePerimetersServicePerimeterSpecIngressPolicyArrayInput

type ServicePerimetersServicePerimeterSpecIngressPolicyArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput() ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyArrayInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyArray and ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyArrayInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyArray{ ServicePerimetersServicePerimeterSpecIngressPolicyArgs{...} }

type ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput) Index

func (ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyArrayOutputWithContext

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

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFrom

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFrom struct {
	// 'A list of identities that are allowed access through this `IngressPolicy`.
	// To specify an identity or identity group, use the IAM v1 format
	// specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
	// The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
	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 `IngressPolicy`.
	// To specify an identity or identity group, use the IAM v1 format
	// specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
	// The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
	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) 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 `IngressPolicy`. To specify an identity or identity group, use the IAM v1 format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1). The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'

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) 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 `IngressPolicy`. To specify an identity or identity group, use the IAM v1 format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1). The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'

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) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromPtrOutputWithContext

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

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSource

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSource struct {
	// An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
	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 allows resources outside the ServicePerimeter to be accessed from the inside.
	AccessLevel pulumi.StringPtrInput `pulumi:"accessLevel"`
	// A Google Cloud resource that is allowed to ingress the perimeter.
	// Requests from these resources will be allowed to access perimeter data.
	// Currently only projects are allowed. Format `projects/{project_number}`
	// The project may be in any Google Cloud organization, not just the
	// organization that the perimeter is defined in. `*` is not allowed, the case
	// of allowing all Google Cloud resources only is not supported.
	Resource pulumi.StringPtrInput `pulumi:"resource"`
}

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutputWithContext

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

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray []ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceInput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutputWithContext

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

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray and ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArray{ ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs{...} }

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArrayOutputWithContext

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs and ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceArgs{...}

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput) AccessLevel

An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput) Resource

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressFromSourceOutputWithContext

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressTo

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressTo struct {
	// A list of `ApiOperations` 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) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutputWithContext

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext

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

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs and ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressToInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToArgs{...}

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperation

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

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutputWithContext

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

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray []ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationInput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutputWithContext

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

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray and ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArray{ ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs{...} }

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArrayOutputWithContext

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs and ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationArgs{...}

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelector

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

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutputWithContext

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray []ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray and ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArray{ ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs{...} }

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput() ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs and ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorArgs{...}

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) Method

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) Permission

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationMethodSelectorOutputWithContext

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput) MethodSelectors

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput) ServiceName

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToOperationOutputWithContext

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToOutput) Operations

A list of `ApiOperations` 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) 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) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyIngressToPtrOutputWithContext

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

type ServicePerimetersServicePerimeterSpecIngressPolicyInput

type ServicePerimetersServicePerimeterSpecIngressPolicyInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecIngressPolicyOutput() ServicePerimetersServicePerimeterSpecIngressPolicyOutput
	ToServicePerimetersServicePerimeterSpecIngressPolicyOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyOutput
}

ServicePerimetersServicePerimeterSpecIngressPolicyInput is an input type that accepts ServicePerimetersServicePerimeterSpecIngressPolicyArgs and ServicePerimetersServicePerimeterSpecIngressPolicyOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecIngressPolicyInput` via:

ServicePerimetersServicePerimeterSpecIngressPolicyArgs{...}

type ServicePerimetersServicePerimeterSpecIngressPolicyOutput

type ServicePerimetersServicePerimeterSpecIngressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecIngressPolicyOutput) ElementType

func (ServicePerimetersServicePerimeterSpecIngressPolicyOutput) IngressFrom

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyOutput) IngressTo

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

func (ServicePerimetersServicePerimeterSpecIngressPolicyOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyOutput

func (ServicePerimetersServicePerimeterSpecIngressPolicyOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyOutputWithContext

func (o ServicePerimetersServicePerimeterSpecIngressPolicyOutput) ToServicePerimetersServicePerimeterSpecIngressPolicyOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecIngressPolicyOutput

type ServicePerimetersServicePerimeterSpecInput

type ServicePerimetersServicePerimeterSpecInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecOutput() ServicePerimetersServicePerimeterSpecOutput
	ToServicePerimetersServicePerimeterSpecOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecOutput
}

ServicePerimetersServicePerimeterSpecInput is an input type that accepts ServicePerimetersServicePerimeterSpecArgs and ServicePerimetersServicePerimeterSpecOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecInput` via:

ServicePerimetersServicePerimeterSpecArgs{...}

type ServicePerimetersServicePerimeterSpecOutput

type ServicePerimetersServicePerimeterSpecOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecOutput) AccessLevels

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

func (ServicePerimetersServicePerimeterSpecOutput) EgressPolicies

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

func (ServicePerimetersServicePerimeterSpecOutput) ElementType

func (ServicePerimetersServicePerimeterSpecOutput) IngressPolicies

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

func (ServicePerimetersServicePerimeterSpecOutput) Resources

A list of 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) 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) ToServicePerimetersServicePerimeterSpecPtrOutput

func (o ServicePerimetersServicePerimeterSpecPtrOutput) ToServicePerimetersServicePerimeterSpecPtrOutput() ServicePerimetersServicePerimeterSpecPtrOutput

func (ServicePerimetersServicePerimeterSpecPtrOutput) ToServicePerimetersServicePerimeterSpecPtrOutputWithContext

func (o ServicePerimetersServicePerimeterSpecPtrOutput) ToServicePerimetersServicePerimeterSpecPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecPtrOutput

func (ServicePerimetersServicePerimeterSpecPtrOutput) VpcAccessibleServices

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

type ServicePerimetersServicePerimeterSpecVpcAccessibleServices

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

type ServicePerimetersServicePerimeterSpecVpcAccessibleServicesArgs

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

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesArgs) ElementType

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesArgs) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesArgs) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutputWithContext

func (i ServicePerimetersServicePerimeterSpecVpcAccessibleServicesArgs) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesArgs) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesArgs) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutputWithContext

func (i ServicePerimetersServicePerimeterSpecVpcAccessibleServicesArgs) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput

type ServicePerimetersServicePerimeterSpecVpcAccessibleServicesInput

type ServicePerimetersServicePerimeterSpecVpcAccessibleServicesInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput() ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput
	ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput
}

ServicePerimetersServicePerimeterSpecVpcAccessibleServicesInput is an input type that accepts ServicePerimetersServicePerimeterSpecVpcAccessibleServicesArgs and ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecVpcAccessibleServicesInput` via:

ServicePerimetersServicePerimeterSpecVpcAccessibleServicesArgs{...}

type ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput

type ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput) AllowedServices

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

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput) ElementType

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput) EnableRestriction

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

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutputWithContext

func (o ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutputWithContext

func (o ServicePerimetersServicePerimeterSpecVpcAccessibleServicesOutput) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput

type ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrInput

type ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput() ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput
	ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutputWithContext(context.Context) ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput
}

ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrInput is an input type that accepts ServicePerimetersServicePerimeterSpecVpcAccessibleServicesArgs, ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtr and ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrInput` via:

        ServicePerimetersServicePerimeterSpecVpcAccessibleServicesArgs{...}

or:

        nil

type ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput

type ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput) AllowedServices

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

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput) Elem

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput) ElementType

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput) EnableRestriction

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

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput

func (ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutputWithContext

func (o ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput) ToServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterSpecVpcAccessibleServicesPtrOutput

type ServicePerimetersServicePerimeterStatus

type ServicePerimetersServicePerimeterStatus struct {
	// A list of AccessLevel resource names that allow resources within
	// the ServicePerimeter to be accessed from the internet.
	// AccessLevels listed must be in the same policy as this
	// ServicePerimeter. Referencing a nonexistent AccessLevel is a
	// syntax error. If no AccessLevel names are listed, resources within
	// the perimeter can only be accessed via GCP calls with request
	// origins within the perimeter. For Service Perimeter Bridge, must
	// be empty.
	// Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}
	AccessLevels []string `pulumi:"accessLevels"`
	// List of EgressPolicies to apply to the perimeter. A perimeter may
	// have multiple EgressPolicies, each of which is evaluated separately.
	// Access is granted if any EgressPolicy grants it. Must be empty for
	// a perimeter bridge.
	// Structure is documented below.
	EgressPolicies []ServicePerimetersServicePerimeterStatusEgressPolicy `pulumi:"egressPolicies"`
	// List of `IngressPolicies` to apply to the perimeter. A perimeter may
	// have multiple `IngressPolicies`, each of which is evaluated
	// separately. Access is granted if any `Ingress Policy` grants it.
	// Must be empty for a perimeter bridge.
	// Structure is documented below.
	IngressPolicies []ServicePerimetersServicePerimeterStatusIngressPolicy `pulumi:"ingressPolicies"`
	// A list of 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) ToServicePerimetersServicePerimeterStatusOutput

func (i ServicePerimetersServicePerimeterStatusArgs) ToServicePerimetersServicePerimeterStatusOutput() ServicePerimetersServicePerimeterStatusOutput

func (ServicePerimetersServicePerimeterStatusArgs) ToServicePerimetersServicePerimeterStatusOutputWithContext

func (i ServicePerimetersServicePerimeterStatusArgs) ToServicePerimetersServicePerimeterStatusOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusOutput

func (ServicePerimetersServicePerimeterStatusArgs) ToServicePerimetersServicePerimeterStatusPtrOutput

func (i ServicePerimetersServicePerimeterStatusArgs) ToServicePerimetersServicePerimeterStatusPtrOutput() ServicePerimetersServicePerimeterStatusPtrOutput

func (ServicePerimetersServicePerimeterStatusArgs) ToServicePerimetersServicePerimeterStatusPtrOutputWithContext

func (i ServicePerimetersServicePerimeterStatusArgs) ToServicePerimetersServicePerimeterStatusPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusPtrOutput

type ServicePerimetersServicePerimeterStatusEgressPolicy

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

type ServicePerimetersServicePerimeterStatusEgressPolicyArgs

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyArgs) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyOutputWithContext

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

type ServicePerimetersServicePerimeterStatusEgressPolicyArray

type ServicePerimetersServicePerimeterStatusEgressPolicyArray []ServicePerimetersServicePerimeterStatusEgressPolicyInput

func (ServicePerimetersServicePerimeterStatusEgressPolicyArray) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyArray) ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput

func (i ServicePerimetersServicePerimeterStatusEgressPolicyArray) ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput() ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyArray) ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutputWithContext

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

type ServicePerimetersServicePerimeterStatusEgressPolicyArrayInput

type ServicePerimetersServicePerimeterStatusEgressPolicyArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput() ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyArrayInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyArray and ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyArrayInput` via:

ServicePerimetersServicePerimeterStatusEgressPolicyArray{ ServicePerimetersServicePerimeterStatusEgressPolicyArgs{...} }

type ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput) Index

func (ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyArrayOutputWithContext

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

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFrom

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFrom struct {
	// 'A list of identities that are allowed access through this `EgressPolicy`.
	// To specify an identity or identity group, use the IAM v1 format
	// specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
	// The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
	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"`
	// Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`.
	// Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
	SourceRestriction *string `pulumi:"sourceRestriction"`
	// Sources that this EgressPolicy authorizes access from.
	// Structure is documented below.
	Sources []ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSource `pulumi:"sources"`
}

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs struct {
	// 'A list of identities that are allowed access through this `EgressPolicy`.
	// To specify an identity or identity group, use the IAM v1 format
	// specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
	// The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
	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"`
	// Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`.
	// Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.
	SourceRestriction pulumi.StringPtrInput `pulumi:"sourceRestriction"`
	// Sources that this EgressPolicy authorizes access from.
	// Structure is documented below.
	Sources ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArrayInput `pulumi:"sources"`
}

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutputWithContext

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext

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

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromInput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput() ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs and ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromInput` via:

ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromArgs{...}

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) Identities

'A list of identities that are allowed access through this `EgressPolicy`. To specify an identity or identity group, use the IAM v1 format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1). The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'

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) SourceRestriction added in v7.1.0

Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`. Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromOutput) Sources added in v7.1.0

Sources that this EgressPolicy authorizes access from. Structure is documented below.

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`. To specify an identity or identity group, use the IAM v1 format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1). The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'

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) SourceRestriction added in v7.1.0

Whether to enforce traffic restrictions based on `sources` field. If the `sources` field is non-empty, then this field must be set to `SOURCE_RESTRICTION_ENABLED`. Possible values are: `SOURCE_RESTRICTION_UNSPECIFIED`, `SOURCE_RESTRICTION_ENABLED`, `SOURCE_RESTRICTION_DISABLED`.

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput) Sources added in v7.1.0

Sources that this EgressPolicy authorizes access from. Structure is documented below.

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromPtrOutputWithContext

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

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSource added in v7.1.0

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSource struct {
	// An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
	AccessLevel *string `pulumi:"accessLevel"`
}

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArgs added in v7.1.0

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArgs struct {
	// An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
	AccessLevel pulumi.StringPtrInput `pulumi:"accessLevel"`
}

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArgs) ElementType added in v7.1.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceOutput added in v7.1.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceOutputWithContext added in v7.1.0

func (i ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArray added in v7.1.0

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArray []ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceInput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArray) ElementType added in v7.1.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArray) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput added in v7.1.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArray) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutputWithContext added in v7.1.0

func (i ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArray) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArrayInput added in v7.1.0

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput() ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArrayInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArray and ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArrayInput` via:

ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArray{ ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArgs{...} }

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput added in v7.1.0

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput) ElementType added in v7.1.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput) Index added in v7.1.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput added in v7.1.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArrayOutputWithContext added in v7.1.0

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceInput added in v7.1.0

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceOutput() ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArgs and ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceInput` via:

ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceArgs{...}

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceOutput added in v7.1.0

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceOutput) AccessLevel added in v7.1.0

An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceOutput) ElementType added in v7.1.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceOutput added in v7.1.0

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressFromSourceOutputWithContext added in v7.1.0

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) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutputWithContext

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext

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

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToInput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput() ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs and ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyEgressToInput` via:

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToArgs{...}

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperation

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

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutputWithContext

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

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray []ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationInput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutputWithContext

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

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayInput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput() ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray and ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayInput` via:

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArray{ ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs{...} }

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArrayOutputWithContext

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationInput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput() ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs and ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationInput` via:

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationArgs{...}

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelector

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

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutputWithContext

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray []ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayInput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput() ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray and ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayInput` via:

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArray{ ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs{...} }

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput() ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs and ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorInput` via:

ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorArgs{...}

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) Method

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) Permission

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationMethodSelectorOutputWithContext

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput) MethodSelectors

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput) ServiceName

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToOperationOutputWithContext

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToOutput) ExternalResources

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) 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

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) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyEgressToPtrOutputWithContext

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

type ServicePerimetersServicePerimeterStatusEgressPolicyInput

type ServicePerimetersServicePerimeterStatusEgressPolicyInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusEgressPolicyOutput() ServicePerimetersServicePerimeterStatusEgressPolicyOutput
	ToServicePerimetersServicePerimeterStatusEgressPolicyOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusEgressPolicyOutput
}

ServicePerimetersServicePerimeterStatusEgressPolicyInput is an input type that accepts ServicePerimetersServicePerimeterStatusEgressPolicyArgs and ServicePerimetersServicePerimeterStatusEgressPolicyOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusEgressPolicyInput` via:

ServicePerimetersServicePerimeterStatusEgressPolicyArgs{...}

type ServicePerimetersServicePerimeterStatusEgressPolicyOutput

type ServicePerimetersServicePerimeterStatusEgressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusEgressPolicyOutput) EgressFrom

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyOutput) EgressTo

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

func (ServicePerimetersServicePerimeterStatusEgressPolicyOutput) ElementType

func (ServicePerimetersServicePerimeterStatusEgressPolicyOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyOutput

func (ServicePerimetersServicePerimeterStatusEgressPolicyOutput) ToServicePerimetersServicePerimeterStatusEgressPolicyOutputWithContext

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

type ServicePerimetersServicePerimeterStatusIngressPolicy

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

type ServicePerimetersServicePerimeterStatusIngressPolicyArgs

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyArgs) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyOutputWithContext

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

type ServicePerimetersServicePerimeterStatusIngressPolicyArray

type ServicePerimetersServicePerimeterStatusIngressPolicyArray []ServicePerimetersServicePerimeterStatusIngressPolicyInput

func (ServicePerimetersServicePerimeterStatusIngressPolicyArray) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyArray) ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput

func (i ServicePerimetersServicePerimeterStatusIngressPolicyArray) ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput() ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyArray) ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutputWithContext

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

type ServicePerimetersServicePerimeterStatusIngressPolicyArrayInput

type ServicePerimetersServicePerimeterStatusIngressPolicyArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput() ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyArrayInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyArray and ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyArrayInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyArray{ ServicePerimetersServicePerimeterStatusIngressPolicyArgs{...} }

type ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput) Index

func (ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyArrayOutputWithContext

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

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFrom

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFrom struct {
	// 'A list of identities that are allowed access through this `IngressPolicy`.
	// To specify an identity or identity group, use the IAM v1 format
	// specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
	// The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
	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 `IngressPolicy`.
	// To specify an identity or identity group, use the IAM v1 format
	// specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1).
	// The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'
	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) 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 `IngressPolicy`. To specify an identity or identity group, use the IAM v1 format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1). The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'

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) 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 `IngressPolicy`. To specify an identity or identity group, use the IAM v1 format specified [here](https://cloud.google.com/iam/docs/principal-identifiers.md#v1). The following prefixes are supprted: user, group, serviceAccount, principal, and principalSet.'

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) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromPtrOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSource

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSource struct {
	// An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.
	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 allows resources outside the ServicePerimeter to be accessed from the inside.
	AccessLevel pulumi.StringPtrInput `pulumi:"accessLevel"`
	// A Google Cloud resource that is allowed to ingress the perimeter.
	// Requests from these resources will be allowed to access perimeter data.
	// Currently only projects are allowed. Format `projects/{project_number}`
	// The project may be in any Google Cloud organization, not just the
	// organization that the perimeter is defined in. `*` is not allowed, the case
	// of allowing all Google Cloud resources only is not supported.
	Resource pulumi.StringPtrInput `pulumi:"resource"`
}

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutputWithContext

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

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray []ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceInput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutputWithContext

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

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray and ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArray{ ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs{...} }

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArrayOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs and ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceArgs{...}

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput) AccessLevel

An AccessLevel resource name that allows resources outside the ServicePerimeter to be accessed from the inside.

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput) Resource

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressFromSourceOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressTo

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressTo struct {
	// A list of `ApiOperations` 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) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutputWithContext

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext

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

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs and ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressToInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToArgs{...}

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperation

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

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray []ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationInput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutputWithContext

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

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray and ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArray{ ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs{...} }

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArrayOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs and ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationArgs{...}

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelector

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

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray []ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray and ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArray{ ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs{...} }

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArrayOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput() ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs and ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorArgs{...}

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) Method

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) Permission

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationMethodSelectorOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput) MethodSelectors

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput) ServiceName

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToOperationOutputWithContext

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToOutput) Operations

A list of `ApiOperations` 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) 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) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyIngressToPtrOutputWithContext

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

type ServicePerimetersServicePerimeterStatusIngressPolicyInput

type ServicePerimetersServicePerimeterStatusIngressPolicyInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusIngressPolicyOutput() ServicePerimetersServicePerimeterStatusIngressPolicyOutput
	ToServicePerimetersServicePerimeterStatusIngressPolicyOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyOutput
}

ServicePerimetersServicePerimeterStatusIngressPolicyInput is an input type that accepts ServicePerimetersServicePerimeterStatusIngressPolicyArgs and ServicePerimetersServicePerimeterStatusIngressPolicyOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusIngressPolicyInput` via:

ServicePerimetersServicePerimeterStatusIngressPolicyArgs{...}

type ServicePerimetersServicePerimeterStatusIngressPolicyOutput

type ServicePerimetersServicePerimeterStatusIngressPolicyOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusIngressPolicyOutput) ElementType

func (ServicePerimetersServicePerimeterStatusIngressPolicyOutput) IngressFrom

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyOutput) IngressTo

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

func (ServicePerimetersServicePerimeterStatusIngressPolicyOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyOutput

func (ServicePerimetersServicePerimeterStatusIngressPolicyOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyOutputWithContext

func (o ServicePerimetersServicePerimeterStatusIngressPolicyOutput) ToServicePerimetersServicePerimeterStatusIngressPolicyOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusIngressPolicyOutput

type ServicePerimetersServicePerimeterStatusInput

type ServicePerimetersServicePerimeterStatusInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusOutput() ServicePerimetersServicePerimeterStatusOutput
	ToServicePerimetersServicePerimeterStatusOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusOutput
}

ServicePerimetersServicePerimeterStatusInput is an input type that accepts ServicePerimetersServicePerimeterStatusArgs and ServicePerimetersServicePerimeterStatusOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusInput` via:

ServicePerimetersServicePerimeterStatusArgs{...}

type ServicePerimetersServicePerimeterStatusOutput

type ServicePerimetersServicePerimeterStatusOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusOutput) AccessLevels

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

func (ServicePerimetersServicePerimeterStatusOutput) EgressPolicies

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

func (ServicePerimetersServicePerimeterStatusOutput) ElementType

func (ServicePerimetersServicePerimeterStatusOutput) IngressPolicies

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

func (ServicePerimetersServicePerimeterStatusOutput) Resources

A list of 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) 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) ToServicePerimetersServicePerimeterStatusPtrOutput

func (o ServicePerimetersServicePerimeterStatusPtrOutput) ToServicePerimetersServicePerimeterStatusPtrOutput() ServicePerimetersServicePerimeterStatusPtrOutput

func (ServicePerimetersServicePerimeterStatusPtrOutput) ToServicePerimetersServicePerimeterStatusPtrOutputWithContext

func (o ServicePerimetersServicePerimeterStatusPtrOutput) ToServicePerimetersServicePerimeterStatusPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusPtrOutput

func (ServicePerimetersServicePerimeterStatusPtrOutput) VpcAccessibleServices

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

type ServicePerimetersServicePerimeterStatusVpcAccessibleServices

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

type ServicePerimetersServicePerimeterStatusVpcAccessibleServicesArgs

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

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesArgs) ElementType

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesArgs) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesArgs) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutputWithContext

func (i ServicePerimetersServicePerimeterStatusVpcAccessibleServicesArgs) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesArgs) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesArgs) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext

func (i ServicePerimetersServicePerimeterStatusVpcAccessibleServicesArgs) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput

type ServicePerimetersServicePerimeterStatusVpcAccessibleServicesInput

type ServicePerimetersServicePerimeterStatusVpcAccessibleServicesInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput() ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput
	ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput
}

ServicePerimetersServicePerimeterStatusVpcAccessibleServicesInput is an input type that accepts ServicePerimetersServicePerimeterStatusVpcAccessibleServicesArgs and ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusVpcAccessibleServicesInput` via:

ServicePerimetersServicePerimeterStatusVpcAccessibleServicesArgs{...}

type ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput

type ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput) AllowedServices

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

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput) ElementType

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput) EnableRestriction

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

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutputWithContext

func (o ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext

func (o ServicePerimetersServicePerimeterStatusVpcAccessibleServicesOutput) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput

type ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrInput

type ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrInput interface {
	pulumi.Input

	ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput() ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput
	ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext(context.Context) ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput
}

ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrInput is an input type that accepts ServicePerimetersServicePerimeterStatusVpcAccessibleServicesArgs, ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtr and ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput values. You can construct a concrete instance of `ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrInput` via:

        ServicePerimetersServicePerimeterStatusVpcAccessibleServicesArgs{...}

or:

        nil

type ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput

type ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput struct{ *pulumi.OutputState }

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput) AllowedServices

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

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput) Elem

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput) ElementType

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput) EnableRestriction

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

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput

func (ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext

func (o ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput) ToServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutputWithContext(ctx context.Context) ServicePerimetersServicePerimeterStatusVpcAccessibleServicesPtrOutput

type ServicePerimetersState

type ServicePerimetersState struct {
	// The AccessPolicy this ServicePerimeter lives in.
	// Format: accessPolicies/{policy_id}
	//
	// ***
	Parent pulumi.StringPtrInput
	// The desired Service Perimeters that should replace all existing Service Perimeters in the Access Policy.
	// Structure is documented below.
	ServicePerimeters ServicePerimetersServicePerimeterArrayInput
}

func (ServicePerimetersState) ElementType

func (ServicePerimetersState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL