Google Cloud Native is in preview. Google Cloud Classic is fully supported.
google-native.orgpolicy/v2.CustomConstraint
Explore with Pulumi AI
Google Cloud Native is in preview. Google Cloud Classic is fully supported.
Creates a custom constraint. Returns a google.rpc.Status with google.rpc.Code.NOT_FOUND if the organization does not exist. Returns a google.rpc.Status with google.rpc.Code.ALREADY_EXISTS if the constraint already exists on the given organization.
Create CustomConstraint Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new CustomConstraint(name: string, args: CustomConstraintArgs, opts?: CustomResourceOptions);@overload
def CustomConstraint(resource_name: str,
                     args: CustomConstraintArgs,
                     opts: Optional[ResourceOptions] = None)
@overload
def CustomConstraint(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     organization_id: Optional[str] = None,
                     action_type: Optional[CustomConstraintActionType] = None,
                     condition: Optional[str] = None,
                     description: Optional[str] = None,
                     display_name: Optional[str] = None,
                     method_types: Optional[Sequence[CustomConstraintMethodTypesItem]] = None,
                     name: Optional[str] = None,
                     resource_types: Optional[Sequence[str]] = None)func NewCustomConstraint(ctx *Context, name string, args CustomConstraintArgs, opts ...ResourceOption) (*CustomConstraint, error)public CustomConstraint(string name, CustomConstraintArgs args, CustomResourceOptions? opts = null)
public CustomConstraint(String name, CustomConstraintArgs args)
public CustomConstraint(String name, CustomConstraintArgs args, CustomResourceOptions options)
type: google-native:orgpolicy/v2:CustomConstraint
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args CustomConstraintArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args CustomConstraintArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args CustomConstraintArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args CustomConstraintArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args CustomConstraintArgs
- 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 customConstraintResource = new GoogleNative.Orgpolicy.V2.CustomConstraint("customConstraintResource", new()
{
    OrganizationId = "string",
    ActionType = GoogleNative.Orgpolicy.V2.CustomConstraintActionType.ActionTypeUnspecified,
    Condition = "string",
    Description = "string",
    DisplayName = "string",
    MethodTypes = new[]
    {
        GoogleNative.Orgpolicy.V2.CustomConstraintMethodTypesItem.MethodTypeUnspecified,
    },
    Name = "string",
    ResourceTypes = new[]
    {
        "string",
    },
});
example, err := orgpolicy.NewCustomConstraint(ctx, "customConstraintResource", &orgpolicy.CustomConstraintArgs{
	OrganizationId: pulumi.String("string"),
	ActionType:     orgpolicy.CustomConstraintActionTypeActionTypeUnspecified,
	Condition:      pulumi.String("string"),
	Description:    pulumi.String("string"),
	DisplayName:    pulumi.String("string"),
	MethodTypes: orgpolicy.CustomConstraintMethodTypesItemArray{
		orgpolicy.CustomConstraintMethodTypesItemMethodTypeUnspecified,
	},
	Name: pulumi.String("string"),
	ResourceTypes: pulumi.StringArray{
		pulumi.String("string"),
	},
})
var customConstraintResource = new CustomConstraint("customConstraintResource", CustomConstraintArgs.builder()
    .organizationId("string")
    .actionType("ACTION_TYPE_UNSPECIFIED")
    .condition("string")
    .description("string")
    .displayName("string")
    .methodTypes("METHOD_TYPE_UNSPECIFIED")
    .name("string")
    .resourceTypes("string")
    .build());
custom_constraint_resource = google_native.orgpolicy.v2.CustomConstraint("customConstraintResource",
    organization_id="string",
    action_type=google_native.orgpolicy.v2.CustomConstraintActionType.ACTION_TYPE_UNSPECIFIED,
    condition="string",
    description="string",
    display_name="string",
    method_types=[google_native.orgpolicy.v2.CustomConstraintMethodTypesItem.METHOD_TYPE_UNSPECIFIED],
    name="string",
    resource_types=["string"])
const customConstraintResource = new google_native.orgpolicy.v2.CustomConstraint("customConstraintResource", {
    organizationId: "string",
    actionType: google_native.orgpolicy.v2.CustomConstraintActionType.ActionTypeUnspecified,
    condition: "string",
    description: "string",
    displayName: "string",
    methodTypes: [google_native.orgpolicy.v2.CustomConstraintMethodTypesItem.MethodTypeUnspecified],
    name: "string",
    resourceTypes: ["string"],
});
type: google-native:orgpolicy/v2:CustomConstraint
properties:
    actionType: ACTION_TYPE_UNSPECIFIED
    condition: string
    description: string
    displayName: string
    methodTypes:
        - METHOD_TYPE_UNSPECIFIED
    name: string
    organizationId: string
    resourceTypes:
        - string
CustomConstraint 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 CustomConstraint resource accepts the following input properties:
- OrganizationId string
- ActionType Pulumi.Google Native. Orgpolicy. V2. Custom Constraint Action Type 
- Allow or deny type.
- Condition string
- Org policy condition/expression. For example: resource.instanceName.matches("[production|test]_.*_(\d)+")or,resource.management.auto_upgrade == trueThe max length of the condition is 1000 characters.
- Description string
- Detailed information about this custom policy constraint. The max length of the description is 2000 characters.
- DisplayName string
- One line display name for the UI. The max length of the display_name is 200 characters.
- MethodTypes List<Pulumi.Google Native. Orgpolicy. V2. Custom Constraint Method Types Item> 
- All the operations being applied for this constraint.
- Name string
- Immutable. Name of the constraint. This is unique within the organization. Format of the name should be * organizations/{organization_id}/customConstraints/{custom_constraint_id}Example:organizations/123/customConstraints/custom.createOnlyE2TypeVmsThe max length is 70 characters and the minimum length is 1. Note that the prefixorganizations/{organization_id}/customConstraints/is not counted.
- ResourceTypes List<string>
- Immutable. The resource instance type on which this policy applies. Format will be of the form : /Example: *compute.googleapis.com/Instance.
- OrganizationId string
- ActionType CustomConstraint Action Type 
- Allow or deny type.
- Condition string
- Org policy condition/expression. For example: resource.instanceName.matches("[production|test]_.*_(\d)+")or,resource.management.auto_upgrade == trueThe max length of the condition is 1000 characters.
- Description string
- Detailed information about this custom policy constraint. The max length of the description is 2000 characters.
- DisplayName string
- One line display name for the UI. The max length of the display_name is 200 characters.
- MethodTypes []CustomConstraint Method Types Item 
- All the operations being applied for this constraint.
- Name string
- Immutable. Name of the constraint. This is unique within the organization. Format of the name should be * organizations/{organization_id}/customConstraints/{custom_constraint_id}Example:organizations/123/customConstraints/custom.createOnlyE2TypeVmsThe max length is 70 characters and the minimum length is 1. Note that the prefixorganizations/{organization_id}/customConstraints/is not counted.
- ResourceTypes []string
- Immutable. The resource instance type on which this policy applies. Format will be of the form : /Example: *compute.googleapis.com/Instance.
- organizationId String
- actionType CustomConstraint Action Type 
- Allow or deny type.
- condition String
- Org policy condition/expression. For example: resource.instanceName.matches("[production|test]_.*_(\d)+")or,resource.management.auto_upgrade == trueThe max length of the condition is 1000 characters.
- description String
- Detailed information about this custom policy constraint. The max length of the description is 2000 characters.
- displayName String
- One line display name for the UI. The max length of the display_name is 200 characters.
- methodTypes List<CustomConstraint Method Types Item> 
- All the operations being applied for this constraint.
- name String
- Immutable. Name of the constraint. This is unique within the organization. Format of the name should be * organizations/{organization_id}/customConstraints/{custom_constraint_id}Example:organizations/123/customConstraints/custom.createOnlyE2TypeVmsThe max length is 70 characters and the minimum length is 1. Note that the prefixorganizations/{organization_id}/customConstraints/is not counted.
- resourceTypes List<String>
- Immutable. The resource instance type on which this policy applies. Format will be of the form : /Example: *compute.googleapis.com/Instance.
- organizationId string
- actionType CustomConstraint Action Type 
- Allow or deny type.
- condition string
- Org policy condition/expression. For example: resource.instanceName.matches("[production|test]_.*_(\d)+")or,resource.management.auto_upgrade == trueThe max length of the condition is 1000 characters.
- description string
- Detailed information about this custom policy constraint. The max length of the description is 2000 characters.
- displayName string
- One line display name for the UI. The max length of the display_name is 200 characters.
- methodTypes CustomConstraint Method Types Item[] 
- All the operations being applied for this constraint.
- name string
- Immutable. Name of the constraint. This is unique within the organization. Format of the name should be * organizations/{organization_id}/customConstraints/{custom_constraint_id}Example:organizations/123/customConstraints/custom.createOnlyE2TypeVmsThe max length is 70 characters and the minimum length is 1. Note that the prefixorganizations/{organization_id}/customConstraints/is not counted.
- resourceTypes string[]
- Immutable. The resource instance type on which this policy applies. Format will be of the form : /Example: *compute.googleapis.com/Instance.
- organization_id str
- action_type CustomConstraint Action Type 
- Allow or deny type.
- condition str
- Org policy condition/expression. For example: resource.instanceName.matches("[production|test]_.*_(\d)+")or,resource.management.auto_upgrade == trueThe max length of the condition is 1000 characters.
- description str
- Detailed information about this custom policy constraint. The max length of the description is 2000 characters.
- display_name str
- One line display name for the UI. The max length of the display_name is 200 characters.
- method_types Sequence[CustomConstraint Method Types Item] 
- All the operations being applied for this constraint.
- name str
- Immutable. Name of the constraint. This is unique within the organization. Format of the name should be * organizations/{organization_id}/customConstraints/{custom_constraint_id}Example:organizations/123/customConstraints/custom.createOnlyE2TypeVmsThe max length is 70 characters and the minimum length is 1. Note that the prefixorganizations/{organization_id}/customConstraints/is not counted.
- resource_types Sequence[str]
- Immutable. The resource instance type on which this policy applies. Format will be of the form : /Example: *compute.googleapis.com/Instance.
- organizationId String
- actionType "ACTION_TYPE_UNSPECIFIED" | "ALLOW" | "DENY"
- Allow or deny type.
- condition String
- Org policy condition/expression. For example: resource.instanceName.matches("[production|test]_.*_(\d)+")or,resource.management.auto_upgrade == trueThe max length of the condition is 1000 characters.
- description String
- Detailed information about this custom policy constraint. The max length of the description is 2000 characters.
- displayName String
- One line display name for the UI. The max length of the display_name is 200 characters.
- methodTypes List<"METHOD_TYPE_UNSPECIFIED" | "CREATE" | "UPDATE" | "DELETE">
- All the operations being applied for this constraint.
- name String
- Immutable. Name of the constraint. This is unique within the organization. Format of the name should be * organizations/{organization_id}/customConstraints/{custom_constraint_id}Example:organizations/123/customConstraints/custom.createOnlyE2TypeVmsThe max length is 70 characters and the minimum length is 1. Note that the prefixorganizations/{organization_id}/customConstraints/is not counted.
- resourceTypes List<String>
- Immutable. The resource instance type on which this policy applies. Format will be of the form : /Example: *compute.googleapis.com/Instance.
Outputs
All input properties are implicitly available as output properties. Additionally, the CustomConstraint resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- UpdateTime string
- The last time this custom constraint was updated. This represents the last time that the CreateCustomConstraintorUpdateCustomConstraintRPC was called
- Id string
- The provider-assigned unique ID for this managed resource.
- UpdateTime string
- The last time this custom constraint was updated. This represents the last time that the CreateCustomConstraintorUpdateCustomConstraintRPC was called
- id String
- The provider-assigned unique ID for this managed resource.
- updateTime String
- The last time this custom constraint was updated. This represents the last time that the CreateCustomConstraintorUpdateCustomConstraintRPC was called
- id string
- The provider-assigned unique ID for this managed resource.
- updateTime string
- The last time this custom constraint was updated. This represents the last time that the CreateCustomConstraintorUpdateCustomConstraintRPC was called
- id str
- The provider-assigned unique ID for this managed resource.
- update_time str
- The last time this custom constraint was updated. This represents the last time that the CreateCustomConstraintorUpdateCustomConstraintRPC was called
- id String
- The provider-assigned unique ID for this managed resource.
- updateTime String
- The last time this custom constraint was updated. This represents the last time that the CreateCustomConstraintorUpdateCustomConstraintRPC was called
Supporting Types
CustomConstraintActionType, CustomConstraintActionTypeArgs        
- ActionType Unspecified 
- ACTION_TYPE_UNSPECIFIEDUnspecified. Results in an error.
- Allow
- ALLOWAllowed action type.
- Deny
- DENYDeny action type.
- CustomConstraint Action Type Action Type Unspecified 
- ACTION_TYPE_UNSPECIFIEDUnspecified. Results in an error.
- CustomConstraint Action Type Allow 
- ALLOWAllowed action type.
- CustomConstraint Action Type Deny 
- DENYDeny action type.
- ActionType Unspecified 
- ACTION_TYPE_UNSPECIFIEDUnspecified. Results in an error.
- Allow
- ALLOWAllowed action type.
- Deny
- DENYDeny action type.
- ActionType Unspecified 
- ACTION_TYPE_UNSPECIFIEDUnspecified. Results in an error.
- Allow
- ALLOWAllowed action type.
- Deny
- DENYDeny action type.
- ACTION_TYPE_UNSPECIFIED
- ACTION_TYPE_UNSPECIFIEDUnspecified. Results in an error.
- ALLOW
- ALLOWAllowed action type.
- DENY
- DENYDeny action type.
- "ACTION_TYPE_UNSPECIFIED"
- ACTION_TYPE_UNSPECIFIEDUnspecified. Results in an error.
- "ALLOW"
- ALLOWAllowed action type.
- "DENY"
- DENYDeny action type.
CustomConstraintMethodTypesItem, CustomConstraintMethodTypesItemArgs          
- MethodType Unspecified 
- METHOD_TYPE_UNSPECIFIEDUnspecified. Results in an error.
- Create
- CREATEConstraint applied when creating the resource.
- Update
- UPDATEConstraint applied when updating the resource.
- Delete
- DELETEConstraint applied when deleting the resource. Not supported yet.
- CustomConstraint Method Types Item Method Type Unspecified 
- METHOD_TYPE_UNSPECIFIEDUnspecified. Results in an error.
- CustomConstraint Method Types Item Create 
- CREATEConstraint applied when creating the resource.
- CustomConstraint Method Types Item Update 
- UPDATEConstraint applied when updating the resource.
- CustomConstraint Method Types Item Delete 
- DELETEConstraint applied when deleting the resource. Not supported yet.
- MethodType Unspecified 
- METHOD_TYPE_UNSPECIFIEDUnspecified. Results in an error.
- Create
- CREATEConstraint applied when creating the resource.
- Update
- UPDATEConstraint applied when updating the resource.
- Delete
- DELETEConstraint applied when deleting the resource. Not supported yet.
- MethodType Unspecified 
- METHOD_TYPE_UNSPECIFIEDUnspecified. Results in an error.
- Create
- CREATEConstraint applied when creating the resource.
- Update
- UPDATEConstraint applied when updating the resource.
- Delete
- DELETEConstraint applied when deleting the resource. Not supported yet.
- METHOD_TYPE_UNSPECIFIED
- METHOD_TYPE_UNSPECIFIEDUnspecified. Results in an error.
- CREATE
- CREATEConstraint applied when creating the resource.
- UPDATE
- UPDATEConstraint applied when updating the resource.
- DELETE
- DELETEConstraint applied when deleting the resource. Not supported yet.
- "METHOD_TYPE_UNSPECIFIED"
- METHOD_TYPE_UNSPECIFIEDUnspecified. Results in an error.
- "CREATE"
- CREATEConstraint applied when creating the resource.
- "UPDATE"
- UPDATEConstraint applied when updating the resource.
- "DELETE"
- DELETEConstraint applied when deleting the resource. Not supported yet.
Package Details
- Repository
- Google Cloud Native pulumi/pulumi-google-native
- License
- Apache-2.0
Google Cloud Native is in preview. Google Cloud Classic is fully supported.