{
    "name": "coreweave",
    "displayName": "CoreWeave",
    "description": "A Pulumi package for creating and managing CoreWeave cloud resources.",
    "keywords": [
        "coreweave",
        "category/cloud"
    ],
    "homepage": "https://www.pulumi.com",
    "license": "Apache-2.0",
    "attribution": "This Pulumi package is based on the [`coreweave` Terraform Provider](https://github.com/coreweave/terraform-provider-coreweave).",
    "repository": "https://github.com/pulumi/pulumi-coreweave",
    "logoUrl": "https://raw.githubusercontent.com/pulumi/pulumi-coreweave/main/docs/logo.png",
    "publisher": "Pulumi",
    "meta": {
        "moduleFormat": "(.*)(?:/[^/]*)"
    },
    "language": {
        "csharp": {
            "packageReferences": {
                "Pulumi": "3.*"
            },
            "namespaces": {
                "coreweave": "CoreWeave"
            },
            "compatibility": "tfbridge20",
            "respectSchemaVersion": true
        },
        "go": {
            "importBasePath": "github.com/pulumi/pulumi-coreweave/sdk/go/coreweave",
            "generateResourceContainerTypes": true,
            "generateExtraInputTypes": true,
            "respectSchemaVersion": true
        },
        "nodejs": {
            "packageDescription": "A Pulumi package for creating and managing CoreWeave cloud resources.",
            "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/coreweave/terraform-provider-coreweave)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-coreweave` repo](https://github.com/pulumi/pulumi-coreweave/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-coreweave` repo](https://github.com/coreweave/terraform-provider-coreweave/issues).",
            "compatibility": "tfbridge20",
            "disableUnionOutputTypes": true,
            "respectSchemaVersion": true
        },
        "python": {
            "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/coreweave/terraform-provider-coreweave)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-coreweave` repo](https://github.com/pulumi/pulumi-coreweave/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-coreweave` repo](https://github.com/coreweave/terraform-provider-coreweave/issues).",
            "compatibility": "tfbridge20",
            "respectSchemaVersion": true,
            "pyproject": {
                "enabled": true
            }
        }
    },
    "config": {
        "variables": {
            "endpoint": {
                "type": "string",
                "description": "CoreWeave API Endpoint. This can also be set via the COREWEAVE_API_ENDPOINT environment variable, which takes precedence. Defaults to `https://api.coreweave.com/`"
            },
            "httpTimeout": {
                "type": "string",
                "description": "Timeout duration for the HTTP client to use. This can also be set via the COREWEAVE_HTTP_TIMEOUT environment variable, which takes precedence. If unset, defaults to 10 seconds"
            },
            "s3Endpoint": {
                "type": "string",
                "description": "CoreWeave S3 Endpoint, used for CoreWeave Object Storage. This can also be set via the COREWEAVE_S3_ENDPOINT environment variable, which takes precedence. Defaults to `https://cwobject.com`"
            },
            "token": {
                "type": "string",
                "description": "CoreWeave API Token in the form `CW-SECRET-\u003csecret\u003e`. This can also be set via the COREWEAVE_API_TOKEN environment variable, which takes precedence.",
                "secret": true
            }
        }
    },
    "types": {
        "coreweave:index/CksClusterAuthnWebhook:CksClusterAuthnWebhook": {
            "properties": {
                "ca": {
                    "type": "string",
                    "description": "The CA certificate for the webhook server. Must be a base64-encoded PEM-encoded certificate.\n"
                },
                "server": {
                    "type": "string",
                    "description": "The URL of the webhook server.\n"
                }
            },
            "type": "object",
            "required": [
                "server"
            ]
        },
        "coreweave:index/CksClusterAuthzWebhook:CksClusterAuthzWebhook": {
            "properties": {
                "ca": {
                    "type": "string",
                    "description": "The CA certificate for the webhook server. Must be a base64-encoded PEM-encoded certificate.\n"
                },
                "server": {
                    "type": "string",
                    "description": "The URL of the webhook server.\n"
                }
            },
            "type": "object",
            "required": [
                "server"
            ]
        },
        "coreweave:index/CksClusterNodePortRange:CksClusterNodePortRange": {
            "properties": {
                "end": {
                    "type": "integer"
                },
                "start": {
                    "type": "integer"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "end",
                        "start"
                    ]
                }
            }
        },
        "coreweave:index/CksClusterOidc:CksClusterOidc": {
            "properties": {
                "adminGroupBinding": {
                    "type": "string",
                    "description": "The OIDC group that is bound to the cluster-admin role for bootstrap access to the cluster.\n"
                },
                "ca": {
                    "type": "string",
                    "description": "The CA certificate for the OIDC issuer. Must be a base64-encoded PEM-encoded certificate.\n"
                },
                "clientId": {
                    "type": "string",
                    "description": "The client ID for the OIDC client.\n"
                },
                "groupsClaim": {
                    "type": "string",
                    "description": "The claim to use as the groups.\n"
                },
                "groupsPrefix": {
                    "type": "string",
                    "description": "The prefix to use for the groups.\n"
                },
                "issuerUrl": {
                    "type": "string",
                    "description": "The URL of the OIDC issuer.\n"
                },
                "requiredClaim": {
                    "type": "string",
                    "description": "The claim to require for authentication.\n"
                },
                "signingAlgs": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "A list of signing algorithms that the OpenID Connect discovery endpoint uses.\n"
                },
                "usernameClaim": {
                    "type": "string",
                    "description": "The claim to use as the username.\n"
                },
                "usernamePrefix": {
                    "type": "string",
                    "description": "The prefix to use for the username.\n"
                }
            },
            "type": "object",
            "required": [
                "clientId",
                "issuerUrl"
            ]
        },
        "coreweave:index/NetworkingVpcDhcp:NetworkingVpcDhcp": {
            "properties": {
                "dns": {
                    "$ref": "#/types/coreweave:index/NetworkingVpcDhcpDns:NetworkingVpcDhcpDns",
                    "description": "Settings affecting DNS for DHCP within the VPC\n"
                }
            },
            "type": "object"
        },
        "coreweave:index/NetworkingVpcDhcpDns:NetworkingVpcDhcpDns": {
            "properties": {
                "servers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "The DNS servers to be used by DHCP clients within the VPC.\n"
                }
            },
            "type": "object"
        },
        "coreweave:index/NetworkingVpcEgress:NetworkingVpcEgress": {
            "properties": {
                "disablePublicAccess": {
                    "type": "boolean",
                    "description": "Specifies whether the VPC should be blocked from consuming public Internet.\n"
                }
            },
            "type": "object"
        },
        "coreweave:index/NetworkingVpcHostPrefix:NetworkingVpcHostPrefix": {
            "properties": {
                "ipam": {
                    "$ref": "#/types/coreweave:index/NetworkingVpcHostPrefixIpam:NetworkingVpcHostPrefixIpam",
                    "description": "The configuration for a secondary host prefix.\n"
                },
                "name": {
                    "type": "string",
                    "description": "The user-specified name of the host prefix.\n"
                },
                "prefixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "The VPC-wide aggregates from which host-specific prefixes are allocated. May be IPv4 or IPv6.\n"
                },
                "type": {
                    "type": "string",
                    "description": "Controls network connectivity from the prefix to the host. Must be one of: `PRIMARY`, `ROUTED`, `ATTACHED`.\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "prefixes",
                "type"
            ]
        },
        "coreweave:index/NetworkingVpcHostPrefixIpam:NetworkingVpcHostPrefixIpam": {
            "properties": {
                "gatewayAddressPolicy": {
                    "type": "string",
                    "description": "Describes which IP address from the prefix is allocated to the network gateway. Must be one of: `UNSPECIFIED`, `EUI64`, `FIRST_IP`, `LAST_IP`.\n"
                },
                "prefixLength": {
                    "type": "integer",
                    "description": "The desired length for each Node's allocation from the VPC-wide aggregate prefix.\n"
                }
            },
            "type": "object",
            "required": [
                "prefixLength"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "gatewayAddressPolicy",
                        "prefixLength"
                    ]
                }
            }
        },
        "coreweave:index/NetworkingVpcIngress:NetworkingVpcIngress": {
            "properties": {
                "disablePublicServices": {
                    "type": "boolean",
                    "description": "Specifies whether the VPC should prevent public prefixes advertised from Nodes from being imported into public-facing networks, making them inaccessible from the Internet.\n"
                }
            },
            "type": "object"
        },
        "coreweave:index/NetworkingVpcVpcPrefix:NetworkingVpcVpcPrefix": {
            "properties": {
                "name": {
                    "type": "string"
                },
                "value": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "name",
                "value"
            ]
        },
        "coreweave:index/ObjectStorageBucketLifecycleConfigurationRule:ObjectStorageBucketLifecycleConfigurationRule": {
            "properties": {
                "abortIncompleteMultipartUpload": {
                    "$ref": "#/types/coreweave:index/ObjectStorageBucketLifecycleConfigurationRuleAbortIncompleteMultipartUpload:ObjectStorageBucketLifecycleConfigurationRuleAbortIncompleteMultipartUpload"
                },
                "expiration": {
                    "$ref": "#/types/coreweave:index/ObjectStorageBucketLifecycleConfigurationRuleExpiration:ObjectStorageBucketLifecycleConfigurationRuleExpiration"
                },
                "filter": {
                    "$ref": "#/types/coreweave:index/ObjectStorageBucketLifecycleConfigurationRuleFilter:ObjectStorageBucketLifecycleConfigurationRuleFilter"
                },
                "id": {
                    "type": "string",
                    "description": "Unique identifier for the rule\n"
                },
                "noncurrentVersionExpiration": {
                    "$ref": "#/types/coreweave:index/ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionExpiration:ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionExpiration"
                },
                "noncurrentVersionTransitions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/coreweave:index/ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionTransition:ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionTransition"
                    }
                },
                "prefix": {
                    "type": "string",
                    "description": "Object key prefix to which the rule applies\n"
                },
                "status": {
                    "type": "string",
                    "description": "Rule status: Enabled or Disabled\n"
                },
                "transitions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/coreweave:index/ObjectStorageBucketLifecycleConfigurationRuleTransition:ObjectStorageBucketLifecycleConfigurationRuleTransition"
                    }
                }
            },
            "type": "object",
            "required": [
                "status"
            ]
        },
        "coreweave:index/ObjectStorageBucketLifecycleConfigurationRuleAbortIncompleteMultipartUpload:ObjectStorageBucketLifecycleConfigurationRuleAbortIncompleteMultipartUpload": {
            "properties": {
                "daysAfterInitiation": {
                    "type": "integer",
                    "description": "Days after initiation to abort multipart uploads\n"
                }
            },
            "type": "object"
        },
        "coreweave:index/ObjectStorageBucketLifecycleConfigurationRuleExpiration:ObjectStorageBucketLifecycleConfigurationRuleExpiration": {
            "properties": {
                "date": {
                    "type": "string",
                    "description": "ISO8601 date when objects expire\n"
                },
                "days": {
                    "type": "integer",
                    "description": "Number of days after object creation for expiration\n"
                },
                "expiredObjectDeleteMarker": {
                    "type": "boolean",
                    "description": "Whether to remove expired delete markers\n"
                }
            },
            "type": "object"
        },
        "coreweave:index/ObjectStorageBucketLifecycleConfigurationRuleFilter:ObjectStorageBucketLifecycleConfigurationRuleFilter": {
            "properties": {
                "and": {
                    "$ref": "#/types/coreweave:index/ObjectStorageBucketLifecycleConfigurationRuleFilterAnd:ObjectStorageBucketLifecycleConfigurationRuleFilterAnd",
                    "description": "Configuration block used to apply a logical AND to two or more predicates. The Lifecycle Rule will apply to any object matching all the predicates configured inside the and block.\n"
                },
                "objectSizeGreaterThan": {
                    "type": "integer",
                    "description": "Minimum object size (in bytes) to which the rule applies.\n"
                },
                "objectSizeLessThan": {
                    "type": "integer",
                    "description": "Maximum object size (in bytes) to which the rule applies.\n"
                },
                "prefix": {
                    "type": "string",
                    "description": "Prefix filter\n"
                },
                "tag": {
                    "$ref": "#/types/coreweave:index/ObjectStorageBucketLifecycleConfigurationRuleFilterTag:ObjectStorageBucketLifecycleConfigurationRuleFilterTag"
                }
            },
            "type": "object"
        },
        "coreweave:index/ObjectStorageBucketLifecycleConfigurationRuleFilterAnd:ObjectStorageBucketLifecycleConfigurationRuleFilterAnd": {
            "properties": {
                "objectSizeGreaterThan": {
                    "type": "integer",
                    "description": "Minimum object size (in bytes) to which the rule applies.\n"
                },
                "objectSizeLessThan": {
                    "type": "integer",
                    "description": "Maximum object size (in bytes) to which the rule applies.\n"
                },
                "prefix": {
                    "type": "string",
                    "description": "Prefix identifying one or more objects to which the rule applies.\n"
                },
                "tags": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Map for specifying tag keys and values.\n"
                }
            },
            "type": "object"
        },
        "coreweave:index/ObjectStorageBucketLifecycleConfigurationRuleFilterTag:ObjectStorageBucketLifecycleConfigurationRuleFilterTag": {
            "properties": {
                "key": {
                    "type": "string",
                    "description": "Tag key filter\n"
                },
                "value": {
                    "type": "string",
                    "description": "Tag value filter\n"
                }
            },
            "type": "object"
        },
        "coreweave:index/ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionExpiration:ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionExpiration": {
            "properties": {
                "newerNoncurrentVersions": {
                    "type": "integer",
                    "description": "Number of noncurrent versions to retain\n"
                },
                "noncurrentDays": {
                    "type": "integer",
                    "description": "Days after becoming noncurrent before deletion\n"
                }
            },
            "type": "object"
        },
        "coreweave:index/ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionTransition:ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionTransition": {
            "properties": {
                "newerNoncurrentVersions": {
                    "type": "integer",
                    "description": "Number of noncurrent versions to retain\n"
                },
                "noncurrentDays": {
                    "type": "integer",
                    "description": "Number of days after object becomes noncurrent before the transition may occur\n"
                },
                "storageClass": {
                    "type": "string",
                    "description": "Storage class to transition noncurrent objects to\n"
                }
            },
            "type": "object",
            "required": [
                "noncurrentDays",
                "storageClass"
            ]
        },
        "coreweave:index/ObjectStorageBucketLifecycleConfigurationRuleTransition:ObjectStorageBucketLifecycleConfigurationRuleTransition": {
            "properties": {
                "date": {
                    "type": "string",
                    "description": "ISO8601 date when objects transition\n"
                },
                "days": {
                    "type": "integer",
                    "description": "Number of days after object creation for transition\n"
                },
                "storageClass": {
                    "type": "string",
                    "description": "Storage class to transition objects to\n"
                }
            },
            "type": "object",
            "required": [
                "storageClass"
            ]
        },
        "coreweave:index/ObjectStorageBucketVersioningVersioningConfiguration:ObjectStorageBucketVersioningVersioningConfiguration": {
            "properties": {
                "status": {
                    "type": "string",
                    "description": "Versioning state of the bucket. Valid values: Enabled, Suspended, or Disabled. Disabled should only be used when creating or importing resources that correspond to unversioned S3 buckets since the S3 API does not allow setting an Enabled/Suspended bucket to Disabled.\n"
                }
            },
            "type": "object",
            "required": [
                "status"
            ]
        },
        "coreweave:index/ObjectStorageOrganizationAccessPolicyStatement:ObjectStorageOrganizationAccessPolicyStatement": {
            "properties": {
                "actions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Defines which operations the policy allows or denies. Organization access policies can include actions from two APIs - S3 (s3:*) and AI Object Storage API (cwobject:*). You can use wildcards (like s3:* or cwobject:*) to cover multiple actions at once.\n"
                },
                "effect": {
                    "type": "string",
                    "description": "Must be either Allow or Deny (case-sensitive). Determines whether the statement grants or denies the specified actions on the listed resources for the designated principals. By default, all access is denied.\n"
                },
                "name": {
                    "type": "string",
                    "description": "A short, human-readable identifier for this specific policy statement, similar to Sid in bucket access policies.\n"
                },
                "principals": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Defines which users, roles, or groups the policy applies to. Only short-form identifiers are supported. If you use a full ARN, the policy will fail with an error. See the [AI Object Storage documentation](https://docs.coreweave.com/products/storage/object-storage/concepts/policies/organization-policies#resources) for guidelines on defining principals.\n"
                },
                "resources": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Defines which resources the policy applies to. See the [AI Object Storage documentation](https://docs.coreweave.com/products/storage/object-storage/concepts/policies/organization-policies#resources) for guidelines on defining resources.\n"
                }
            },
            "type": "object",
            "required": [
                "actions",
                "effect",
                "name",
                "principals",
                "resources"
            ]
        },
        "coreweave:index/getCksClusterAuthnWebhook:getCksClusterAuthnWebhook": {
            "properties": {
                "ca": {
                    "type": "string",
                    "description": "The CA certificate of the authentication webhook.\n"
                },
                "server": {
                    "type": "string",
                    "description": "The server URL of the authentication webhook.\n"
                }
            },
            "type": "object",
            "required": [
                "ca",
                "server"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "coreweave:index/getCksClusterAuthzWebhook:getCksClusterAuthzWebhook": {
            "properties": {
                "ca": {
                    "type": "string",
                    "description": "The CA certificate of the authorization webhook.\n"
                },
                "server": {
                    "type": "string",
                    "description": "The server URL of the authorization webhook.\n"
                }
            },
            "type": "object",
            "required": [
                "ca",
                "server"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "coreweave:index/getCksClusterNodePortRange:getCksClusterNodePortRange": {
            "properties": {
                "end": {
                    "type": "integer",
                    "description": "End of the NodePort range.\n"
                },
                "start": {
                    "type": "integer",
                    "description": "Start of the NodePort range.\n"
                }
            },
            "type": "object",
            "required": [
                "end",
                "start"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "coreweave:index/getCksClusterOidc:getCksClusterOidc": {
            "properties": {
                "clientId": {
                    "type": "string",
                    "description": "The client ID of the OIDC configuration.\n"
                },
                "issuerUrl": {
                    "type": "string",
                    "description": "The issuer URL of the OIDC configuration.\n"
                }
            },
            "type": "object",
            "required": [
                "clientId",
                "issuerUrl"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "coreweave:index/getNetworkingVpcDhcp:getNetworkingVpcDhcp": {
            "properties": {
                "dns": {
                    "$ref": "#/types/coreweave:index/getNetworkingVpcDhcpDns:getNetworkingVpcDhcpDns",
                    "description": "Settings affecting DNS for DHCP within the VPC\n"
                }
            },
            "type": "object",
            "required": [
                "dns"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "coreweave:index/getNetworkingVpcDhcpDns:getNetworkingVpcDhcpDns": {
            "properties": {
                "servers": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "The DNS servers advertised to DHCP clients within the VPC.\n"
                }
            },
            "type": "object"
        },
        "coreweave:index/getNetworkingVpcEgress:getNetworkingVpcEgress": {
            "properties": {
                "disablePublicAccess": {
                    "type": "boolean",
                    "description": "True if the VPC is blocked from consuming public Internet. False otherwise.\n"
                }
            },
            "type": "object",
            "required": [
                "disablePublicAccess"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "coreweave:index/getNetworkingVpcHostPrefix:getNetworkingVpcHostPrefix": {
            "properties": {
                "ipam": {
                    "$ref": "#/types/coreweave:index/getNetworkingVpcHostPrefixIpam:getNetworkingVpcHostPrefixIpam",
                    "description": "The configuration for a secondary host prefix.\n"
                },
                "name": {
                    "type": "string",
                    "description": "The user-specified name of the host prefix.\n"
                },
                "prefixes": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "The VPC-wide aggregates from which host-specific prefixes are allocated. May be IPv4 or IPv6.\n"
                },
                "type": {
                    "type": "string",
                    "description": "Controls network connectivity from the prefix to the host.\n"
                }
            },
            "type": "object",
            "required": [
                "ipam",
                "name",
                "prefixes",
                "type"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "coreweave:index/getNetworkingVpcHostPrefixIpam:getNetworkingVpcHostPrefixIpam": {
            "properties": {
                "gatewayAddressPolicy": {
                    "type": "string",
                    "description": "Describes which IP address from the prefix is allocated to the network gateway.\n"
                },
                "prefixLength": {
                    "type": "integer",
                    "description": "The desired length for each Node's allocation from the VPC-wide aggregate prefix.\n"
                }
            },
            "type": "object",
            "required": [
                "gatewayAddressPolicy",
                "prefixLength"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "coreweave:index/getNetworkingVpcIngress:getNetworkingVpcIngress": {
            "properties": {
                "disablePublicServices": {
                    "type": "boolean",
                    "description": "True if the VPC will prevent public prefixes advertised from Nodes from being imported into public-facing networks, making them inaccessible from the Internet. False otherwise.\n"
                }
            },
            "type": "object",
            "required": [
                "disablePublicServices"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "coreweave:index/getNetworkingVpcVpcPrefix:getNetworkingVpcVpcPrefix": {
            "properties": {
                "name": {
                    "type": "string"
                },
                "value": {
                    "type": "string"
                }
            },
            "type": "object",
            "required": [
                "name",
                "value"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "coreweave:index/getObjectStorageBucketPolicyDocumentStatement:getObjectStorageBucketPolicyDocumentStatement": {
            "properties": {
                "actions": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of action strings, e.g. `[\"s3:PutObject\"]`\n"
                },
                "condition": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string"
                        }
                    },
                    "description": "Map of condition operators to JSON expressions\n"
                },
                "effect": {
                    "type": "string",
                    "description": "`Allow` or `Deny`\n"
                },
                "principal": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "description": "Map of principal types to ARNs\n"
                },
                "resources": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of resource ARNs, e.g. `[\"arn:aws:s3:::bucket/*\"]`\n"
                },
                "sid": {
                    "type": "string",
                    "description": "An optional statement identifier\n"
                }
            },
            "type": "object"
        }
    },
    "provider": {
        "description": "The provider type for the coreweave package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n",
        "properties": {
            "endpoint": {
                "type": "string",
                "description": "CoreWeave API Endpoint. This can also be set via the COREWEAVE_API_ENDPOINT environment variable, which takes precedence. Defaults to `https://api.coreweave.com/`"
            },
            "httpTimeout": {
                "type": "string",
                "description": "Timeout duration for the HTTP client to use. This can also be set via the COREWEAVE_HTTP_TIMEOUT environment variable, which takes precedence. If unset, defaults to 10 seconds"
            },
            "s3Endpoint": {
                "type": "string",
                "description": "CoreWeave S3 Endpoint, used for CoreWeave Object Storage. This can also be set via the COREWEAVE_S3_ENDPOINT environment variable, which takes precedence. Defaults to `https://cwobject.com`"
            },
            "token": {
                "type": "string",
                "description": "CoreWeave API Token in the form `CW-SECRET-\u003csecret\u003e`. This can also be set via the COREWEAVE_API_TOKEN environment variable, which takes precedence.",
                "secret": true
            }
        },
        "inputProperties": {
            "endpoint": {
                "type": "string",
                "description": "CoreWeave API Endpoint. This can also be set via the COREWEAVE_API_ENDPOINT environment variable, which takes precedence. Defaults to `https://api.coreweave.com/`"
            },
            "httpTimeout": {
                "type": "string",
                "description": "Timeout duration for the HTTP client to use. This can also be set via the COREWEAVE_HTTP_TIMEOUT environment variable, which takes precedence. If unset, defaults to 10 seconds"
            },
            "s3Endpoint": {
                "type": "string",
                "description": "CoreWeave S3 Endpoint, used for CoreWeave Object Storage. This can also be set via the COREWEAVE_S3_ENDPOINT environment variable, which takes precedence. Defaults to `https://cwobject.com`"
            },
            "token": {
                "type": "string",
                "description": "CoreWeave API Token in the form `CW-SECRET-\u003csecret\u003e`. This can also be set via the COREWEAVE_API_TOKEN environment variable, which takes precedence.",
                "secret": true
            }
        },
        "methods": {
            "terraformConfig": "pulumi:providers:coreweave/terraformConfig"
        }
    },
    "resources": {
        "coreweave:index/cksCluster:CksCluster": {
            "description": "Create and manage clusters on [CoreWeave Kubernetes Service (CKS)](https://docs.coreweave.com/products/cks/clusters/introduction).\n\n## Import\n\n```sh\n$ pulumi import coreweave:index/cksCluster:CksCluster default {{id}}\n```\n\n",
            "properties": {
                "additionalServerSans": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Additional Subject Alternative Names (SANs) to include in the Kubernetes API server TLS certificate. Maximum 10 entries.\n"
                },
                "apiServerEndpoint": {
                    "type": "string",
                    "description": "The endpoint for the cluster's api-server.\n"
                },
                "auditPolicy": {
                    "type": "string",
                    "description": "Audit policy for the cluster. Must be provided as a base64-encoded JSON/YAML string.\n"
                },
                "authnWebhook": {
                    "$ref": "#/types/coreweave:index/CksClusterAuthnWebhook:CksClusterAuthnWebhook",
                    "description": "Authentication webhook configuration for the cluster.\n"
                },
                "authzWebhook": {
                    "$ref": "#/types/coreweave:index/CksClusterAuthzWebhook:CksClusterAuthzWebhook",
                    "description": "Authorization webhook configuration for the cluster.\n"
                },
                "internalLbCidrNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "The names of the vpc prefixes to use as internal load balancer CIDR ranges. Internal load balancers are reachable within the VPC but not accessible from the internet.\nThe prefixes must exist in the cluster's VPC. This field is append-only.\n"
                },
                "internalLbCidrNamesV6s": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IPv6 Internal Load Balancer CIDR names. If any IPv6 field is set, then ALL IPv6 fields must be set.\n"
                },
                "name": {
                    "type": "string",
                    "description": "The name of the cluster. Must not be longer than 30 characters.\n"
                },
                "nodePortRange": {
                    "$ref": "#/types/coreweave:index/CksClusterNodePortRange:CksClusterNodePortRange",
                    "description": "Kubernetes Service NodePort range. NodePort range can be expanded in existing clusters but not shrunk. Updating the NodePort range to a smaller range will require a replacement of the cluster.\n"
                },
                "oidc": {
                    "$ref": "#/types/coreweave:index/CksClusterOidc:CksClusterOidc",
                    "description": "OpenID Connect (OIDC) configuration for authentication to the api-server.\n"
                },
                "podCidrName": {
                    "type": "string",
                    "description": "The name of the vpc prefix to use as the pod CIDR range. The prefix must exist in the cluster's VPC.\n"
                },
                "podCidrNameV6": {
                    "type": "string",
                    "description": "IPv6 Pod CIDR name. If any IPv6 field is set, then ALL IPv6 fields must be set.\n"
                },
                "public": {
                    "type": "boolean",
                    "description": "Whether the cluster's api-server is publicly accessible from the internet.\n"
                },
                "serviceAccountOidcIssuerUrl": {
                    "type": "string",
                    "description": "The URL of the OIDC issuer for the cluster's service account tokens. This value corresponds to the `--service-account-issuer` flag on the kube-apiserver.\n"
                },
                "serviceCidrName": {
                    "type": "string",
                    "description": "The name of the vpc prefix to use as the service CIDR range. The prefix must exist in the cluster's VPC.\n"
                },
                "serviceCidrNameV6": {
                    "type": "string",
                    "description": "IPv6 Service CIDR name. If any IPv6 field is set, then ALL IPv6 fields must be set.\n"
                },
                "sharedStorageClusterId": {
                    "type": "string",
                    "description": "The \u003cspan pulumi-lang-nodejs=\"`clusterId`\" pulumi-lang-dotnet=\"`ClusterId`\" pulumi-lang-go=\"`clusterId`\" pulumi-lang-python=\"`cluster_id`\" pulumi-lang-yaml=\"`clusterId`\" pulumi-lang-java=\"`clusterId`\"\u003e`clusterId`\u003c/span\u003e of the cluster to share storage with. Must be enabled by CoreWeave suppport. Contact CoreWeave support if you are interested in this feature.\n"
                },
                "status": {
                    "type": "string",
                    "description": "The current status of the cluster.\n"
                },
                "version": {
                    "type": "string",
                    "description": "The version of Kubernetes to run on the cluster, in minor version format (e.g. 'v1.35'). Patch versions are automatically applied by CKS as they are released.\n"
                },
                "vpcId": {
                    "type": "string",
                    "description": "The ID of the VPC in which the cluster is located. Must be a VPC in the same Availability Zone as the cluster.\n"
                },
                "zone": {
                    "type": "string",
                    "description": "The Availability Zone in which the cluster is located.\n"
                }
            },
            "required": [
                "apiServerEndpoint",
                "internalLbCidrNames",
                "name",
                "nodePortRange",
                "podCidrName",
                "public",
                "serviceAccountOidcIssuerUrl",
                "serviceCidrName",
                "status",
                "version",
                "vpcId",
                "zone"
            ],
            "inputProperties": {
                "additionalServerSans": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Additional Subject Alternative Names (SANs) to include in the Kubernetes API server TLS certificate. Maximum 10 entries.\n"
                },
                "auditPolicy": {
                    "type": "string",
                    "description": "Audit policy for the cluster. Must be provided as a base64-encoded JSON/YAML string.\n"
                },
                "authnWebhook": {
                    "$ref": "#/types/coreweave:index/CksClusterAuthnWebhook:CksClusterAuthnWebhook",
                    "description": "Authentication webhook configuration for the cluster.\n"
                },
                "authzWebhook": {
                    "$ref": "#/types/coreweave:index/CksClusterAuthzWebhook:CksClusterAuthzWebhook",
                    "description": "Authorization webhook configuration for the cluster.\n"
                },
                "internalLbCidrNames": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "The names of the vpc prefixes to use as internal load balancer CIDR ranges. Internal load balancers are reachable within the VPC but not accessible from the internet.\nThe prefixes must exist in the cluster's VPC. This field is append-only.\n"
                },
                "internalLbCidrNamesV6s": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IPv6 Internal Load Balancer CIDR names. If any IPv6 field is set, then ALL IPv6 fields must be set.\n"
                },
                "name": {
                    "type": "string",
                    "description": "The name of the cluster. Must not be longer than 30 characters.\n"
                },
                "nodePortRange": {
                    "$ref": "#/types/coreweave:index/CksClusterNodePortRange:CksClusterNodePortRange",
                    "description": "Kubernetes Service NodePort range. NodePort range can be expanded in existing clusters but not shrunk. Updating the NodePort range to a smaller range will require a replacement of the cluster.\n"
                },
                "oidc": {
                    "$ref": "#/types/coreweave:index/CksClusterOidc:CksClusterOidc",
                    "description": "OpenID Connect (OIDC) configuration for authentication to the api-server.\n"
                },
                "podCidrName": {
                    "type": "string",
                    "description": "The name of the vpc prefix to use as the pod CIDR range. The prefix must exist in the cluster's VPC.\n"
                },
                "podCidrNameV6": {
                    "type": "string",
                    "description": "IPv6 Pod CIDR name. If any IPv6 field is set, then ALL IPv6 fields must be set.\n"
                },
                "public": {
                    "type": "boolean",
                    "description": "Whether the cluster's api-server is publicly accessible from the internet.\n"
                },
                "serviceCidrName": {
                    "type": "string",
                    "description": "The name of the vpc prefix to use as the service CIDR range. The prefix must exist in the cluster's VPC.\n"
                },
                "serviceCidrNameV6": {
                    "type": "string",
                    "description": "IPv6 Service CIDR name. If any IPv6 field is set, then ALL IPv6 fields must be set.\n"
                },
                "sharedStorageClusterId": {
                    "type": "string",
                    "description": "The \u003cspan pulumi-lang-nodejs=\"`clusterId`\" pulumi-lang-dotnet=\"`ClusterId`\" pulumi-lang-go=\"`clusterId`\" pulumi-lang-python=\"`cluster_id`\" pulumi-lang-yaml=\"`clusterId`\" pulumi-lang-java=\"`clusterId`\"\u003e`clusterId`\u003c/span\u003e of the cluster to share storage with. Must be enabled by CoreWeave suppport. Contact CoreWeave support if you are interested in this feature.\n"
                },
                "version": {
                    "type": "string",
                    "description": "The version of Kubernetes to run on the cluster, in minor version format (e.g. 'v1.35'). Patch versions are automatically applied by CKS as they are released.\n"
                },
                "vpcId": {
                    "type": "string",
                    "description": "The ID of the VPC in which the cluster is located. Must be a VPC in the same Availability Zone as the cluster.\n"
                },
                "zone": {
                    "type": "string",
                    "description": "The Availability Zone in which the cluster is located.\n"
                }
            },
            "requiredInputs": [
                "internalLbCidrNames",
                "podCidrName",
                "serviceCidrName",
                "version",
                "vpcId",
                "zone"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering CksCluster resources.\n",
                "properties": {
                    "additionalServerSans": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Additional Subject Alternative Names (SANs) to include in the Kubernetes API server TLS certificate. Maximum 10 entries.\n"
                    },
                    "apiServerEndpoint": {
                        "type": "string",
                        "description": "The endpoint for the cluster's api-server.\n"
                    },
                    "auditPolicy": {
                        "type": "string",
                        "description": "Audit policy for the cluster. Must be provided as a base64-encoded JSON/YAML string.\n"
                    },
                    "authnWebhook": {
                        "$ref": "#/types/coreweave:index/CksClusterAuthnWebhook:CksClusterAuthnWebhook",
                        "description": "Authentication webhook configuration for the cluster.\n"
                    },
                    "authzWebhook": {
                        "$ref": "#/types/coreweave:index/CksClusterAuthzWebhook:CksClusterAuthzWebhook",
                        "description": "Authorization webhook configuration for the cluster.\n"
                    },
                    "internalLbCidrNames": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "The names of the vpc prefixes to use as internal load balancer CIDR ranges. Internal load balancers are reachable within the VPC but not accessible from the internet.\nThe prefixes must exist in the cluster's VPC. This field is append-only.\n"
                    },
                    "internalLbCidrNamesV6s": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "IPv6 Internal Load Balancer CIDR names. If any IPv6 field is set, then ALL IPv6 fields must be set.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the cluster. Must not be longer than 30 characters.\n"
                    },
                    "nodePortRange": {
                        "$ref": "#/types/coreweave:index/CksClusterNodePortRange:CksClusterNodePortRange",
                        "description": "Kubernetes Service NodePort range. NodePort range can be expanded in existing clusters but not shrunk. Updating the NodePort range to a smaller range will require a replacement of the cluster.\n"
                    },
                    "oidc": {
                        "$ref": "#/types/coreweave:index/CksClusterOidc:CksClusterOidc",
                        "description": "OpenID Connect (OIDC) configuration for authentication to the api-server.\n"
                    },
                    "podCidrName": {
                        "type": "string",
                        "description": "The name of the vpc prefix to use as the pod CIDR range. The prefix must exist in the cluster's VPC.\n"
                    },
                    "podCidrNameV6": {
                        "type": "string",
                        "description": "IPv6 Pod CIDR name. If any IPv6 field is set, then ALL IPv6 fields must be set.\n"
                    },
                    "public": {
                        "type": "boolean",
                        "description": "Whether the cluster's api-server is publicly accessible from the internet.\n"
                    },
                    "serviceAccountOidcIssuerUrl": {
                        "type": "string",
                        "description": "The URL of the OIDC issuer for the cluster's service account tokens. This value corresponds to the `--service-account-issuer` flag on the kube-apiserver.\n"
                    },
                    "serviceCidrName": {
                        "type": "string",
                        "description": "The name of the vpc prefix to use as the service CIDR range. The prefix must exist in the cluster's VPC.\n"
                    },
                    "serviceCidrNameV6": {
                        "type": "string",
                        "description": "IPv6 Service CIDR name. If any IPv6 field is set, then ALL IPv6 fields must be set.\n"
                    },
                    "sharedStorageClusterId": {
                        "type": "string",
                        "description": "The \u003cspan pulumi-lang-nodejs=\"`clusterId`\" pulumi-lang-dotnet=\"`ClusterId`\" pulumi-lang-go=\"`clusterId`\" pulumi-lang-python=\"`cluster_id`\" pulumi-lang-yaml=\"`clusterId`\" pulumi-lang-java=\"`clusterId`\"\u003e`clusterId`\u003c/span\u003e of the cluster to share storage with. Must be enabled by CoreWeave suppport. Contact CoreWeave support if you are interested in this feature.\n"
                    },
                    "status": {
                        "type": "string",
                        "description": "The current status of the cluster.\n"
                    },
                    "version": {
                        "type": "string",
                        "description": "The version of Kubernetes to run on the cluster, in minor version format (e.g. 'v1.35'). Patch versions are automatically applied by CKS as they are released.\n"
                    },
                    "vpcId": {
                        "type": "string",
                        "description": "The ID of the VPC in which the cluster is located. Must be a VPC in the same Availability Zone as the cluster.\n"
                    },
                    "zone": {
                        "type": "string",
                        "description": "The Availability Zone in which the cluster is located.\n"
                    }
                },
                "type": "object"
            }
        },
        "coreweave:index/networkingVpc:NetworkingVpc": {
            "description": "Create and manage VPCs. Learn more about [CoreWeave VPCs](https://docs.coreweave.com/products/networking/vpc/about-vpcs).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as coreweave from \"@pulumi/coreweave\";\n\nconst example = new coreweave.NetworkingVpc(\"example\", {\n    name: \"default\",\n    zone: \"US-EAST-04A\",\n    hostPrefixes: [\n        {\n            name: \"primary\",\n            type: \"PRIMARY\",\n            prefixes: [\n                \"10.16.192.0/18\",\n                \"2601:db8:aaaa::/48\",\n            ],\n        },\n        {\n            name: \"container-network\",\n            type: \"ROUTED\",\n            prefixes: [\"2601:db8:bbbb::/48\"],\n            ipam: {\n                prefixLength: 80,\n                gatewayAddressPolicy: \"FIRST_IP\",\n            },\n        },\n        {\n            name: \"attached-network\",\n            type: \"ATTACHED\",\n            prefixes: [\"2601:db8:cccc::/48\"],\n            ipam: {\n                prefixLength: 64,\n            },\n        },\n    ],\n    vpcPrefixes: [\n        {\n            name: \"pod cidr\",\n            value: \"10.0.0.0/13\",\n        },\n        {\n            name: \"service cidr\",\n            value: \"10.16.0.0/22\",\n        },\n        {\n            name: \"internal lb cidr\",\n            value: \"10.32.4.0/22\",\n        },\n    ],\n    egress: {\n        disablePublicAccess: false,\n    },\n    ingress: {\n        disablePublicServices: false,\n    },\n    dhcp: {\n        dns: {\n            servers: [\n                \"1.1.1.1\",\n                \"8.8.8.8\",\n            ],\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_coreweave as coreweave\n\nexample = coreweave.NetworkingVpc(\"example\",\n    name=\"default\",\n    zone=\"US-EAST-04A\",\n    host_prefixes=[\n        {\n            \"name\": \"primary\",\n            \"type\": \"PRIMARY\",\n            \"prefixes\": [\n                \"10.16.192.0/18\",\n                \"2601:db8:aaaa::/48\",\n            ],\n        },\n        {\n            \"name\": \"container-network\",\n            \"type\": \"ROUTED\",\n            \"prefixes\": [\"2601:db8:bbbb::/48\"],\n            \"ipam\": {\n                \"prefix_length\": 80,\n                \"gateway_address_policy\": \"FIRST_IP\",\n            },\n        },\n        {\n            \"name\": \"attached-network\",\n            \"type\": \"ATTACHED\",\n            \"prefixes\": [\"2601:db8:cccc::/48\"],\n            \"ipam\": {\n                \"prefix_length\": 64,\n            },\n        },\n    ],\n    vpc_prefixes=[\n        {\n            \"name\": \"pod cidr\",\n            \"value\": \"10.0.0.0/13\",\n        },\n        {\n            \"name\": \"service cidr\",\n            \"value\": \"10.16.0.0/22\",\n        },\n        {\n            \"name\": \"internal lb cidr\",\n            \"value\": \"10.32.4.0/22\",\n        },\n    ],\n    egress={\n        \"disable_public_access\": False,\n    },\n    ingress={\n        \"disable_public_services\": False,\n    },\n    dhcp={\n        \"dns\": {\n            \"servers\": [\n                \"1.1.1.1\",\n                \"8.8.8.8\",\n            ],\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CoreWeave = Pulumi.CoreWeave;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new CoreWeave.NetworkingVpc(\"example\", new()\n    {\n        Name = \"default\",\n        Zone = \"US-EAST-04A\",\n        HostPrefixes = new[]\n        {\n            new CoreWeave.Inputs.NetworkingVpcHostPrefixArgs\n            {\n                Name = \"primary\",\n                Type = \"PRIMARY\",\n                Prefixes = new[]\n                {\n                    \"10.16.192.0/18\",\n                    \"2601:db8:aaaa::/48\",\n                },\n            },\n            new CoreWeave.Inputs.NetworkingVpcHostPrefixArgs\n            {\n                Name = \"container-network\",\n                Type = \"ROUTED\",\n                Prefixes = new[]\n                {\n                    \"2601:db8:bbbb::/48\",\n                },\n                Ipam = new CoreWeave.Inputs.NetworkingVpcHostPrefixIpamArgs\n                {\n                    PrefixLength = 80,\n                    GatewayAddressPolicy = \"FIRST_IP\",\n                },\n            },\n            new CoreWeave.Inputs.NetworkingVpcHostPrefixArgs\n            {\n                Name = \"attached-network\",\n                Type = \"ATTACHED\",\n                Prefixes = new[]\n                {\n                    \"2601:db8:cccc::/48\",\n                },\n                Ipam = new CoreWeave.Inputs.NetworkingVpcHostPrefixIpamArgs\n                {\n                    PrefixLength = 64,\n                },\n            },\n        },\n        VpcPrefixes = new[]\n        {\n            new CoreWeave.Inputs.NetworkingVpcVpcPrefixArgs\n            {\n                Name = \"pod cidr\",\n                Value = \"10.0.0.0/13\",\n            },\n            new CoreWeave.Inputs.NetworkingVpcVpcPrefixArgs\n            {\n                Name = \"service cidr\",\n                Value = \"10.16.0.0/22\",\n            },\n            new CoreWeave.Inputs.NetworkingVpcVpcPrefixArgs\n            {\n                Name = \"internal lb cidr\",\n                Value = \"10.32.4.0/22\",\n            },\n        },\n        Egress = new CoreWeave.Inputs.NetworkingVpcEgressArgs\n        {\n            DisablePublicAccess = false,\n        },\n        Ingress = new CoreWeave.Inputs.NetworkingVpcIngressArgs\n        {\n            DisablePublicServices = false,\n        },\n        Dhcp = new CoreWeave.Inputs.NetworkingVpcDhcpArgs\n        {\n            Dns = new CoreWeave.Inputs.NetworkingVpcDhcpDnsArgs\n            {\n                Servers = new[]\n                {\n                    \"1.1.1.1\",\n                    \"8.8.8.8\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-coreweave/sdk/go/coreweave\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := coreweave.NewNetworkingVpc(ctx, \"example\", \u0026coreweave.NetworkingVpcArgs{\n\t\t\tName: pulumi.String(\"default\"),\n\t\t\tZone: pulumi.String(\"US-EAST-04A\"),\n\t\t\tHostPrefixes: coreweave.NetworkingVpcHostPrefixArray{\n\t\t\t\t\u0026coreweave.NetworkingVpcHostPrefixArgs{\n\t\t\t\t\tName: pulumi.String(\"primary\"),\n\t\t\t\t\tType: pulumi.String(\"PRIMARY\"),\n\t\t\t\t\tPrefixes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"10.16.192.0/18\"),\n\t\t\t\t\t\tpulumi.String(\"2601:db8:aaaa::/48\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026coreweave.NetworkingVpcHostPrefixArgs{\n\t\t\t\t\tName: pulumi.String(\"container-network\"),\n\t\t\t\t\tType: pulumi.String(\"ROUTED\"),\n\t\t\t\t\tPrefixes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"2601:db8:bbbb::/48\"),\n\t\t\t\t\t},\n\t\t\t\t\tIpam: \u0026coreweave.NetworkingVpcHostPrefixIpamArgs{\n\t\t\t\t\t\tPrefixLength:         pulumi.Int(80),\n\t\t\t\t\t\tGatewayAddressPolicy: pulumi.String(\"FIRST_IP\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026coreweave.NetworkingVpcHostPrefixArgs{\n\t\t\t\t\tName: pulumi.String(\"attached-network\"),\n\t\t\t\t\tType: pulumi.String(\"ATTACHED\"),\n\t\t\t\t\tPrefixes: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"2601:db8:cccc::/48\"),\n\t\t\t\t\t},\n\t\t\t\t\tIpam: \u0026coreweave.NetworkingVpcHostPrefixIpamArgs{\n\t\t\t\t\t\tPrefixLength: pulumi.Int(64),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tVpcPrefixes: coreweave.NetworkingVpcVpcPrefixArray{\n\t\t\t\t\u0026coreweave.NetworkingVpcVpcPrefixArgs{\n\t\t\t\t\tName:  pulumi.String(\"pod cidr\"),\n\t\t\t\t\tValue: pulumi.String(\"10.0.0.0/13\"),\n\t\t\t\t},\n\t\t\t\t\u0026coreweave.NetworkingVpcVpcPrefixArgs{\n\t\t\t\t\tName:  pulumi.String(\"service cidr\"),\n\t\t\t\t\tValue: pulumi.String(\"10.16.0.0/22\"),\n\t\t\t\t},\n\t\t\t\t\u0026coreweave.NetworkingVpcVpcPrefixArgs{\n\t\t\t\t\tName:  pulumi.String(\"internal lb cidr\"),\n\t\t\t\t\tValue: pulumi.String(\"10.32.4.0/22\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEgress: \u0026coreweave.NetworkingVpcEgressArgs{\n\t\t\t\tDisablePublicAccess: pulumi.Bool(false),\n\t\t\t},\n\t\t\tIngress: \u0026coreweave.NetworkingVpcIngressArgs{\n\t\t\t\tDisablePublicServices: pulumi.Bool(false),\n\t\t\t},\n\t\t\tDhcp: \u0026coreweave.NetworkingVpcDhcpArgs{\n\t\t\t\tDns: \u0026coreweave.NetworkingVpcDhcpDnsArgs{\n\t\t\t\t\tServers: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"1.1.1.1\"),\n\t\t\t\t\t\tpulumi.String(\"8.8.8.8\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.coreweave.NetworkingVpc;\nimport com.pulumi.coreweave.NetworkingVpcArgs;\nimport com.pulumi.coreweave.inputs.NetworkingVpcHostPrefixArgs;\nimport com.pulumi.coreweave.inputs.NetworkingVpcHostPrefixIpamArgs;\nimport com.pulumi.coreweave.inputs.NetworkingVpcVpcPrefixArgs;\nimport com.pulumi.coreweave.inputs.NetworkingVpcEgressArgs;\nimport com.pulumi.coreweave.inputs.NetworkingVpcIngressArgs;\nimport com.pulumi.coreweave.inputs.NetworkingVpcDhcpArgs;\nimport com.pulumi.coreweave.inputs.NetworkingVpcDhcpDnsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new NetworkingVpc(\"example\", NetworkingVpcArgs.builder()\n            .name(\"default\")\n            .zone(\"US-EAST-04A\")\n            .hostPrefixes(            \n                NetworkingVpcHostPrefixArgs.builder()\n                    .name(\"primary\")\n                    .type(\"PRIMARY\")\n                    .prefixes(                    \n                        \"10.16.192.0/18\",\n                        \"2601:db8:aaaa::/48\")\n                    .build(),\n                NetworkingVpcHostPrefixArgs.builder()\n                    .name(\"container-network\")\n                    .type(\"ROUTED\")\n                    .prefixes(\"2601:db8:bbbb::/48\")\n                    .ipam(NetworkingVpcHostPrefixIpamArgs.builder()\n                        .prefixLength(%!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(80) (example.pp:12,30-32)))\n                        .gatewayAddressPolicy(\"FIRST_IP\")\n                        .build())\n                    .build(),\n                NetworkingVpcHostPrefixArgs.builder()\n                    .name(\"attached-network\")\n                    .type(\"ATTACHED\")\n                    .prefixes(\"2601:db8:cccc::/48\")\n                    .ipam(NetworkingVpcHostPrefixIpamArgs.builder()\n                        .prefixLength(%!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(64) (example.pp:20,22-24)))\n                        .build())\n                    .build())\n            .vpcPrefixes(            \n                NetworkingVpcVpcPrefixArgs.builder()\n                    .name(\"pod cidr\")\n                    .value(\"10.0.0.0/13\")\n                    .build(),\n                NetworkingVpcVpcPrefixArgs.builder()\n                    .name(\"service cidr\")\n                    .value(\"10.16.0.0/22\")\n                    .build(),\n                NetworkingVpcVpcPrefixArgs.builder()\n                    .name(\"internal lb cidr\")\n                    .value(\"10.32.4.0/22\")\n                    .build())\n            .egress(NetworkingVpcEgressArgs.builder()\n                .disablePublicAccess(false)\n                .build())\n            .ingress(NetworkingVpcIngressArgs.builder()\n                .disablePublicServices(false)\n                .build())\n            .dhcp(NetworkingVpcDhcpArgs.builder()\n                .dns(NetworkingVpcDhcpDnsArgs.builder()\n                    .servers(                    \n                        \"1.1.1.1\",\n                        \"8.8.8.8\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: coreweave:NetworkingVpc\n    properties:\n      name: default\n      zone: US-EAST-04A\n      hostPrefixes:\n        - name: primary\n          type: PRIMARY\n          prefixes:\n            - 10.16.192.0/18\n            - 2601:db8:aaaa::/48\n        - name: container-network\n          type: ROUTED\n          prefixes:\n            - 2601:db8:bbbb::/48\n          ipam:\n            prefixLength: 80\n            gatewayAddressPolicy: FIRST_IP\n        - name: attached-network\n          type: ATTACHED\n          prefixes:\n            - 2601:db8:cccc::/48\n          ipam:\n            prefixLength: 64\n      vpcPrefixes:\n        - name: pod cidr\n          value: 10.0.0.0/13\n        - name: service cidr\n          value: 10.16.0.0/22\n        - name: internal lb cidr\n          value: 10.32.4.0/22\n      egress:\n        disablePublicAccess: false\n      ingress:\n        disablePublicServices: false\n      dhcp:\n        dns:\n          servers:\n            - 1.1.1.1\n            - 8.8.8.8\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import coreweave:index/networkingVpc:NetworkingVpc default {{id}}\n```\n\n",
            "properties": {
                "dhcp": {
                    "$ref": "#/types/coreweave:index/NetworkingVpcDhcp:NetworkingVpcDhcp",
                    "description": "Settings affecting DHCP behavior within the VPC.\n"
                },
                "egress": {
                    "$ref": "#/types/coreweave:index/NetworkingVpcEgress:NetworkingVpcEgress",
                    "description": "Settings affecting traffic leaving the VPC.\n"
                },
                "hostPrefix": {
                    "type": "string",
                    "description": "An IPv4 CIDR range used to allocate host addresses when booting compute into a VPC.\nThis CIDR must be have a mask size of /18. If left unspecified, a Zone-specific default value will be applied by the server.\nThis field is immutable once set.\n",
                    "deprecationMessage": "\u003cspan pulumi-lang-nodejs=\"`hostPrefix`\" pulumi-lang-dotnet=\"`HostPrefix`\" pulumi-lang-go=\"`hostPrefix`\" pulumi-lang-python=\"`host_prefix`\" pulumi-lang-yaml=\"`hostPrefix`\" pulumi-lang-java=\"`hostPrefix`\"\u003e`hostPrefix`\u003c/span\u003e is deprecated. Use \u003cspan pulumi-lang-nodejs=\"`hostPrefixes`\" pulumi-lang-dotnet=\"`HostPrefixes`\" pulumi-lang-go=\"`hostPrefixes`\" pulumi-lang-python=\"`host_prefixes`\" pulumi-lang-yaml=\"`hostPrefixes`\" pulumi-lang-java=\"`hostPrefixes`\"\u003e`hostPrefixes`\u003c/span\u003e instead. The field will be removed in a future version. The equivalent expression for a given resource may be found by refreshing state and running `terraform state show coreweave_networking_vpc.example`."
                },
                "hostPrefixes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/coreweave:index/NetworkingVpcHostPrefix:NetworkingVpcHostPrefix"
                    },
                    "description": "The IPv4 or IPv6 CIDR ranges used to allocate host addresses when booting compute into a VPC.\n"
                },
                "ingress": {
                    "$ref": "#/types/coreweave:index/NetworkingVpcIngress:NetworkingVpcIngress",
                    "description": "Settings affecting traffic entering the VPC.\n"
                },
                "name": {
                    "type": "string",
                    "description": "The name of the VPC. Must not be longer than 30 characters.\n"
                },
                "vpcPrefixes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/coreweave:index/NetworkingVpcVpcPrefix:NetworkingVpcVpcPrefix"
                    },
                    "description": "A list of additional prefixes associated with the VPC. For example, CKS clusters use these prefixes for Pod and service CIDR ranges.\n"
                },
                "zone": {
                    "type": "string",
                    "description": "The Availability Zone in which the VPC is located.\n"
                }
            },
            "required": [
                "egress",
                "hostPrefix",
                "hostPrefixes",
                "ingress",
                "name",
                "zone"
            ],
            "inputProperties": {
                "dhcp": {
                    "$ref": "#/types/coreweave:index/NetworkingVpcDhcp:NetworkingVpcDhcp",
                    "description": "Settings affecting DHCP behavior within the VPC.\n"
                },
                "egress": {
                    "$ref": "#/types/coreweave:index/NetworkingVpcEgress:NetworkingVpcEgress",
                    "description": "Settings affecting traffic leaving the VPC.\n"
                },
                "hostPrefix": {
                    "type": "string",
                    "description": "An IPv4 CIDR range used to allocate host addresses when booting compute into a VPC.\nThis CIDR must be have a mask size of /18. If left unspecified, a Zone-specific default value will be applied by the server.\nThis field is immutable once set.\n",
                    "deprecationMessage": "\u003cspan pulumi-lang-nodejs=\"`hostPrefix`\" pulumi-lang-dotnet=\"`HostPrefix`\" pulumi-lang-go=\"`hostPrefix`\" pulumi-lang-python=\"`host_prefix`\" pulumi-lang-yaml=\"`hostPrefix`\" pulumi-lang-java=\"`hostPrefix`\"\u003e`hostPrefix`\u003c/span\u003e is deprecated. Use \u003cspan pulumi-lang-nodejs=\"`hostPrefixes`\" pulumi-lang-dotnet=\"`HostPrefixes`\" pulumi-lang-go=\"`hostPrefixes`\" pulumi-lang-python=\"`host_prefixes`\" pulumi-lang-yaml=\"`hostPrefixes`\" pulumi-lang-java=\"`hostPrefixes`\"\u003e`hostPrefixes`\u003c/span\u003e instead. The field will be removed in a future version. The equivalent expression for a given resource may be found by refreshing state and running `terraform state show coreweave_networking_vpc.example`."
                },
                "hostPrefixes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/coreweave:index/NetworkingVpcHostPrefix:NetworkingVpcHostPrefix"
                    },
                    "description": "The IPv4 or IPv6 CIDR ranges used to allocate host addresses when booting compute into a VPC.\n"
                },
                "ingress": {
                    "$ref": "#/types/coreweave:index/NetworkingVpcIngress:NetworkingVpcIngress",
                    "description": "Settings affecting traffic entering the VPC.\n"
                },
                "name": {
                    "type": "string",
                    "description": "The name of the VPC. Must not be longer than 30 characters.\n"
                },
                "vpcPrefixes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/coreweave:index/NetworkingVpcVpcPrefix:NetworkingVpcVpcPrefix"
                    },
                    "description": "A list of additional prefixes associated with the VPC. For example, CKS clusters use these prefixes for Pod and service CIDR ranges.\n"
                },
                "zone": {
                    "type": "string",
                    "description": "The Availability Zone in which the VPC is located.\n"
                }
            },
            "requiredInputs": [
                "zone"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering NetworkingVpc resources.\n",
                "properties": {
                    "dhcp": {
                        "$ref": "#/types/coreweave:index/NetworkingVpcDhcp:NetworkingVpcDhcp",
                        "description": "Settings affecting DHCP behavior within the VPC.\n"
                    },
                    "egress": {
                        "$ref": "#/types/coreweave:index/NetworkingVpcEgress:NetworkingVpcEgress",
                        "description": "Settings affecting traffic leaving the VPC.\n"
                    },
                    "hostPrefix": {
                        "type": "string",
                        "description": "An IPv4 CIDR range used to allocate host addresses when booting compute into a VPC.\nThis CIDR must be have a mask size of /18. If left unspecified, a Zone-specific default value will be applied by the server.\nThis field is immutable once set.\n",
                        "deprecationMessage": "\u003cspan pulumi-lang-nodejs=\"`hostPrefix`\" pulumi-lang-dotnet=\"`HostPrefix`\" pulumi-lang-go=\"`hostPrefix`\" pulumi-lang-python=\"`host_prefix`\" pulumi-lang-yaml=\"`hostPrefix`\" pulumi-lang-java=\"`hostPrefix`\"\u003e`hostPrefix`\u003c/span\u003e is deprecated. Use \u003cspan pulumi-lang-nodejs=\"`hostPrefixes`\" pulumi-lang-dotnet=\"`HostPrefixes`\" pulumi-lang-go=\"`hostPrefixes`\" pulumi-lang-python=\"`host_prefixes`\" pulumi-lang-yaml=\"`hostPrefixes`\" pulumi-lang-java=\"`hostPrefixes`\"\u003e`hostPrefixes`\u003c/span\u003e instead. The field will be removed in a future version. The equivalent expression for a given resource may be found by refreshing state and running `terraform state show coreweave_networking_vpc.example`."
                    },
                    "hostPrefixes": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/coreweave:index/NetworkingVpcHostPrefix:NetworkingVpcHostPrefix"
                        },
                        "description": "The IPv4 or IPv6 CIDR ranges used to allocate host addresses when booting compute into a VPC.\n"
                    },
                    "ingress": {
                        "$ref": "#/types/coreweave:index/NetworkingVpcIngress:NetworkingVpcIngress",
                        "description": "Settings affecting traffic entering the VPC.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "The name of the VPC. Must not be longer than 30 characters.\n"
                    },
                    "vpcPrefixes": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/coreweave:index/NetworkingVpcVpcPrefix:NetworkingVpcVpcPrefix"
                        },
                        "description": "A list of additional prefixes associated with the VPC. For example, CKS clusters use these prefixes for Pod and service CIDR ranges.\n"
                    },
                    "zone": {
                        "type": "string",
                        "description": "The Availability Zone in which the VPC is located.\n"
                    }
                },
                "type": "object"
            }
        },
        "coreweave:index/objectStorageBucket:ObjectStorageBucket": {
            "description": "Buckets are the primary organizational containers for your data in CoreWeave AI Object Storage. Bucket names must be globally-unique and not begin with `cw-` or `vip-`, which are reserved for internal use. Learn more about [creating buckets](https://docs.coreweave.com/products/storage/object-storage/buckets/create-bucket).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as coreweave from \"@pulumi/coreweave\";\n\nconst _default = new coreweave.ObjectStorageBucket(\"default\", {\n    name: \"my-tf-test-bucket\",\n    zone: \"US-EAST-04A\",\n    tags: {\n        foo: \"bar\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_coreweave as coreweave\n\ndefault = coreweave.ObjectStorageBucket(\"default\",\n    name=\"my-tf-test-bucket\",\n    zone=\"US-EAST-04A\",\n    tags={\n        \"foo\": \"bar\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CoreWeave = Pulumi.CoreWeave;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = new CoreWeave.ObjectStorageBucket(\"default\", new()\n    {\n        Name = \"my-tf-test-bucket\",\n        Zone = \"US-EAST-04A\",\n        Tags = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-coreweave/sdk/go/coreweave\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := coreweave.NewObjectStorageBucket(ctx, \"default\", \u0026coreweave.ObjectStorageBucketArgs{\n\t\t\tName: pulumi.String(\"my-tf-test-bucket\"),\n\t\t\tZone: pulumi.String(\"US-EAST-04A\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.coreweave.ObjectStorageBucket;\nimport com.pulumi.coreweave.ObjectStorageBucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var default_ = new ObjectStorageBucket(\"default\", ObjectStorageBucketArgs.builder()\n            .name(\"my-tf-test-bucket\")\n            .zone(\"US-EAST-04A\")\n            .tags(Map.of(\"foo\", \"bar\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  default:\n    type: coreweave:ObjectStorageBucket\n    properties:\n      name: my-tf-test-bucket\n      zone: US-EAST-04A\n      tags:\n        foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import coreweave:index/objectStorageBucket:ObjectStorageBucket default {{name}}\n```\n\n",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "The name of the bucket, must be unique\n"
                },
                "tags": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Map of tags to assign to the bucket.\n"
                },
                "zone": {
                    "type": "string",
                    "description": "The Availability Zone in which the bucket is located.\n"
                }
            },
            "required": [
                "name",
                "zone"
            ],
            "inputProperties": {
                "name": {
                    "type": "string",
                    "description": "The name of the bucket, must be unique\n"
                },
                "tags": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Map of tags to assign to the bucket.\n"
                },
                "zone": {
                    "type": "string",
                    "description": "The Availability Zone in which the bucket is located.\n"
                }
            },
            "requiredInputs": [
                "zone"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ObjectStorageBucket resources.\n",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "The name of the bucket, must be unique\n"
                    },
                    "tags": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "string"
                        },
                        "description": "Map of tags to assign to the bucket.\n"
                    },
                    "zone": {
                        "type": "string",
                        "description": "The Availability Zone in which the bucket is located.\n"
                    }
                },
                "type": "object"
            }
        },
        "coreweave:index/objectStorageBucketLifecycleConfiguration:ObjectStorageBucketLifecycleConfiguration": {
            "description": "Lifecycle configurations automate object management by defining actions applied to objects over time, such as expiring objects after a specified period or transitioning them to different storage tiers. This helps optimize storage costs and maintain data hygiene. Lifecycle configurations automate object management by defining actions applied to objects over time, such as expiring objects after a specified period or transitioning them to different storage tiers. This helps optimize storage costs and maintain data hygiene. [Learn more about S3-compatible lifecycle bucket configurations](https://docs.coreweave.com/products/storage/object-storage/reference/object-storage-s3#bucket-lifecycles).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as coreweave from \"@pulumi/coreweave\";\n\nconst _default = new coreweave.ObjectStorageBucket(\"default\", {\n    name: \"bucket-lifecycle-example\",\n    zone: \"US-EAST-04A\",\n});\nconst defaultObjectStorageBucketVersioning = new coreweave.ObjectStorageBucketVersioning(\"default\", {\n    bucket: _default.name,\n    versioningConfiguration: {\n        status: \"Enabled\",\n    },\n});\nconst defaultObjectStorageBucketLifecycleConfiguration = new coreweave.ObjectStorageBucketLifecycleConfiguration(\"default\", {\n    bucket: _default.name,\n    rules: [\n        {\n            id: \"cleanup-logs\",\n            status: \"Enabled\",\n            filter: {\n                and: {\n                    prefix: \"logs/\",\n                    objectSizeGreaterThan: 1000000,\n                    tags: {\n                        env: \"prod\",\n                    },\n                },\n            },\n            expiration: {\n                days: 30,\n            },\n            noncurrentVersionExpiration: {\n                noncurrentDays: 7,\n                newerNoncurrentVersions: 2,\n            },\n        },\n        {\n            id: \"expire-traces\",\n            prefix: \"traces/\",\n            status: \"Enabled\",\n            abortIncompleteMultipartUpload: {\n                daysAfterInitiation: 5,\n            },\n            expiration: {\n                date: \"2026-01-01T00:00:00Z\",\n            },\n        },\n    ],\n}, {\n    dependsOn: [defaultObjectStorageBucketVersioning],\n});\n```\n```python\nimport pulumi\nimport pulumi_coreweave as coreweave\n\ndefault = coreweave.ObjectStorageBucket(\"default\",\n    name=\"bucket-lifecycle-example\",\n    zone=\"US-EAST-04A\")\ndefault_object_storage_bucket_versioning = coreweave.ObjectStorageBucketVersioning(\"default\",\n    bucket=default.name,\n    versioning_configuration={\n        \"status\": \"Enabled\",\n    })\ndefault_object_storage_bucket_lifecycle_configuration = coreweave.ObjectStorageBucketLifecycleConfiguration(\"default\",\n    bucket=default.name,\n    rules=[\n        {\n            \"id\": \"cleanup-logs\",\n            \"status\": \"Enabled\",\n            \"filter\": {\n                \"and_\": {\n                    \"prefix\": \"logs/\",\n                    \"object_size_greater_than\": 1000000,\n                    \"tags\": {\n                        \"env\": \"prod\",\n                    },\n                },\n            },\n            \"expiration\": {\n                \"days\": 30,\n            },\n            \"noncurrent_version_expiration\": {\n                \"noncurrent_days\": 7,\n                \"newer_noncurrent_versions\": 2,\n            },\n        },\n        {\n            \"id\": \"expire-traces\",\n            \"prefix\": \"traces/\",\n            \"status\": \"Enabled\",\n            \"abort_incomplete_multipart_upload\": {\n                \"days_after_initiation\": 5,\n            },\n            \"expiration\": {\n                \"date\": \"2026-01-01T00:00:00Z\",\n            },\n        },\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[default_object_storage_bucket_versioning]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CoreWeave = Pulumi.CoreWeave;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = new CoreWeave.ObjectStorageBucket(\"default\", new()\n    {\n        Name = \"bucket-lifecycle-example\",\n        Zone = \"US-EAST-04A\",\n    });\n\n    var defaultObjectStorageBucketVersioning = new CoreWeave.ObjectStorageBucketVersioning(\"default\", new()\n    {\n        Bucket = @default.Name,\n        VersioningConfiguration = new CoreWeave.Inputs.ObjectStorageBucketVersioningVersioningConfigurationArgs\n        {\n            Status = \"Enabled\",\n        },\n    });\n\n    var defaultObjectStorageBucketLifecycleConfiguration = new CoreWeave.ObjectStorageBucketLifecycleConfiguration(\"default\", new()\n    {\n        Bucket = @default.Name,\n        Rules = new[]\n        {\n            new CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleArgs\n            {\n                Id = \"cleanup-logs\",\n                Status = \"Enabled\",\n                Filter = new CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleFilterArgs\n                {\n                    And = new CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleFilterAndArgs\n                    {\n                        Prefix = \"logs/\",\n                        ObjectSizeGreaterThan = 1000000,\n                        Tags = \n                        {\n                            { \"env\", \"prod\" },\n                        },\n                    },\n                },\n                Expiration = new CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleExpirationArgs\n                {\n                    Days = 30,\n                },\n                NoncurrentVersionExpiration = new CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionExpirationArgs\n                {\n                    NoncurrentDays = 7,\n                    NewerNoncurrentVersions = 2,\n                },\n            },\n            new CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleArgs\n            {\n                Id = \"expire-traces\",\n                Prefix = \"traces/\",\n                Status = \"Enabled\",\n                AbortIncompleteMultipartUpload = new CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs\n                {\n                    DaysAfterInitiation = 5,\n                },\n                Expiration = new CoreWeave.Inputs.ObjectStorageBucketLifecycleConfigurationRuleExpirationArgs\n                {\n                    Date = \"2026-01-01T00:00:00Z\",\n                },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            defaultObjectStorageBucketVersioning,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-coreweave/sdk/go/coreweave\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := coreweave.NewObjectStorageBucket(ctx, \"default\", \u0026coreweave.ObjectStorageBucketArgs{\n\t\t\tName: pulumi.String(\"bucket-lifecycle-example\"),\n\t\t\tZone: pulumi.String(\"US-EAST-04A\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdefaultObjectStorageBucketVersioning, err := coreweave.NewObjectStorageBucketVersioning(ctx, \"default\", \u0026coreweave.ObjectStorageBucketVersioningArgs{\n\t\t\tBucket: _default.Name,\n\t\t\tVersioningConfiguration: \u0026coreweave.ObjectStorageBucketVersioningVersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = coreweave.NewObjectStorageBucketLifecycleConfiguration(ctx, \"default\", \u0026coreweave.ObjectStorageBucketLifecycleConfigurationArgs{\n\t\t\tBucket: _default.Name,\n\t\t\tRules: coreweave.ObjectStorageBucketLifecycleConfigurationRuleArray{\n\t\t\t\t\u0026coreweave.ObjectStorageBucketLifecycleConfigurationRuleArgs{\n\t\t\t\t\tId:     pulumi.String(\"cleanup-logs\"),\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\tFilter: \u0026coreweave.ObjectStorageBucketLifecycleConfigurationRuleFilterArgs{\n\t\t\t\t\t\tAnd: \u0026coreweave.ObjectStorageBucketLifecycleConfigurationRuleFilterAndArgs{\n\t\t\t\t\t\t\tPrefix:                pulumi.String(\"logs/\"),\n\t\t\t\t\t\t\tObjectSizeGreaterThan: pulumi.Int(1000000),\n\t\t\t\t\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"env\": pulumi.String(\"prod\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tExpiration: \u0026coreweave.ObjectStorageBucketLifecycleConfigurationRuleExpirationArgs{\n\t\t\t\t\t\tDays: pulumi.Int(30),\n\t\t\t\t\t},\n\t\t\t\t\tNoncurrentVersionExpiration: \u0026coreweave.ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionExpirationArgs{\n\t\t\t\t\t\tNoncurrentDays:          pulumi.Int(7),\n\t\t\t\t\t\tNewerNoncurrentVersions: pulumi.Int(2),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026coreweave.ObjectStorageBucketLifecycleConfigurationRuleArgs{\n\t\t\t\t\tId:     pulumi.String(\"expire-traces\"),\n\t\t\t\t\tPrefix: pulumi.String(\"traces/\"),\n\t\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t\t\tAbortIncompleteMultipartUpload: \u0026coreweave.ObjectStorageBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs{\n\t\t\t\t\t\tDaysAfterInitiation: pulumi.Int(5),\n\t\t\t\t\t},\n\t\t\t\t\tExpiration: \u0026coreweave.ObjectStorageBucketLifecycleConfigurationRuleExpirationArgs{\n\t\t\t\t\t\tDate: pulumi.String(\"2026-01-01T00:00:00Z\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tdefaultObjectStorageBucketVersioning,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.coreweave.ObjectStorageBucket;\nimport com.pulumi.coreweave.ObjectStorageBucketArgs;\nimport com.pulumi.coreweave.ObjectStorageBucketVersioning;\nimport com.pulumi.coreweave.ObjectStorageBucketVersioningArgs;\nimport com.pulumi.coreweave.inputs.ObjectStorageBucketVersioningVersioningConfigurationArgs;\nimport com.pulumi.coreweave.ObjectStorageBucketLifecycleConfiguration;\nimport com.pulumi.coreweave.ObjectStorageBucketLifecycleConfigurationArgs;\nimport com.pulumi.coreweave.inputs.ObjectStorageBucketLifecycleConfigurationRuleArgs;\nimport com.pulumi.coreweave.inputs.ObjectStorageBucketLifecycleConfigurationRuleFilterArgs;\nimport com.pulumi.coreweave.inputs.ObjectStorageBucketLifecycleConfigurationRuleFilterAndArgs;\nimport com.pulumi.coreweave.inputs.ObjectStorageBucketLifecycleConfigurationRuleExpirationArgs;\nimport com.pulumi.coreweave.inputs.ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionExpirationArgs;\nimport com.pulumi.coreweave.inputs.ObjectStorageBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var default_ = new ObjectStorageBucket(\"default\", ObjectStorageBucketArgs.builder()\n            .name(\"bucket-lifecycle-example\")\n            .zone(\"US-EAST-04A\")\n            .build());\n\n        var defaultObjectStorageBucketVersioning = new ObjectStorageBucketVersioning(\"defaultObjectStorageBucketVersioning\", ObjectStorageBucketVersioningArgs.builder()\n            .bucket(default_.name())\n            .versioningConfiguration(ObjectStorageBucketVersioningVersioningConfigurationArgs.builder()\n                .status(\"Enabled\")\n                .build())\n            .build());\n\n        var defaultObjectStorageBucketLifecycleConfiguration = new ObjectStorageBucketLifecycleConfiguration(\"defaultObjectStorageBucketLifecycleConfiguration\", ObjectStorageBucketLifecycleConfigurationArgs.builder()\n            .bucket(default_.name())\n            .rules(            \n                ObjectStorageBucketLifecycleConfigurationRuleArgs.builder()\n                    .id(\"cleanup-logs\")\n                    .status(\"Enabled\")\n                    .filter(ObjectStorageBucketLifecycleConfigurationRuleFilterArgs.builder()\n                        .and(ObjectStorageBucketLifecycleConfigurationRuleFilterAndArgs.builder()\n                            .prefix(\"logs/\")\n                            .objectSizeGreaterThan(%!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(1e+06) (example.pp:26,33-40)))\n                            .tags(Map.of(\"env\", \"prod\"))\n                            .build())\n                        .build())\n                    .expiration(ObjectStorageBucketLifecycleConfigurationRuleExpirationArgs.builder()\n                        .days(%!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(30) (example.pp:33,14-16)))\n                        .build())\n                    .noncurrentVersionExpiration(ObjectStorageBucketLifecycleConfigurationRuleNoncurrentVersionExpirationArgs.builder()\n                        .noncurrentDays(%!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(7) (example.pp:36,33-34)))\n                        .newerNoncurrentVersions(%!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(2) (example.pp:37,33-34)))\n                        .build())\n                    .build(),\n                ObjectStorageBucketLifecycleConfigurationRuleArgs.builder()\n                    .id(\"expire-traces\")\n                    .prefix(\"traces/\")\n                    .status(\"Enabled\")\n                    .abortIncompleteMultipartUpload(ObjectStorageBucketLifecycleConfigurationRuleAbortIncompleteMultipartUploadArgs.builder()\n                        .daysAfterInitiation(%!v(PANIC=Format method: fatal: A failure has occurred: unexpected literal type in GenLiteralValueExpression: cty.NumberIntVal(5) (example.pp:44,29-30)))\n                        .build())\n                    .expiration(ObjectStorageBucketLifecycleConfigurationRuleExpirationArgs.builder()\n                        .date(\"2026-01-01T00:00:00Z\")\n                        .build())\n                    .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(defaultObjectStorageBucketVersioning)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  default:\n    type: coreweave:ObjectStorageBucket\n    properties:\n      name: bucket-lifecycle-example\n      zone: US-EAST-04A\n  defaultObjectStorageBucketVersioning:\n    type: coreweave:ObjectStorageBucketVersioning\n    name: default\n    properties:\n      bucket: ${default.name}\n      versioningConfiguration:\n        status: Enabled\n  defaultObjectStorageBucketLifecycleConfiguration:\n    type: coreweave:ObjectStorageBucketLifecycleConfiguration\n    name: default\n    properties:\n      bucket: ${default.name}\n      rules:\n        - id: cleanup-logs\n          status: Enabled\n          filter:\n            and:\n              prefix: logs/\n              objectSizeGreaterThan: 1e+06\n              tags:\n                env: prod\n          expiration:\n            days: 30\n          noncurrentVersionExpiration:\n            noncurrentDays: 7\n            newerNoncurrentVersions: 2\n        - id: expire-traces\n          prefix: traces/\n          status: Enabled\n          abortIncompleteMultipartUpload:\n            daysAfterInitiation: 5\n          expiration:\n            date: 2026-01-01T00:00:00Z\n    options:\n      dependsOn:\n        - ${defaultObjectStorageBucketVersioning}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import coreweave:index/objectStorageBucketLifecycleConfiguration:ObjectStorageBucketLifecycleConfiguration default {{bucket_name}}\n```\n\n",
            "properties": {
                "bucket": {
                    "type": "string",
                    "description": "Name of the bucket to apply lifecycle configuration to\n"
                },
                "rules": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/coreweave:index/ObjectStorageBucketLifecycleConfigurationRule:ObjectStorageBucketLifecycleConfigurationRule"
                    },
                    "description": "One or more lifecycle rule blocks\n"
                }
            },
            "required": [
                "bucket"
            ],
            "inputProperties": {
                "bucket": {
                    "type": "string",
                    "description": "Name of the bucket to apply lifecycle configuration to\n"
                },
                "rules": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/coreweave:index/ObjectStorageBucketLifecycleConfigurationRule:ObjectStorageBucketLifecycleConfigurationRule"
                    },
                    "description": "One or more lifecycle rule blocks\n"
                }
            },
            "requiredInputs": [
                "bucket"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ObjectStorageBucketLifecycleConfiguration resources.\n",
                "properties": {
                    "bucket": {
                        "type": "string",
                        "description": "Name of the bucket to apply lifecycle configuration to\n"
                    },
                    "rules": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/coreweave:index/ObjectStorageBucketLifecycleConfigurationRule:ObjectStorageBucketLifecycleConfigurationRule"
                        },
                        "description": "One or more lifecycle rule blocks\n"
                    }
                },
                "type": "object"
            }
        },
        "coreweave:index/objectStorageBucketPolicy:ObjectStorageBucketPolicy": {
            "description": "[Bucket access policies](https://docs.coreweave.com/products/storage/object-storage/auth-access/bucket-access/bucket-policies) allow you to define precise, S3-compatible access control for one bucket. These are optional, and are evaluated after organization access policies. See [Manage Bucket Policies](https://docs.coreweave.com/products/storage/object-storage/auth-access/bucket-access/manage-bucket-policies#example-policies) for examples and further information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as coreweave from \"@pulumi/coreweave\";\n\nconst raw = new coreweave.ObjectStorageBucket(\"raw\", {\n    name: \"bucket-policy-raw-example\",\n    zone: \"US-EAST-04A\",\n});\nconst bucketPolicy = {\n    version: \"2012-10-17\",\n    statement: [{\n        sid: \"allow-all\",\n        effect: \"Allow\",\n        principal: {\n            CW: \"*\",\n        },\n        action: [\"s3:*\"],\n        resource: [pulumi.interpolate`arn:aws:s3:::${raw.name}`],\n    }],\n};\nconst rawObjectStorageBucketPolicy = new coreweave.ObjectStorageBucketPolicy(\"raw\", {\n    bucket: raw.name,\n    policy: pulumi.jsonStringify(bucketPolicy),\n});\n//# Example using the coreweave_object_storage_bucket_policy_document data source\nconst docObjectStorageBucket = new coreweave.ObjectStorageBucket(\"doc\", {\n    name: \"bucket-policy-doc-example\",\n    zone: \"US-EAST-04A\",\n});\nconst doc = coreweave.getObjectStorageBucketPolicyDocumentOutput({\n    version: \"2012-10-17\",\n    statements: [\n        {\n            sid: \"allow-all\",\n            effect: \"Allow\",\n            actions: [\"s3:*\"],\n            resources: [pulumi.interpolate`arn:aws:s3:::${docObjectStorageBucket.name}`],\n            principal: {\n                CW: [\"*\"],\n            },\n        },\n        {\n            sid: \"DenyIfPrefixEquals\",\n            effect: \"Deny\",\n            actions: [\"s3:ListBucket\"],\n            resources: [pulumi.interpolate`arn:aws:s3:::${docObjectStorageBucket.name}`],\n            principal: {\n                CW: [\"*\"],\n            },\n            condition: {\n                StringNotEquals: {\n                    \"s3:prefix\": \"projects\",\n                },\n            },\n        },\n    ],\n});\nconst docObjectStorageBucketPolicy = new coreweave.ObjectStorageBucketPolicy(\"doc\", {\n    bucket: docObjectStorageBucket.name,\n    policy: doc.apply(doc =\u003e doc.json),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_coreweave as coreweave\n\nraw = coreweave.ObjectStorageBucket(\"raw\",\n    name=\"bucket-policy-raw-example\",\n    zone=\"US-EAST-04A\")\nbucket_policy = {\n    \"version\": \"2012-10-17\",\n    \"statement\": [{\n        \"sid\": \"allow-all\",\n        \"effect\": \"Allow\",\n        \"principal\": {\n            \"CW\": \"*\",\n        },\n        \"action\": [\"s3:*\"],\n        \"resource\": [raw.name.apply(lambda name: f\"arn:aws:s3:::{name}\")],\n    }],\n}\nraw_object_storage_bucket_policy = coreweave.ObjectStorageBucketPolicy(\"raw\",\n    bucket=raw.name,\n    policy=pulumi.Output.json_dumps(bucket_policy))\n## Example using the coreweave_object_storage_bucket_policy_document data source\ndoc_object_storage_bucket = coreweave.ObjectStorageBucket(\"doc\",\n    name=\"bucket-policy-doc-example\",\n    zone=\"US-EAST-04A\")\ndoc = coreweave.get_object_storage_bucket_policy_document_output(version=\"2012-10-17\",\n    statements=[\n        {\n            \"sid\": \"allow-all\",\n            \"effect\": \"Allow\",\n            \"actions\": [\"s3:*\"],\n            \"resources\": [doc_object_storage_bucket.name.apply(lambda name: f\"arn:aws:s3:::{name}\")],\n            \"principal\": {\n                \"CW\": [\"*\"],\n            },\n        },\n        {\n            \"sid\": \"DenyIfPrefixEquals\",\n            \"effect\": \"Deny\",\n            \"actions\": [\"s3:ListBucket\"],\n            \"resources\": [doc_object_storage_bucket.name.apply(lambda name: f\"arn:aws:s3:::{name}\")],\n            \"principal\": {\n                \"CW\": [\"*\"],\n            },\n            \"condition\": {\n                \"StringNotEquals\": {\n                    \"s3:prefix\": \"projects\",\n                },\n            },\n        },\n    ])\ndoc_object_storage_bucket_policy = coreweave.ObjectStorageBucketPolicy(\"doc\",\n    bucket=doc_object_storage_bucket.name,\n    policy=doc.json)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing CoreWeave = Pulumi.CoreWeave;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var raw = new CoreWeave.ObjectStorageBucket(\"raw\", new()\n    {\n        Name = \"bucket-policy-raw-example\",\n        Zone = \"US-EAST-04A\",\n    });\n\n    var bucketPolicy = \n    {\n        { \"version\", \"2012-10-17\" },\n        { \"statement\", new[]\n        {\n            \n            {\n                { \"sid\", \"allow-all\" },\n                { \"effect\", \"Allow\" },\n                { \"principal\", \n                {\n                    { \"CW\", \"*\" },\n                } },\n                { \"action\", new[]\n                {\n                    \"s3:*\",\n                } },\n                { \"resource\", new[]\n                {\n                    raw.Name.Apply(name =\u003e $\"arn:aws:s3:::{name}\"),\n                } },\n            },\n        } },\n    };\n\n    var rawObjectStorageBucketPolicy = new CoreWeave.ObjectStorageBucketPolicy(\"raw\", new()\n    {\n        Bucket = raw.Name,\n        Policy = Output.JsonSerialize(Output.Create(bucketPolicy)),\n    });\n\n    //# Example using the coreweave_object_storage_bucket_policy_document data source\n    var docObjectStorageBucket = new CoreWeave.ObjectStorageBucket(\"doc\", new()\n    {\n        Name = \"bucket-policy-doc-example\",\n        Zone = \"US-EAST-04A\",\n    });\n\n    var doc = CoreWeave.GetObjectStorageBucketPolicyDocument.Invoke(new()\n    {\n        Version = \"2012-10-17\",\n        Statements = new[]\n        {\n            new CoreWeave.Inputs.GetObjectStorageBucketPolicyDocumentStatementInputArgs\n            {\n                Sid = \"allow-all\",\n                Effect = \"Allow\",\n                Actions = new[]\n                {\n                    \"s3:*\",\n                },\n                Resources = new[]\n                {\n                    $\"arn:aws:s3:::{docObjectStorageBucket.Name}\",\n                },\n                Principal = \n                {\n                    { \"CW\", new[]\n                    {\n                        \"*\",\n                    } },\n                },\n            },\n            new CoreWeave.Inputs.GetObjectStorageBucketPolicyDocumentStatementInputArgs\n            {\n                Sid = \"DenyIfPrefixEquals\",\n                Effect = \"Deny\",\n                Actions = new[]\n                {\n                    \"s3:ListBucket\",\n                },\n                Resources = new[]\n                {\n                    $\"arn:aws:s3:::{docObjectStorageBucket.Name}\",\n                },\n                Principal = \n                {\n                    { \"CW\", new[]\n                    {\n                        \"*\",\n                    } },\n                },\n                Condition = \n                {\n                    { \"StringNotEquals\", \n                    {\n                        { \"s3:prefix\", \"projects\" },\n                    } },\n                },\n            },\n        },\n    });\n\n    var docObjectStorageBucketPolicy = new CoreWeave.ObjectStorageBucketPolicy(\"doc\", new()\n    {\n        Bucket = docObjectStorageBucket.Name,\n        Policy = doc.Apply(getObjectStorageBucketPolicyDocumentResult =\u003e getObjectStorageBucketPolicyDocumentResult.Json),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-coreweave/sdk/go/coreweave\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\traw, err := coreweave.NewObjectStorageBucket(ctx, \"raw\", \u0026coreweave.ObjectStorageBucketArgs{\n\t\t\tName: pulumi.String(\"bucket-policy-raw-example\"),\n\t\t\tZone: pulumi.String(\"US-EAST-04A\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tbucketPolicy := map[string]interface{}{\n\t\t\t\"version\": \"2012-10-17\",\n\t\t\t\"statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"sid\":    \"allow-all\",\n\t\t\t\t\t\"effect\": \"Allow\",\n\t\t\t\t\t\"principal\": map[string]interface{}{\n\t\t\t\t\t\t\"CW\": \"*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"action\": []string{\n\t\t\t\t\t\t\"s3:*\",\n\t\t\t\t\t},\n\t\t\t\t\t\"resource\": pulumi.StringArray{\n\t\t\t\t\t\traw.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"arn:aws:s3:::%v\", name), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(bucketPolicy)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = coreweave.NewObjectStorageBucketPolicy(ctx, \"raw\", \u0026coreweave.ObjectStorageBucketPolicyArgs{\n\t\t\tBucket: raw.Name,\n\t\t\tPolicy: json0,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// # Example using the coreweave_object_storage_bucket_policy_document data source\n\t\tdocObjectStorageBucket, err := coreweave.NewObjectStorageBucket(ctx, \"doc\", \u0026coreweave.ObjectStorageBucketArgs{\n\t\t\tName: pulumi.String(\"bucket-policy-doc-example\"),\n\t\t\tZone: pulumi.String(\"US-EAST-04A\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdoc := coreweave.GetObjectStorageBucketPolicyDocumentOutput(ctx, coreweave.GetObjectStorageBucketPolicyDocumentOutputArgs{\n\t\t\tVersion: pulumi.String(\"2012-10-17\"),\n\t\t\tStatements: coreweave.GetObjectStorageBucketPolicyDocumentStatementArray{\n\t\t\t\t\u0026coreweave.GetObjectStorageBucketPolicyDocumentStatementArgs{\n\t\t\t\t\tSid:    pulumi.String(\"allow-all\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tdocObjectStorageBucket.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"arn:aws:s3:::%v\", name), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipal: pulumi.StringArrayMap{\n\t\t\t\t\t\t\"CW\": pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026coreweave.GetObjectStorageBucketPolicyDocumentStatementArgs{\n\t\t\t\t\tSid:    pulumi.String(\"DenyIfPrefixEquals\"),\n\t\t\t\t\tEffect: pulumi.String(\"Deny\"),\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:ListBucket\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tdocObjectStorageBucket.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\t\t\t\treturn fmt.Sprintf(\"arn:aws:s3:::%v\", name), nil\n\t\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipal: pulumi.StringArrayMap{\n\t\t\t\t\t\t\"CW\": pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tCondition: pulumi.StringMapMap{\n\t\t\t\t\t\t\"StringNotEquals\": pulumi.StringMap{\n\t\t\t\t\t\t\t\"s3:prefix\": pulumi.String(\"projects\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\t_, err = coreweave.NewObjectStorageBucketPolicy(ctx, \"doc\", \u0026coreweave.ObjectStorageBucketPolicyArgs{\n\t\t\tBucket: docObjectStorageBucket.Name,\n\t\t\tPolicy: pulumi.String(doc.ApplyT(func(doc coreweave.GetObjectStorageBucketPolicyDocumentResult) (*string, error) {\n\t\t\t\treturn \u0026doc.Json, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.coreweave.ObjectStorageBucket;\nimport com.pulumi.coreweave.ObjectStorageBucketArgs;\nimport com.pulumi.coreweave.ObjectStorageBucketPolicy;\nimport com.pulumi.coreweave.ObjectStorageBucketPolicyArgs;\nimport com.pulumi.coreweave.CoreweaveFunctions;\nimport com.pulumi.coreweave.inputs.GetObjectStorageBucketPolicyDocumentArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var raw = new ObjectStorageBucket(\"raw\", ObjectStorageBucketArgs.builder()\n            .name(\"bucket-policy-raw-example\")\n            .zone(\"US-EAST-04A\")\n            .build());\n\n        final var bucketPolicy = Map.ofEntries(\n            Map.entry(\"version\", \"2012-10-17\"),\n            Map.entry(\"statement\", Map.ofEntries(\n                Map.entry(\"sid\", \"allow-all\"),\n                Map.entry(\"effect\", \"Allow\"),\n                Map.entry(\"principal\", Map.of(\"CW\", \"*\")),\n                Map.entry(\"action\", \"s3:*\"),\n                Map.entry(\"resource\", raw.name().applyValue(_name -\u003e String.format(\"arn:aws:s3:::%s\", _name)))\n            ))\n        );\n\n        var rawObjectStorageBucketPolicy = new ObjectStorageBucketPolicy(\"rawObjectStorageBucketPolicy\", ObjectStorageBucketPolicyArgs.builder()\n            .bucket(raw.name())\n            .policy(serializeJson(\n                bucketPolicy))\n            .build());\n\n        //# Example using the coreweave_object_storage_bucket_policy_document data source\n        var docObjectStorageBucket = new ObjectStorageBucket(\"docObjectStorageBucket\", ObjectStorageBucketArgs.builder()\n            .name(\"bucket-policy-doc-example\")\n            .zone(\"US-EAST-04A\")\n            .build());\n\n        final var doc = CoreweaveFunctions.getObjectStorageBucketPolicyDocument(GetObjectStorageBucketPolicyDocumentArgs.builder()\n            .version(\"2012-10-17\")\n            .statements(            \n                GetObjectStorageBucketPolicyDocumentStatementArgs.builder()\n                    .sid(\"allow-all\")\n                    .effect(\"Allow\")\n                    .actions(\"s3:*\")\n                    .resources(docObjectStorageBucket.name().applyValue(_name -\u003e String.format(\"arn:aws:s3:::%s\", _name)))\n                    .principal(Map.of(\"CW\", \"*\"))\n                    .build(),\n                GetObjectStorageBucketPolicyDocumentStatementArgs.builder()\n                    .sid(\"DenyIfPrefixEquals\")\n                    .effect(\"Deny\")\n                    .actions(\"s3:ListBucket\")\n                    .resources(docObjectStorageBucket.name().applyValue(_name -\u003e String.format(\"arn:aws:s3:::%s\", _name)))\n                    .principal(Map.of(\"CW\", \"*\"))\n                    .condition(Map.of(\"StringNotEquals\", Map.of(\"s3:prefix\", \"projects\")))\n                    .build())\n            .build());\n\n        var docObjectStorageBucketPolicy = new ObjectStorageBucketPolicy(\"docObjectStorageBucketPolicy\", ObjectStorageBucketPolicyArgs.builder()\n            .bucket(docObjectStorageBucket.name())\n            .policy(doc.applyValue(_doc -\u003e _doc.json()))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  raw:\n    type: coreweave:ObjectStorageBucket\n    properties:\n      name: bucket-policy-raw-example\n      zone: US-EAST-04A\n  rawObjectStorageBucketPolicy:\n    type: coreweave:ObjectStorageBucketPolicy\n    name: raw\n    properties:\n      bucket: ${raw.name}\n      policy:\n        fn::toJSON: ${bucketPolicy}\n  ## Example using the coreweave_object_storage_bucket_policy_document data source\n  docObjectStorageBucket:\n    type: coreweave:ObjectStorageBucket\n    name: doc\n    properties:\n      name: bucket-policy-doc-example\n      zone: US-EAST-04A\n  docObjectStorageBucketPolicy:\n    type: coreweave:ObjectStorageBucketPolicy\n    name: doc\n    properties:\n      bucket: ${docObjectStorageBucket.name}\n      policy: ${doc.json}\nvariables:\n  bucketPolicy:\n    version: 2012-10-17\n    statement:\n      - sid: allow-all\n        effect: Allow\n        principal:\n          CW: '*'\n        action:\n          - s3:*\n        resource:\n          - arn:aws:s3:::${raw.name}\n  doc:\n    fn::invoke:\n      function: coreweave:getObjectStorageBucketPolicyDocument\n      arguments:\n        version: 2012-10-17\n        statements:\n          - sid: allow-all\n            effect: Allow\n            actions:\n              - s3:*\n            resources:\n              - arn:aws:s3:::${docObjectStorageBucket.name}\n            principal:\n              CW:\n                - '*'\n          - sid: DenyIfPrefixEquals\n            effect: Deny\n            actions:\n              - s3:ListBucket\n            resources:\n              - arn:aws:s3:::${docObjectStorageBucket.name}\n            principal:\n              CW:\n                - '*'\n            condition:\n              StringNotEquals:\n                s3:prefix: projects\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import coreweave:index/objectStorageBucketPolicy:ObjectStorageBucketPolicy default {{bucket_name}}\n```\n\n",
            "properties": {
                "bucket": {
                    "type": "string",
                    "description": "The name of the bucket for which to apply this policy.\n"
                },
                "policy": {
                    "type": "string",
                    "description": "Text of the policy. Must be valid JSON. The coreweave*object*storage*bucket*policy_document data source may be used, simply reference the `.json` attribute of the data source.\n"
                }
            },
            "required": [
                "bucket",
                "policy"
            ],
            "inputProperties": {
                "bucket": {
                    "type": "string",
                    "description": "The name of the bucket for which to apply this policy.\n"
                },
                "policy": {
                    "type": "string",
                    "description": "Text of the policy. Must be valid JSON. The coreweave*object*storage*bucket*policy_document data source may be used, simply reference the `.json` attribute of the data source.\n"
                }
            },
            "requiredInputs": [
                "bucket",
                "policy"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ObjectStorageBucketPolicy resources.\n",
                "properties": {
                    "bucket": {
                        "type": "string",
                        "description": "The name of the bucket for which to apply this policy.\n"
                    },
                    "policy": {
                        "type": "string",
                        "description": "Text of the policy. Must be valid JSON. The coreweave*object*storage*bucket*policy_document data source may be used, simply reference the `.json` attribute of the data source.\n"
                    }
                },
                "type": "object"
            }
        },
        "coreweave:index/objectStorageBucketSettings:ObjectStorageBucketSettings": {
            "description": "Manages settings for an Object Storage Bucket.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as coreweave from \"@pulumi/coreweave\";\n\nconst _default = new coreweave.ObjectStorageBucket(\"default\", {\n    name: \"my-bucket-with-settings\",\n    zone: \"US-EAST-04A\",\n});\nconst defaultObjectStorageBucketSettings = new coreweave.ObjectStorageBucketSettings(\"default\", {\n    bucket: _default.name,\n    auditLoggingEnabled: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_coreweave as coreweave\n\ndefault = coreweave.ObjectStorageBucket(\"default\",\n    name=\"my-bucket-with-settings\",\n    zone=\"US-EAST-04A\")\ndefault_object_storage_bucket_settings = coreweave.ObjectStorageBucketSettings(\"default\",\n    bucket=default.name,\n    audit_logging_enabled=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CoreWeave = Pulumi.CoreWeave;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = new CoreWeave.ObjectStorageBucket(\"default\", new()\n    {\n        Name = \"my-bucket-with-settings\",\n        Zone = \"US-EAST-04A\",\n    });\n\n    var defaultObjectStorageBucketSettings = new CoreWeave.ObjectStorageBucketSettings(\"default\", new()\n    {\n        Bucket = @default.Name,\n        AuditLoggingEnabled = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-coreweave/sdk/go/coreweave\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := coreweave.NewObjectStorageBucket(ctx, \"default\", \u0026coreweave.ObjectStorageBucketArgs{\n\t\t\tName: pulumi.String(\"my-bucket-with-settings\"),\n\t\t\tZone: pulumi.String(\"US-EAST-04A\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = coreweave.NewObjectStorageBucketSettings(ctx, \"default\", \u0026coreweave.ObjectStorageBucketSettingsArgs{\n\t\t\tBucket:              _default.Name,\n\t\t\tAuditLoggingEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.coreweave.ObjectStorageBucket;\nimport com.pulumi.coreweave.ObjectStorageBucketArgs;\nimport com.pulumi.coreweave.ObjectStorageBucketSettings;\nimport com.pulumi.coreweave.ObjectStorageBucketSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var default_ = new ObjectStorageBucket(\"default\", ObjectStorageBucketArgs.builder()\n            .name(\"my-bucket-with-settings\")\n            .zone(\"US-EAST-04A\")\n            .build());\n\n        var defaultObjectStorageBucketSettings = new ObjectStorageBucketSettings(\"defaultObjectStorageBucketSettings\", ObjectStorageBucketSettingsArgs.builder()\n            .bucket(default_.name())\n            .auditLoggingEnabled(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  default:\n    type: coreweave:ObjectStorageBucket\n    properties:\n      name: my-bucket-with-settings\n      zone: US-EAST-04A\n  defaultObjectStorageBucketSettings:\n    type: coreweave:ObjectStorageBucketSettings\n    name: default\n    properties:\n      bucket: ${default.name}\n      auditLoggingEnabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import coreweave:index/objectStorageBucketSettings:ObjectStorageBucketSettings default {{bucket_name}}\n```\n\n",
            "properties": {
                "auditLoggingEnabled": {
                    "type": "boolean",
                    "description": "Whether audit logging is enabled for the bucket. Note: please contact support to enable audit logging for your organization before enabling.\n"
                },
                "bucket": {
                    "type": "string",
                    "description": "The name of the bucket to manage settings for.\n"
                }
            },
            "required": [
                "auditLoggingEnabled",
                "bucket"
            ],
            "inputProperties": {
                "auditLoggingEnabled": {
                    "type": "boolean",
                    "description": "Whether audit logging is enabled for the bucket. Note: please contact support to enable audit logging for your organization before enabling.\n"
                },
                "bucket": {
                    "type": "string",
                    "description": "The name of the bucket to manage settings for.\n"
                }
            },
            "requiredInputs": [
                "bucket"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ObjectStorageBucketSettings resources.\n",
                "properties": {
                    "auditLoggingEnabled": {
                        "type": "boolean",
                        "description": "Whether audit logging is enabled for the bucket. Note: please contact support to enable audit logging for your organization before enabling.\n"
                    },
                    "bucket": {
                        "type": "string",
                        "description": "The name of the bucket to manage settings for.\n"
                    }
                },
                "type": "object"
            }
        },
        "coreweave:index/objectStorageBucketVersioning:ObjectStorageBucketVersioning": {
            "description": "Versioning protects your data by preserving all versions of objects and preventing permanent deletion. When objects are deleted, they are \"soft deleted\" with delete markers, allowing you to restore previous versions and recover data. After creating a versioned bucket with Terraform, [use \u003cspan pulumi-lang-nodejs=\"`rclone`\" pulumi-lang-dotnet=\"`Rclone`\" pulumi-lang-go=\"`rclone`\" pulumi-lang-python=\"`rclone`\" pulumi-lang-yaml=\"`rclone`\" pulumi-lang-java=\"`rclone`\"\u003e`rclone`\u003c/span\u003e to manage versioned objects and delete markers](https://docs.coreweave.com/products/storage/object-storage/buckets/rclone-versioned-buckets).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as coreweave from \"@pulumi/coreweave\";\n\nconst _default = new coreweave.ObjectStorageBucket(\"default\", {\n    name: \"bucket-versioning-example\",\n    zone: \"US-EAST-04A\",\n});\nconst defaultObjectStorageBucketVersioning = new coreweave.ObjectStorageBucketVersioning(\"default\", {\n    bucket: _default.name,\n    versioningConfiguration: {\n        status: \"Enabled\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_coreweave as coreweave\n\ndefault = coreweave.ObjectStorageBucket(\"default\",\n    name=\"bucket-versioning-example\",\n    zone=\"US-EAST-04A\")\ndefault_object_storage_bucket_versioning = coreweave.ObjectStorageBucketVersioning(\"default\",\n    bucket=default.name,\n    versioning_configuration={\n        \"status\": \"Enabled\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CoreWeave = Pulumi.CoreWeave;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = new CoreWeave.ObjectStorageBucket(\"default\", new()\n    {\n        Name = \"bucket-versioning-example\",\n        Zone = \"US-EAST-04A\",\n    });\n\n    var defaultObjectStorageBucketVersioning = new CoreWeave.ObjectStorageBucketVersioning(\"default\", new()\n    {\n        Bucket = @default.Name,\n        VersioningConfiguration = new CoreWeave.Inputs.ObjectStorageBucketVersioningVersioningConfigurationArgs\n        {\n            Status = \"Enabled\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-coreweave/sdk/go/coreweave\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := coreweave.NewObjectStorageBucket(ctx, \"default\", \u0026coreweave.ObjectStorageBucketArgs{\n\t\t\tName: pulumi.String(\"bucket-versioning-example\"),\n\t\t\tZone: pulumi.String(\"US-EAST-04A\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = coreweave.NewObjectStorageBucketVersioning(ctx, \"default\", \u0026coreweave.ObjectStorageBucketVersioningArgs{\n\t\t\tBucket: _default.Name,\n\t\t\tVersioningConfiguration: \u0026coreweave.ObjectStorageBucketVersioningVersioningConfigurationArgs{\n\t\t\t\tStatus: pulumi.String(\"Enabled\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.coreweave.ObjectStorageBucket;\nimport com.pulumi.coreweave.ObjectStorageBucketArgs;\nimport com.pulumi.coreweave.ObjectStorageBucketVersioning;\nimport com.pulumi.coreweave.ObjectStorageBucketVersioningArgs;\nimport com.pulumi.coreweave.inputs.ObjectStorageBucketVersioningVersioningConfigurationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var default_ = new ObjectStorageBucket(\"default\", ObjectStorageBucketArgs.builder()\n            .name(\"bucket-versioning-example\")\n            .zone(\"US-EAST-04A\")\n            .build());\n\n        var defaultObjectStorageBucketVersioning = new ObjectStorageBucketVersioning(\"defaultObjectStorageBucketVersioning\", ObjectStorageBucketVersioningArgs.builder()\n            .bucket(default_.name())\n            .versioningConfiguration(ObjectStorageBucketVersioningVersioningConfigurationArgs.builder()\n                .status(\"Enabled\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  default:\n    type: coreweave:ObjectStorageBucket\n    properties:\n      name: bucket-versioning-example\n      zone: US-EAST-04A\n  defaultObjectStorageBucketVersioning:\n    type: coreweave:ObjectStorageBucketVersioning\n    name: default\n    properties:\n      bucket: ${default.name}\n      versioningConfiguration:\n        status: Enabled\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import coreweave:index/objectStorageBucketVersioning:ObjectStorageBucketVersioning default {{bucket_name}}\n```\n\n",
            "properties": {
                "bucket": {
                    "type": "string",
                    "description": "The bucket on which to enable or suspend versioning.\n"
                },
                "versioningConfiguration": {
                    "$ref": "#/types/coreweave:index/ObjectStorageBucketVersioningVersioningConfiguration:ObjectStorageBucketVersioningVersioningConfiguration"
                }
            },
            "required": [
                "bucket"
            ],
            "inputProperties": {
                "bucket": {
                    "type": "string",
                    "description": "The bucket on which to enable or suspend versioning.\n"
                },
                "versioningConfiguration": {
                    "$ref": "#/types/coreweave:index/ObjectStorageBucketVersioningVersioningConfiguration:ObjectStorageBucketVersioningVersioningConfiguration"
                }
            },
            "requiredInputs": [
                "bucket"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ObjectStorageBucketVersioning resources.\n",
                "properties": {
                    "bucket": {
                        "type": "string",
                        "description": "The bucket on which to enable or suspend versioning.\n"
                    },
                    "versioningConfiguration": {
                        "$ref": "#/types/coreweave:index/ObjectStorageBucketVersioningVersioningConfiguration:ObjectStorageBucketVersioningVersioningConfiguration"
                    }
                },
                "type": "object"
            }
        },
        "coreweave:index/objectStorageOrganizationAccessPolicy:ObjectStorageOrganizationAccessPolicy": {
            "description": "[Organization access policies](https://docs.coreweave.com/products/storage/object-storage/auth-access/organization-policies/about) enforce permissions for AI Object Storage across your entire CoreWeave organization, automatically covering every resource, bucket, and user in your account. At least one organization access policy must be in place before you can create a bucket.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as coreweave from \"@pulumi/coreweave\";\n\nconst test = new coreweave.ObjectStorageOrganizationAccessPolicy(\"test\", {\n    name: \"full-s3-api-access\",\n    statements: [{\n        name: \"allow-full-s3-api-access-to-all\",\n        effect: \"Allow\",\n        resources: [\"*\"],\n        principals: [\"*\"],\n        actions: [\n            \"s3:*\",\n            \"cwobject:*\",\n        ],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_coreweave as coreweave\n\ntest = coreweave.ObjectStorageOrganizationAccessPolicy(\"test\",\n    name=\"full-s3-api-access\",\n    statements=[{\n        \"name\": \"allow-full-s3-api-access-to-all\",\n        \"effect\": \"Allow\",\n        \"resources\": [\"*\"],\n        \"principals\": [\"*\"],\n        \"actions\": [\n            \"s3:*\",\n            \"cwobject:*\",\n        ],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CoreWeave = Pulumi.CoreWeave;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new CoreWeave.ObjectStorageOrganizationAccessPolicy(\"test\", new()\n    {\n        Name = \"full-s3-api-access\",\n        Statements = new[]\n        {\n            new CoreWeave.Inputs.ObjectStorageOrganizationAccessPolicyStatementArgs\n            {\n                Name = \"allow-full-s3-api-access-to-all\",\n                Effect = \"Allow\",\n                Resources = new[]\n                {\n                    \"*\",\n                },\n                Principals = new[]\n                {\n                    \"*\",\n                },\n                Actions = new[]\n                {\n                    \"s3:*\",\n                    \"cwobject:*\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-coreweave/sdk/go/coreweave\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := coreweave.NewObjectStorageOrganizationAccessPolicy(ctx, \"test\", \u0026coreweave.ObjectStorageOrganizationAccessPolicyArgs{\n\t\t\tName: pulumi.String(\"full-s3-api-access\"),\n\t\t\tStatements: coreweave.ObjectStorageOrganizationAccessPolicyStatementArray{\n\t\t\t\t\u0026coreweave.ObjectStorageOrganizationAccessPolicyStatementArgs{\n\t\t\t\t\tName:   pulumi.String(\"allow-full-s3-api-access-to-all\"),\n\t\t\t\t\tEffect: pulumi.String(\"Allow\"),\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipals: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"s3:*\"),\n\t\t\t\t\t\tpulumi.String(\"cwobject:*\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.coreweave.ObjectStorageOrganizationAccessPolicy;\nimport com.pulumi.coreweave.ObjectStorageOrganizationAccessPolicyArgs;\nimport com.pulumi.coreweave.inputs.ObjectStorageOrganizationAccessPolicyStatementArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new ObjectStorageOrganizationAccessPolicy(\"test\", ObjectStorageOrganizationAccessPolicyArgs.builder()\n            .name(\"full-s3-api-access\")\n            .statements(ObjectStorageOrganizationAccessPolicyStatementArgs.builder()\n                .name(\"allow-full-s3-api-access-to-all\")\n                .effect(\"Allow\")\n                .resources(\"*\")\n                .principals(\"*\")\n                .actions(                \n                    \"s3:*\",\n                    \"cwobject:*\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: coreweave:ObjectStorageOrganizationAccessPolicy\n    properties:\n      name: full-s3-api-access\n      statements:\n        - name: allow-full-s3-api-access-to-all\n          effect: Allow\n          resources:\n            - '*'\n          principals:\n            - '*'\n          actions:\n            - s3:*\n            - cwobject:*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import coreweave:index/objectStorageOrganizationAccessPolicy:ObjectStorageOrganizationAccessPolicy default {{name}}\n```\n\n",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "The name of the organization access policy, must be unique.\n"
                },
                "statements": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/coreweave:index/ObjectStorageOrganizationAccessPolicyStatement:ObjectStorageOrganizationAccessPolicyStatement"
                    },
                    "description": "The list of access policy statements associated with this policy. At least one statement is required.\n"
                }
            },
            "required": [
                "name",
                "statements"
            ],
            "inputProperties": {
                "name": {
                    "type": "string",
                    "description": "The name of the organization access policy, must be unique.\n"
                },
                "statements": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/coreweave:index/ObjectStorageOrganizationAccessPolicyStatement:ObjectStorageOrganizationAccessPolicyStatement"
                    },
                    "description": "The list of access policy statements associated with this policy. At least one statement is required.\n"
                }
            },
            "requiredInputs": [
                "statements"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ObjectStorageOrganizationAccessPolicy resources.\n",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "The name of the organization access policy, must be unique.\n"
                    },
                    "statements": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/coreweave:index/ObjectStorageOrganizationAccessPolicyStatement:ObjectStorageOrganizationAccessPolicyStatement"
                        },
                        "description": "The list of access policy statements associated with this policy. At least one statement is required.\n"
                    }
                },
                "type": "object"
            }
        }
    },
    "functions": {
        "coreweave:index/getCksCluster:getCksCluster": {
            "description": "Query information about an existing CoreWeave Kubernetes Service (CKS) cluster by ID. See the [CKS API reference](https://docs.coreweave.com/products/cks/reference/cks-api).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as coreweave from \"@pulumi/coreweave\";\n\nconst _default = coreweave.getCksCluster({\n    id: \"1063bce6-6e5b-4b0a-b73a-7e6106b2a77c\",\n});\n```\n```python\nimport pulumi\nimport pulumi_coreweave as coreweave\n\ndefault = coreweave.get_cks_cluster(id=\"1063bce6-6e5b-4b0a-b73a-7e6106b2a77c\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CoreWeave = Pulumi.CoreWeave;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = CoreWeave.GetCksCluster.Invoke(new()\n    {\n        Id = \"1063bce6-6e5b-4b0a-b73a-7e6106b2a77c\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-coreweave/sdk/go/coreweave\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := coreweave.GetCksCluster(ctx, \u0026coreweave.LookupCksClusterArgs{\n\t\t\tId: \"1063bce6-6e5b-4b0a-b73a-7e6106b2a77c\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.coreweave.CoreweaveFunctions;\nimport com.pulumi.coreweave.inputs.GetCksClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var default = CoreweaveFunctions.getCksCluster(GetCksClusterArgs.builder()\n            .id(\"1063bce6-6e5b-4b0a-b73a-7e6106b2a77c\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  default:\n    fn::invoke:\n      function: coreweave:getCksCluster\n      arguments:\n        id: 1063bce6-6e5b-4b0a-b73a-7e6106b2a77c\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getCksCluster.\n",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "The ID of the cluster.\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getCksCluster.\n",
                "properties": {
                    "additionalServerSans": {
                        "description": "Additional Subject Alternative Names (SANs) included in the Kubernetes API server TLS certificate.\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "apiServerEndpoint": {
                        "description": "The API server endpoint of the cluster.\n",
                        "type": "string"
                    },
                    "auditPolicy": {
                        "description": "The audit policy of the cluster.\n",
                        "type": "string"
                    },
                    "authnWebhook": {
                        "$ref": "#/types/coreweave:index/getCksClusterAuthnWebhook:getCksClusterAuthnWebhook",
                        "description": "The authentication webhook configuration of the cluster.\n"
                    },
                    "authzWebhook": {
                        "$ref": "#/types/coreweave:index/getCksClusterAuthzWebhook:getCksClusterAuthzWebhook",
                        "description": "The authorization webhook configuration of the cluster.\n"
                    },
                    "id": {
                        "description": "The ID of the cluster.\n",
                        "type": "string"
                    },
                    "internalLbCidrNames": {
                        "description": "The internal load balancer CIDR names of the cluster.\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "internalLbCidrNamesV6s": {
                        "description": "The IPv6 internal load balancer CIDR names of the cluster.\n",
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "name": {
                        "description": "The name of the cluster.\n",
                        "type": "string"
                    },
                    "nodePortRange": {
                        "$ref": "#/types/coreweave:index/getCksClusterNodePortRange:getCksClusterNodePortRange",
                        "description": "The Kubernetes Service NodePort range.\n"
                    },
                    "oidc": {
                        "$ref": "#/types/coreweave:index/getCksClusterOidc:getCksClusterOidc",
                        "description": "The OIDC configuration of the cluster.\n"
                    },
                    "podCidrName": {
                        "description": "The pod CIDR name of the cluster.\n",
                        "type": "string"
                    },
                    "podCidrNameV6": {
                        "description": "The IPv6 pod CIDR name of the cluster.\n",
                        "type": "string"
                    },
                    "public": {
                        "description": "Whether the cluster is public.\n",
                        "type": "boolean"
                    },
                    "serviceAccountOidcIssuerUrl": {
                        "description": "The URL of the OIDC issuer for the cluster's service account tokens. This value corresponds to the `--service-account-issuer` flag on the kube-apiserver.\n",
                        "type": "string"
                    },
                    "serviceCidrName": {
                        "description": "The service CIDR name of the cluster.\n",
                        "type": "string"
                    },
                    "serviceCidrNameV6": {
                        "description": "The IPv6 service CIDR name of the cluster.\n",
                        "type": "string"
                    },
                    "sharedStorageClusterId": {
                        "description": "The \u003cspan pulumi-lang-nodejs=\"`clusterId`\" pulumi-lang-dotnet=\"`ClusterId`\" pulumi-lang-go=\"`clusterId`\" pulumi-lang-python=\"`cluster_id`\" pulumi-lang-yaml=\"`clusterId`\" pulumi-lang-java=\"`clusterId`\"\u003e`clusterId`\u003c/span\u003e of the cluster to share storage with. Must be enabled by CoreWeave suppport. Contact CoreWeave support if you are interested in this feature.\n",
                        "type": "string"
                    },
                    "status": {
                        "description": "The status of the cluster.\n",
                        "type": "string"
                    },
                    "version": {
                        "description": "The version of the cluster.\n",
                        "type": "string"
                    },
                    "vpcId": {
                        "description": "The VPC ID of the cluster.\n",
                        "type": "string"
                    },
                    "zone": {
                        "description": "The zone of the cluster.\n",
                        "type": "string"
                    }
                },
                "required": [
                    "additionalServerSans",
                    "apiServerEndpoint",
                    "auditPolicy",
                    "authnWebhook",
                    "authzWebhook",
                    "id",
                    "internalLbCidrNames",
                    "internalLbCidrNamesV6s",
                    "name",
                    "nodePortRange",
                    "oidc",
                    "podCidrName",
                    "podCidrNameV6",
                    "public",
                    "serviceAccountOidcIssuerUrl",
                    "serviceCidrName",
                    "serviceCidrNameV6",
                    "sharedStorageClusterId",
                    "status",
                    "version",
                    "vpcId",
                    "zone"
                ],
                "type": "object"
            }
        },
        "coreweave:index/getNetworkingVpc:getNetworkingVpc": {
            "description": "Query information about an existing VPC by ID. See the [CoreWeave VPC API reference](https://docs.coreweave.com/products/networking/vpc/vpc-api).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as coreweave from \"@pulumi/coreweave\";\n\nconst _default = coreweave.getNetworkingVpc({\n    id: \"1063bce6-6e5b-4b0a-b73a-7e6106b2a77c\",\n});\n```\n```python\nimport pulumi\nimport pulumi_coreweave as coreweave\n\ndefault = coreweave.get_networking_vpc(id=\"1063bce6-6e5b-4b0a-b73a-7e6106b2a77c\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CoreWeave = Pulumi.CoreWeave;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = CoreWeave.GetNetworkingVpc.Invoke(new()\n    {\n        Id = \"1063bce6-6e5b-4b0a-b73a-7e6106b2a77c\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-coreweave/sdk/go/coreweave\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := coreweave.GetNetworkingVpc(ctx, \u0026coreweave.LookupNetworkingVpcArgs{\n\t\t\tId: \"1063bce6-6e5b-4b0a-b73a-7e6106b2a77c\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.coreweave.CoreweaveFunctions;\nimport com.pulumi.coreweave.inputs.GetNetworkingVpcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var default = CoreweaveFunctions.getNetworkingVpc(GetNetworkingVpcArgs.builder()\n            .id(\"1063bce6-6e5b-4b0a-b73a-7e6106b2a77c\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  default:\n    fn::invoke:\n      function: coreweave:getNetworkingVpc\n      arguments:\n        id: 1063bce6-6e5b-4b0a-b73a-7e6106b2a77c\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getNetworkingVpc.\n",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "The ID of the VPC.\n"
                    }
                },
                "type": "object",
                "required": [
                    "id"
                ]
            },
            "outputs": {
                "description": "A collection of values returned by getNetworkingVpc.\n",
                "properties": {
                    "dhcp": {
                        "$ref": "#/types/coreweave:index/getNetworkingVpcDhcp:getNetworkingVpcDhcp",
                        "description": "Settings affecting DHCP behavior within the VPC.\n"
                    },
                    "egress": {
                        "$ref": "#/types/coreweave:index/getNetworkingVpcEgress:getNetworkingVpcEgress",
                        "description": "Settings affecting traffic leaving the VPC.\n"
                    },
                    "hostPrefix": {
                        "deprecationMessage": "Configure\u003cspan pulumi-lang-nodejs=\" hostPrefixes \" pulumi-lang-dotnet=\" HostPrefixes \" pulumi-lang-go=\" hostPrefixes \" pulumi-lang-python=\" host_prefixes \" pulumi-lang-yaml=\" hostPrefixes \" pulumi-lang-java=\" hostPrefixes \"\u003e hostPrefixes \u003c/span\u003einstead.",
                        "description": "An IPv4 CIDR range used to allocate host addresses when booting compute into a VPC.\n",
                        "type": "string"
                    },
                    "hostPrefixes": {
                        "description": "The IPv4 or IPv6 CIDR ranges used to allocate host addresses when booting compute into a VPC.\n",
                        "items": {
                            "$ref": "#/types/coreweave:index/getNetworkingVpcHostPrefix:getNetworkingVpcHostPrefix"
                        },
                        "type": "array"
                    },
                    "id": {
                        "description": "The ID of the VPC.\n",
                        "type": "string"
                    },
                    "ingress": {
                        "$ref": "#/types/coreweave:index/getNetworkingVpcIngress:getNetworkingVpcIngress",
                        "description": "Settings affecting traffic entering the VPC.\n"
                    },
                    "name": {
                        "description": "The name of the VPC.\n",
                        "type": "string"
                    },
                    "vpcPrefixes": {
                        "description": "A list of additional named IPv4 prefixes for the VPC.\n",
                        "items": {
                            "$ref": "#/types/coreweave:index/getNetworkingVpcVpcPrefix:getNetworkingVpcVpcPrefix"
                        },
                        "type": "array"
                    },
                    "zone": {
                        "description": "The Availability Zone in which the VPC is located.\n",
                        "type": "string"
                    }
                },
                "required": [
                    "dhcp",
                    "egress",
                    "hostPrefix",
                    "hostPrefixes",
                    "id",
                    "ingress",
                    "name",
                    "vpcPrefixes",
                    "zone"
                ],
                "type": "object"
            }
        },
        "coreweave:index/getObjectStorageBucketPolicyDocument:getObjectStorageBucketPolicyDocument": {
            "description": "[Bucket access policies](https://docs.coreweave.com/products/storage/object-storage/auth-access/bucket-access/bucket-policies) allow you to define precise, S3-compatible access control for one bucket. They are evaluated after organization access policies. See [Manage Bucket Policies](https://docs.coreweave.com/products/storage/object-storage/auth-access/bucket-access/manage-bucket-policies#example-policies) for examples and further information. This data source provides a type-safe data structure for creating an S3-compatible JSON bucket policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as coreweave from \"@pulumi/coreweave\";\n\nconst _default = coreweave.getObjectStorageBucketPolicyDocument({\n    version: \"2012-10-17\",\n    statements: [{\n        sid: \"allow-all\",\n        effect: \"Allow\",\n        actions: [\"s3:*\"],\n        resources: [\"arn:aws:s3:::*\"],\n        principal: {\n            CW: [\"*\"],\n        },\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_coreweave as coreweave\n\ndefault = coreweave.get_object_storage_bucket_policy_document(version=\"2012-10-17\",\n    statements=[{\n        \"sid\": \"allow-all\",\n        \"effect\": \"Allow\",\n        \"actions\": [\"s3:*\"],\n        \"resources\": [\"arn:aws:s3:::*\"],\n        \"principal\": {\n            \"CW\": [\"*\"],\n        },\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing CoreWeave = Pulumi.CoreWeave;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = CoreWeave.GetObjectStorageBucketPolicyDocument.Invoke(new()\n    {\n        Version = \"2012-10-17\",\n        Statements = new[]\n        {\n            new CoreWeave.Inputs.GetObjectStorageBucketPolicyDocumentStatementInputArgs\n            {\n                Sid = \"allow-all\",\n                Effect = \"Allow\",\n                Actions = new[]\n                {\n                    \"s3:*\",\n                },\n                Resources = new[]\n                {\n                    \"arn:aws:s3:::*\",\n                },\n                Principal = \n                {\n                    { \"CW\", new[]\n                    {\n                        \"*\",\n                    } },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-coreweave/sdk/go/coreweave\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := coreweave.GetObjectStorageBucketPolicyDocument(ctx, \u0026coreweave.GetObjectStorageBucketPolicyDocumentArgs{\n\t\t\tVersion: pulumi.StringRef(\"2012-10-17\"),\n\t\t\tStatements: []coreweave.GetObjectStorageBucketPolicyDocumentStatement{\n\t\t\t\t{\n\t\t\t\t\tSid:    pulumi.StringRef(\"allow-all\"),\n\t\t\t\t\tEffect: pulumi.StringRef(\"Allow\"),\n\t\t\t\t\tActions: []string{\n\t\t\t\t\t\t\"s3:*\",\n\t\t\t\t\t},\n\t\t\t\t\tResources: []string{\n\t\t\t\t\t\t\"arn:aws:s3:::*\",\n\t\t\t\t\t},\n\t\t\t\t\tPrincipal: {\n\t\t\t\t\t\t\"CW\": []string{\n\t\t\t\t\t\t\t\"*\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.coreweave.CoreweaveFunctions;\nimport com.pulumi.coreweave.inputs.GetObjectStorageBucketPolicyDocumentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var default = CoreweaveFunctions.getObjectStorageBucketPolicyDocument(GetObjectStorageBucketPolicyDocumentArgs.builder()\n            .version(\"2012-10-17\")\n            .statements(GetObjectStorageBucketPolicyDocumentStatementArgs.builder()\n                .sid(\"allow-all\")\n                .effect(\"Allow\")\n                .actions(\"s3:*\")\n                .resources(\"arn:aws:s3:::*\")\n                .principal(Map.of(\"CW\", \"*\"))\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  default:\n    fn::invoke:\n      function: coreweave:getObjectStorageBucketPolicyDocument\n      arguments:\n        version: 2012-10-17\n        statements:\n          - sid: allow-all\n            effect: Allow\n            actions:\n              - s3:*\n            resources:\n              - arn:aws:s3:::*\n            principal:\n              CW:\n                - '*'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "inputs": {
                "description": "A collection of arguments for invoking getObjectStorageBucketPolicyDocument.\n",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "An optional policy identifier\n"
                    },
                    "statements": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/coreweave:index/getObjectStorageBucketPolicyDocumentStatement:getObjectStorageBucketPolicyDocumentStatement"
                        },
                        "description": "The main policy element that defines the access rules for buckets and objects. Multiple statement blocks can be specified.\n"
                    },
                    "version": {
                        "type": "string",
                        "description": "The policy version, e.g. `\"2012-10-17\"`\n"
                    }
                },
                "type": "object"
            },
            "outputs": {
                "description": "A collection of values returned by getObjectStorageBucketPolicyDocument.\n",
                "properties": {
                    "id": {
                        "description": "An optional policy identifier\n",
                        "type": "string"
                    },
                    "json": {
                        "description": "The rendered policy document as JSON\n",
                        "type": "string"
                    },
                    "statements": {
                        "description": "The main policy element that defines the access rules for buckets and objects. Multiple statement blocks can be specified.\n",
                        "items": {
                            "$ref": "#/types/coreweave:index/getObjectStorageBucketPolicyDocumentStatement:getObjectStorageBucketPolicyDocumentStatement"
                        },
                        "type": "array"
                    },
                    "version": {
                        "description": "The policy version, e.g. `\"2012-10-17\"`\n",
                        "type": "string"
                    }
                },
                "required": [
                    "json"
                ],
                "type": "object"
            }
        },
        "pulumi:providers:coreweave/terraformConfig": {
            "description": "This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.",
            "inputs": {
                "properties": {
                    "__self__": {
                        "type": "ref",
                        "$ref": "#/provider"
                    }
                },
                "type": "pulumi:providers:coreweave/terraformConfig",
                "required": [
                    "__self__"
                ]
            },
            "outputs": {
                "properties": {
                    "result": {
                        "additionalProperties": {
                            "$ref": "pulumi.json#/Any"
                        },
                        "type": "object"
                    }
                },
                "required": [
                    "result"
                ],
                "type": "object"
            }
        }
    }
}