1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. accesscontextmanager
  5. ServicePerimeterIngressPolicy
Google Cloud v8.25.1 published on Wednesday, Apr 9, 2025 by Pulumi

gcp.accesscontextmanager.ServicePerimeterIngressPolicy

Explore with Pulumi AI

Manage a single IngressPolicy in the status (enforced) configuration for a service 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 create_before_destroy = true to this resource. Note: If this resource is used alongside a gcp.accesscontextmanager.ServicePerimeter resource, the service perimeter resource must have a lifecycle block with ignore_changes = [status[0].ingress_policies] so they don’t fight over which ingress rules should be in the policy.

To get more information about ServicePerimeterIngressPolicy, see:

Example Usage

Create ServicePerimeterIngressPolicy Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new ServicePerimeterIngressPolicy(name: string, args: ServicePerimeterIngressPolicyArgs, opts?: CustomResourceOptions);
@overload
def ServicePerimeterIngressPolicy(resource_name: str,
                                  args: ServicePerimeterIngressPolicyArgs,
                                  opts: Optional[ResourceOptions] = None)

@overload
def ServicePerimeterIngressPolicy(resource_name: str,
                                  opts: Optional[ResourceOptions] = None,
                                  perimeter: Optional[str] = None,
                                  ingress_from: Optional[ServicePerimeterIngressPolicyIngressFromArgs] = None,
                                  ingress_to: Optional[ServicePerimeterIngressPolicyIngressToArgs] = None,
                                  title: Optional[str] = None)
func NewServicePerimeterIngressPolicy(ctx *Context, name string, args ServicePerimeterIngressPolicyArgs, opts ...ResourceOption) (*ServicePerimeterIngressPolicy, error)
public ServicePerimeterIngressPolicy(string name, ServicePerimeterIngressPolicyArgs args, CustomResourceOptions? opts = null)
public ServicePerimeterIngressPolicy(String name, ServicePerimeterIngressPolicyArgs args)
public ServicePerimeterIngressPolicy(String name, ServicePerimeterIngressPolicyArgs args, CustomResourceOptions options)
type: gcp:accesscontextmanager:ServicePerimeterIngressPolicy
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. ServicePerimeterIngressPolicyArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. ServicePerimeterIngressPolicyArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. ServicePerimeterIngressPolicyArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. ServicePerimeterIngressPolicyArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. ServicePerimeterIngressPolicyArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var servicePerimeterIngressPolicyResource = new Gcp.AccessContextManager.ServicePerimeterIngressPolicy("servicePerimeterIngressPolicyResource", new()
{
    Perimeter = "string",
    IngressFrom = new Gcp.AccessContextManager.Inputs.ServicePerimeterIngressPolicyIngressFromArgs
    {
        Identities = new[]
        {
            "string",
        },
        IdentityType = "string",
        Sources = new[]
        {
            new Gcp.AccessContextManager.Inputs.ServicePerimeterIngressPolicyIngressFromSourceArgs
            {
                AccessLevel = "string",
                Resource = "string",
            },
        },
    },
    IngressTo = new Gcp.AccessContextManager.Inputs.ServicePerimeterIngressPolicyIngressToArgs
    {
        Operations = new[]
        {
            new Gcp.AccessContextManager.Inputs.ServicePerimeterIngressPolicyIngressToOperationArgs
            {
                MethodSelectors = new[]
                {
                    new Gcp.AccessContextManager.Inputs.ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArgs
                    {
                        Method = "string",
                        Permission = "string",
                    },
                },
                ServiceName = "string",
            },
        },
        Resources = new[]
        {
            "string",
        },
        Roles = new[]
        {
            "string",
        },
    },
    Title = "string",
});
Copy
example, err := accesscontextmanager.NewServicePerimeterIngressPolicy(ctx, "servicePerimeterIngressPolicyResource", &accesscontextmanager.ServicePerimeterIngressPolicyArgs{
	Perimeter: pulumi.String("string"),
	IngressFrom: &accesscontextmanager.ServicePerimeterIngressPolicyIngressFromArgs{
		Identities: pulumi.StringArray{
			pulumi.String("string"),
		},
		IdentityType: pulumi.String("string"),
		Sources: accesscontextmanager.ServicePerimeterIngressPolicyIngressFromSourceArray{
			&accesscontextmanager.ServicePerimeterIngressPolicyIngressFromSourceArgs{
				AccessLevel: pulumi.String("string"),
				Resource:    pulumi.String("string"),
			},
		},
	},
	IngressTo: &accesscontextmanager.ServicePerimeterIngressPolicyIngressToArgs{
		Operations: accesscontextmanager.ServicePerimeterIngressPolicyIngressToOperationArray{
			&accesscontextmanager.ServicePerimeterIngressPolicyIngressToOperationArgs{
				MethodSelectors: accesscontextmanager.ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArray{
					&accesscontextmanager.ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArgs{
						Method:     pulumi.String("string"),
						Permission: pulumi.String("string"),
					},
				},
				ServiceName: pulumi.String("string"),
			},
		},
		Resources: pulumi.StringArray{
			pulumi.String("string"),
		},
		Roles: pulumi.StringArray{
			pulumi.String("string"),
		},
	},
	Title: pulumi.String("string"),
})
Copy
var servicePerimeterIngressPolicyResource = new ServicePerimeterIngressPolicy("servicePerimeterIngressPolicyResource", ServicePerimeterIngressPolicyArgs.builder()
    .perimeter("string")
    .ingressFrom(ServicePerimeterIngressPolicyIngressFromArgs.builder()
        .identities("string")
        .identityType("string")
        .sources(ServicePerimeterIngressPolicyIngressFromSourceArgs.builder()
            .accessLevel("string")
            .resource("string")
            .build())
        .build())
    .ingressTo(ServicePerimeterIngressPolicyIngressToArgs.builder()
        .operations(ServicePerimeterIngressPolicyIngressToOperationArgs.builder()
            .methodSelectors(ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArgs.builder()
                .method("string")
                .permission("string")
                .build())
            .serviceName("string")
            .build())
        .resources("string")
        .roles("string")
        .build())
    .title("string")
    .build());
Copy
service_perimeter_ingress_policy_resource = gcp.accesscontextmanager.ServicePerimeterIngressPolicy("servicePerimeterIngressPolicyResource",
    perimeter="string",
    ingress_from={
        "identities": ["string"],
        "identity_type": "string",
        "sources": [{
            "access_level": "string",
            "resource": "string",
        }],
    },
    ingress_to={
        "operations": [{
            "method_selectors": [{
                "method": "string",
                "permission": "string",
            }],
            "service_name": "string",
        }],
        "resources": ["string"],
        "roles": ["string"],
    },
    title="string")
Copy
const servicePerimeterIngressPolicyResource = new gcp.accesscontextmanager.ServicePerimeterIngressPolicy("servicePerimeterIngressPolicyResource", {
    perimeter: "string",
    ingressFrom: {
        identities: ["string"],
        identityType: "string",
        sources: [{
            accessLevel: "string",
            resource: "string",
        }],
    },
    ingressTo: {
        operations: [{
            methodSelectors: [{
                method: "string",
                permission: "string",
            }],
            serviceName: "string",
        }],
        resources: ["string"],
        roles: ["string"],
    },
    title: "string",
});
Copy
type: gcp:accesscontextmanager:ServicePerimeterIngressPolicy
properties:
    ingressFrom:
        identities:
            - string
        identityType: string
        sources:
            - accessLevel: string
              resource: string
    ingressTo:
        operations:
            - methodSelectors:
                - method: string
                  permission: string
              serviceName: string
        resources:
            - string
        roles:
            - string
    perimeter: string
    title: string
Copy

ServicePerimeterIngressPolicy Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The ServicePerimeterIngressPolicy resource accepts the following input properties:

Perimeter
This property is required.
Changes to this property will trigger replacement.
string
The name of the Service Perimeter to add this resource to.


IngressFrom Changes to this property will trigger replacement. ServicePerimeterIngressPolicyIngressFrom
Defines the conditions on the source of a request causing this IngressPolicy to apply. Structure is documented below.
IngressTo Changes to this property will trigger replacement. ServicePerimeterIngressPolicyIngressTo
Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply. Structure is documented below.
Title Changes to this property will trigger replacement. string
Human readable title. Must be unique within the perimeter. Does not affect behavior.
Perimeter
This property is required.
Changes to this property will trigger replacement.
string
The name of the Service Perimeter to add this resource to.


IngressFrom Changes to this property will trigger replacement. ServicePerimeterIngressPolicyIngressFromArgs
Defines the conditions on the source of a request causing this IngressPolicy to apply. Structure is documented below.
IngressTo Changes to this property will trigger replacement. ServicePerimeterIngressPolicyIngressToArgs
Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply. Structure is documented below.
Title Changes to this property will trigger replacement. string
Human readable title. Must be unique within the perimeter. Does not affect behavior.
perimeter
This property is required.
Changes to this property will trigger replacement.
String
The name of the Service Perimeter to add this resource to.


ingressFrom Changes to this property will trigger replacement. ServicePerimeterIngressPolicyIngressFrom
Defines the conditions on the source of a request causing this IngressPolicy to apply. Structure is documented below.
ingressTo Changes to this property will trigger replacement. ServicePerimeterIngressPolicyIngressTo
Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply. Structure is documented below.
title Changes to this property will trigger replacement. String
Human readable title. Must be unique within the perimeter. Does not affect behavior.
perimeter
This property is required.
Changes to this property will trigger replacement.
string
The name of the Service Perimeter to add this resource to.


ingressFrom Changes to this property will trigger replacement. ServicePerimeterIngressPolicyIngressFrom
Defines the conditions on the source of a request causing this IngressPolicy to apply. Structure is documented below.
ingressTo Changes to this property will trigger replacement. ServicePerimeterIngressPolicyIngressTo
Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply. Structure is documented below.
title Changes to this property will trigger replacement. string
Human readable title. Must be unique within the perimeter. Does not affect behavior.
perimeter
This property is required.
Changes to this property will trigger replacement.
str
The name of the Service Perimeter to add this resource to.


ingress_from Changes to this property will trigger replacement. ServicePerimeterIngressPolicyIngressFromArgs
Defines the conditions on the source of a request causing this IngressPolicy to apply. Structure is documented below.
ingress_to Changes to this property will trigger replacement. ServicePerimeterIngressPolicyIngressToArgs
Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply. Structure is documented below.
title Changes to this property will trigger replacement. str
Human readable title. Must be unique within the perimeter. Does not affect behavior.
perimeter
This property is required.
Changes to this property will trigger replacement.
String
The name of the Service Perimeter to add this resource to.


ingressFrom Changes to this property will trigger replacement. Property Map
Defines the conditions on the source of a request causing this IngressPolicy to apply. Structure is documented below.
ingressTo Changes to this property will trigger replacement. Property Map
Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply. Structure is documented below.
title Changes to this property will trigger replacement. String
Human readable title. Must be unique within the perimeter. Does not affect behavior.

Outputs

All input properties are implicitly available as output properties. Additionally, the ServicePerimeterIngressPolicy resource produces the following output properties:

AccessPolicyId string
The name of the Access Policy this resource belongs to.
Etag string
The perimeter etag is internally used to prevent overwriting the list of policies on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of policies. The policy defined in this resource is added or removed from that list, and then this etag is sent with the PATCH call along with the updated policies.
Id string
The provider-assigned unique ID for this managed resource.
AccessPolicyId string
The name of the Access Policy this resource belongs to.
Etag string
The perimeter etag is internally used to prevent overwriting the list of policies on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of policies. The policy defined in this resource is added or removed from that list, and then this etag is sent with the PATCH call along with the updated policies.
Id string
The provider-assigned unique ID for this managed resource.
accessPolicyId String
The name of the Access Policy this resource belongs to.
etag String
The perimeter etag is internally used to prevent overwriting the list of policies on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of policies. The policy defined in this resource is added or removed from that list, and then this etag is sent with the PATCH call along with the updated policies.
id String
The provider-assigned unique ID for this managed resource.
accessPolicyId string
The name of the Access Policy this resource belongs to.
etag string
The perimeter etag is internally used to prevent overwriting the list of policies on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of policies. The policy defined in this resource is added or removed from that list, and then this etag is sent with the PATCH call along with the updated policies.
id string
The provider-assigned unique ID for this managed resource.
access_policy_id str
The name of the Access Policy this resource belongs to.
etag str
The perimeter etag is internally used to prevent overwriting the list of policies on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of policies. The policy defined in this resource is added or removed from that list, and then this etag is sent with the PATCH call along with the updated policies.
id str
The provider-assigned unique ID for this managed resource.
accessPolicyId String
The name of the Access Policy this resource belongs to.
etag String
The perimeter etag is internally used to prevent overwriting the list of policies on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of policies. The policy defined in this resource is added or removed from that list, and then this etag is sent with the PATCH call along with the updated policies.
id String
The provider-assigned unique ID for this managed resource.

Look up Existing ServicePerimeterIngressPolicy Resource

Get an existing ServicePerimeterIngressPolicy resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: ServicePerimeterIngressPolicyState, opts?: CustomResourceOptions): ServicePerimeterIngressPolicy
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        access_policy_id: Optional[str] = None,
        etag: Optional[str] = None,
        ingress_from: Optional[ServicePerimeterIngressPolicyIngressFromArgs] = None,
        ingress_to: Optional[ServicePerimeterIngressPolicyIngressToArgs] = None,
        perimeter: Optional[str] = None,
        title: Optional[str] = None) -> ServicePerimeterIngressPolicy
func GetServicePerimeterIngressPolicy(ctx *Context, name string, id IDInput, state *ServicePerimeterIngressPolicyState, opts ...ResourceOption) (*ServicePerimeterIngressPolicy, error)
public static ServicePerimeterIngressPolicy Get(string name, Input<string> id, ServicePerimeterIngressPolicyState? state, CustomResourceOptions? opts = null)
public static ServicePerimeterIngressPolicy get(String name, Output<String> id, ServicePerimeterIngressPolicyState state, CustomResourceOptions options)
resources:  _:    type: gcp:accesscontextmanager:ServicePerimeterIngressPolicy    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
AccessPolicyId string
The name of the Access Policy this resource belongs to.
Etag string
The perimeter etag is internally used to prevent overwriting the list of policies on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of policies. The policy defined in this resource is added or removed from that list, and then this etag is sent with the PATCH call along with the updated policies.
IngressFrom Changes to this property will trigger replacement. ServicePerimeterIngressPolicyIngressFrom
Defines the conditions on the source of a request causing this IngressPolicy to apply. Structure is documented below.
IngressTo Changes to this property will trigger replacement. ServicePerimeterIngressPolicyIngressTo
Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply. Structure is documented below.
Perimeter Changes to this property will trigger replacement. string
The name of the Service Perimeter to add this resource to.


Title Changes to this property will trigger replacement. string
Human readable title. Must be unique within the perimeter. Does not affect behavior.
AccessPolicyId string
The name of the Access Policy this resource belongs to.
Etag string
The perimeter etag is internally used to prevent overwriting the list of policies on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of policies. The policy defined in this resource is added or removed from that list, and then this etag is sent with the PATCH call along with the updated policies.
IngressFrom Changes to this property will trigger replacement. ServicePerimeterIngressPolicyIngressFromArgs
Defines the conditions on the source of a request causing this IngressPolicy to apply. Structure is documented below.
IngressTo Changes to this property will trigger replacement. ServicePerimeterIngressPolicyIngressToArgs
Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply. Structure is documented below.
Perimeter Changes to this property will trigger replacement. string
The name of the Service Perimeter to add this resource to.


Title Changes to this property will trigger replacement. string
Human readable title. Must be unique within the perimeter. Does not affect behavior.
accessPolicyId String
The name of the Access Policy this resource belongs to.
etag String
The perimeter etag is internally used to prevent overwriting the list of policies on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of policies. The policy defined in this resource is added or removed from that list, and then this etag is sent with the PATCH call along with the updated policies.
ingressFrom Changes to this property will trigger replacement. ServicePerimeterIngressPolicyIngressFrom
Defines the conditions on the source of a request causing this IngressPolicy to apply. Structure is documented below.
ingressTo Changes to this property will trigger replacement. ServicePerimeterIngressPolicyIngressTo
Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply. Structure is documented below.
perimeter Changes to this property will trigger replacement. String
The name of the Service Perimeter to add this resource to.


title Changes to this property will trigger replacement. String
Human readable title. Must be unique within the perimeter. Does not affect behavior.
accessPolicyId string
The name of the Access Policy this resource belongs to.
etag string
The perimeter etag is internally used to prevent overwriting the list of policies on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of policies. The policy defined in this resource is added or removed from that list, and then this etag is sent with the PATCH call along with the updated policies.
ingressFrom Changes to this property will trigger replacement. ServicePerimeterIngressPolicyIngressFrom
Defines the conditions on the source of a request causing this IngressPolicy to apply. Structure is documented below.
ingressTo Changes to this property will trigger replacement. ServicePerimeterIngressPolicyIngressTo
Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply. Structure is documented below.
perimeter Changes to this property will trigger replacement. string
The name of the Service Perimeter to add this resource to.


title Changes to this property will trigger replacement. string
Human readable title. Must be unique within the perimeter. Does not affect behavior.
access_policy_id str
The name of the Access Policy this resource belongs to.
etag str
The perimeter etag is internally used to prevent overwriting the list of policies on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of policies. The policy defined in this resource is added or removed from that list, and then this etag is sent with the PATCH call along with the updated policies.
ingress_from Changes to this property will trigger replacement. ServicePerimeterIngressPolicyIngressFromArgs
Defines the conditions on the source of a request causing this IngressPolicy to apply. Structure is documented below.
ingress_to Changes to this property will trigger replacement. ServicePerimeterIngressPolicyIngressToArgs
Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply. Structure is documented below.
perimeter Changes to this property will trigger replacement. str
The name of the Service Perimeter to add this resource to.


title Changes to this property will trigger replacement. str
Human readable title. Must be unique within the perimeter. Does not affect behavior.
accessPolicyId String
The name of the Access Policy this resource belongs to.
etag String
The perimeter etag is internally used to prevent overwriting the list of policies on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of policies. The policy defined in this resource is added or removed from that list, and then this etag is sent with the PATCH call along with the updated policies.
ingressFrom Changes to this property will trigger replacement. Property Map
Defines the conditions on the source of a request causing this IngressPolicy to apply. Structure is documented below.
ingressTo Changes to this property will trigger replacement. Property Map
Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply. Structure is documented below.
perimeter Changes to this property will trigger replacement. String
The name of the Service Perimeter to add this resource to.


title Changes to this property will trigger replacement. String
Human readable title. Must be unique within the perimeter. Does not affect behavior.

Supporting Types

ServicePerimeterIngressPolicyIngressFrom
, ServicePerimeterIngressPolicyIngressFromArgs

Identities Changes to this property will trigger replacement. List<string>
Identities can be an individual user, service account, Google group, or third-party identity. For third-party identity, only single identities are supported and other identity types are not supported.The v1 identities that have the prefix user, group and serviceAccount in https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.
IdentityType Changes to this property will trigger replacement. string
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.
Sources Changes to this property will trigger replacement. List<ServicePerimeterIngressPolicyIngressFromSource>
Sources that this IngressPolicy authorizes access from. Structure is documented below.
Identities Changes to this property will trigger replacement. []string
Identities can be an individual user, service account, Google group, or third-party identity. For third-party identity, only single identities are supported and other identity types are not supported.The v1 identities that have the prefix user, group and serviceAccount in https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.
IdentityType Changes to this property will trigger replacement. string
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.
Sources Changes to this property will trigger replacement. []ServicePerimeterIngressPolicyIngressFromSource
Sources that this IngressPolicy authorizes access from. Structure is documented below.
identities Changes to this property will trigger replacement. List<String>
Identities can be an individual user, service account, Google group, or third-party identity. For third-party identity, only single identities are supported and other identity types are not supported.The v1 identities that have the prefix user, group and serviceAccount in https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.
identityType Changes to this property will trigger replacement. String
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.
sources Changes to this property will trigger replacement. List<ServicePerimeterIngressPolicyIngressFromSource>
Sources that this IngressPolicy authorizes access from. Structure is documented below.
identities Changes to this property will trigger replacement. string[]
Identities can be an individual user, service account, Google group, or third-party identity. For third-party identity, only single identities are supported and other identity types are not supported.The v1 identities that have the prefix user, group and serviceAccount in https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.
identityType Changes to this property will trigger replacement. string
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.
sources Changes to this property will trigger replacement. ServicePerimeterIngressPolicyIngressFromSource[]
Sources that this IngressPolicy authorizes access from. Structure is documented below.
identities Changes to this property will trigger replacement. Sequence[str]
Identities can be an individual user, service account, Google group, or third-party identity. For third-party identity, only single identities are supported and other identity types are not supported.The v1 identities that have the prefix user, group and serviceAccount in https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.
identity_type Changes to this property will trigger replacement. str
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.
sources Changes to this property will trigger replacement. Sequence[ServicePerimeterIngressPolicyIngressFromSource]
Sources that this IngressPolicy authorizes access from. Structure is documented below.
identities Changes to this property will trigger replacement. List<String>
Identities can be an individual user, service account, Google group, or third-party identity. For third-party identity, only single identities are supported and other identity types are not supported.The v1 identities that have the prefix user, group and serviceAccount in https://cloud.google.com/iam/docs/principal-identifiers#v1 are supported.
identityType Changes to this property will trigger replacement. String
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.
sources Changes to this property will trigger replacement. List<Property Map>
Sources that this IngressPolicy authorizes access from. Structure is documented below.

ServicePerimeterIngressPolicyIngressFromSource
, ServicePerimeterIngressPolicyIngressFromSourceArgs

AccessLevel Changes to this property will trigger replacement. string
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.
Resource Changes to this property will trigger replacement. string
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 and VPCs are allowed. Project format: projects/{projectNumber} VPC network format: //compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}. 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.
AccessLevel Changes to this property will trigger replacement. string
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.
Resource Changes to this property will trigger replacement. string
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 and VPCs are allowed. Project format: projects/{projectNumber} VPC network format: //compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}. 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.
accessLevel Changes to this property will trigger replacement. String
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.
resource Changes to this property will trigger replacement. String
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 and VPCs are allowed. Project format: projects/{projectNumber} VPC network format: //compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}. 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.
accessLevel Changes to this property will trigger replacement. string
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.
resource Changes to this property will trigger replacement. string
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 and VPCs are allowed. Project format: projects/{projectNumber} VPC network format: //compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}. 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.
access_level Changes to this property will trigger replacement. str
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.
resource Changes to this property will trigger replacement. str
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 and VPCs are allowed. Project format: projects/{projectNumber} VPC network format: //compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}. 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.
accessLevel Changes to this property will trigger replacement. String
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.
resource Changes to this property will trigger replacement. String
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 and VPCs are allowed. Project format: projects/{projectNumber} VPC network format: //compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}. 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.

ServicePerimeterIngressPolicyIngressTo
, ServicePerimeterIngressPolicyIngressToArgs

Operations Changes to this property will trigger replacement. List<ServicePerimeterIngressPolicyIngressToOperation>
A list of ApiOperations the sources specified in corresponding IngressFrom are allowed to perform in this ServicePerimeter. Structure is documented below.
Resources Changes to this property will trigger replacement. List<string>
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.
Roles Changes to this property will trigger replacement. List<string>
A list of IAM roles that represent the set of operations that the sources specified in the corresponding IngressFrom are allowed to perform.
Operations Changes to this property will trigger replacement. []ServicePerimeterIngressPolicyIngressToOperation
A list of ApiOperations the sources specified in corresponding IngressFrom are allowed to perform in this ServicePerimeter. Structure is documented below.
Resources Changes to this property will trigger replacement. []string
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.
Roles Changes to this property will trigger replacement. []string
A list of IAM roles that represent the set of operations that the sources specified in the corresponding IngressFrom are allowed to perform.
operations Changes to this property will trigger replacement. List<ServicePerimeterIngressPolicyIngressToOperation>
A list of ApiOperations the sources specified in corresponding IngressFrom are allowed to perform in this ServicePerimeter. Structure is documented below.
resources Changes to this property will trigger replacement. List<String>
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.
roles Changes to this property will trigger replacement. List<String>
A list of IAM roles that represent the set of operations that the sources specified in the corresponding IngressFrom are allowed to perform.
operations Changes to this property will trigger replacement. ServicePerimeterIngressPolicyIngressToOperation[]
A list of ApiOperations the sources specified in corresponding IngressFrom are allowed to perform in this ServicePerimeter. Structure is documented below.
resources Changes to this property will trigger replacement. string[]
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.
roles Changes to this property will trigger replacement. string[]
A list of IAM roles that represent the set of operations that the sources specified in the corresponding IngressFrom are allowed to perform.
operations Changes to this property will trigger replacement. Sequence[ServicePerimeterIngressPolicyIngressToOperation]
A list of ApiOperations the sources specified in corresponding IngressFrom are allowed to perform in this ServicePerimeter. Structure is documented below.
resources Changes to this property will trigger replacement. Sequence[str]
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.
roles Changes to this property will trigger replacement. Sequence[str]
A list of IAM roles that represent the set of operations that the sources specified in the corresponding IngressFrom are allowed to perform.
operations Changes to this property will trigger replacement. List<Property Map>
A list of ApiOperations the sources specified in corresponding IngressFrom are allowed to perform in this ServicePerimeter. Structure is documented below.
resources Changes to this property will trigger replacement. List<String>
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.
roles Changes to this property will trigger replacement. List<String>
A list of IAM roles that represent the set of operations that the sources specified in the corresponding IngressFrom are allowed to perform.

ServicePerimeterIngressPolicyIngressToOperation
, ServicePerimeterIngressPolicyIngressToOperationArgs

MethodSelectors Changes to this property will trigger replacement. List<ServicePerimeterIngressPolicyIngressToOperationMethodSelector>
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.
ServiceName Changes to this property will trigger replacement. string
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.
MethodSelectors Changes to this property will trigger replacement. []ServicePerimeterIngressPolicyIngressToOperationMethodSelector
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.
ServiceName Changes to this property will trigger replacement. string
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.
methodSelectors Changes to this property will trigger replacement. List<ServicePerimeterIngressPolicyIngressToOperationMethodSelector>
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.
serviceName Changes to this property will trigger replacement. String
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.
methodSelectors Changes to this property will trigger replacement. ServicePerimeterIngressPolicyIngressToOperationMethodSelector[]
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.
serviceName Changes to this property will trigger replacement. string
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.
method_selectors Changes to this property will trigger replacement. Sequence[ServicePerimeterIngressPolicyIngressToOperationMethodSelector]
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.
service_name Changes to this property will trigger replacement. str
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.
methodSelectors Changes to this property will trigger replacement. List<Property Map>
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.
serviceName Changes to this property will trigger replacement. String
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.

ServicePerimeterIngressPolicyIngressToOperationMethodSelector
, ServicePerimeterIngressPolicyIngressToOperationMethodSelectorArgs

Method Changes to this property will trigger replacement. string
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.
Permission Changes to this property will trigger replacement. string
Value for permission should be a valid Cloud IAM permission for the corresponding serviceName in ApiOperation.
Method Changes to this property will trigger replacement. string
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.
Permission Changes to this property will trigger replacement. string
Value for permission should be a valid Cloud IAM permission for the corresponding serviceName in ApiOperation.
method Changes to this property will trigger replacement. String
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.
permission Changes to this property will trigger replacement. String
Value for permission should be a valid Cloud IAM permission for the corresponding serviceName in ApiOperation.
method Changes to this property will trigger replacement. string
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.
permission Changes to this property will trigger replacement. string
Value for permission should be a valid Cloud IAM permission for the corresponding serviceName in ApiOperation.
method Changes to this property will trigger replacement. str
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.
permission Changes to this property will trigger replacement. str
Value for permission should be a valid Cloud IAM permission for the corresponding serviceName in ApiOperation.
method Changes to this property will trigger replacement. String
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.
permission Changes to this property will trigger replacement. String
Value for permission should be a valid Cloud IAM permission for the corresponding serviceName in ApiOperation.

Package Details

Repository
Google Cloud (GCP) Classic pulumi/pulumi-gcp
License
Apache-2.0
Notes
This Pulumi package is based on the google-beta Terraform Provider.